Re: 2.6.11-rc4-mm1 (VFS: Cannot open root device "301")

Steven Cole
2005-02-24T16:03:36Z

Matt Mackall wrote:
> On Wed, Feb 23, 2005 at 03:10:38PM -0700, Steven Cole wrote:
>
>>Andrew Morton wrote:
>>
>>>Steven Cole <elenstev@mesatop.com> wrote:
>>
>>>>I am having trouble getting recent -mm kernels to boot on my test box.
>>>>For 2.6.11-rc3-mm2 and 2.6.11-rc4-mm1 I get the following:
>>>>
>>>>VFS: Cannot open root device "301" or unknown-block(3,1)
>>>>Please append a correct "root=" boot option
>>>>Kernel panic - not syncing: VFS: Unable to mount root fs on
>>>>unknown-block(3,1)
>>>>
>>
>>[snipped]
>>
>>>Please set CONFIG_BASE_FULL=y. Check that this causes CONFIG_BASE_SMALL=0,
>>>then retest.
>>
>>Yes, that worked. 2.6.11-rc4-mm1 now boots OK, but hdb1 seems to be
>>missing.
>
>
> Can you retry CONFIG_BASE_FULL=n with Andrew's patch?
>
> You may need to boot back into a sane kernel for LILO to operate properly.
>
> --- 25/drivers/ide/ide-probe.c~ide_init_disk-fix Wed Feb 23 16:24:44 2005
> +++ 25-akpm/drivers/ide/ide-probe.c Wed Feb 23 16:24:55 2005
> @@ -1269,7 +1269,7 @@ EXPORT_SYMBOL_GPL(ide_unregister_region)
> void ide_init_disk(struct gendisk *disk, ide_drive_t *drive)
> {
> ide_hwif_t *hwif = drive->hwif;
> - unsigned int unit = drive->select.all & (1 << 4);
> + unsigned int unit = (drive->select.all >> 4) & 1;
>
> disk->major = hwif->major;
> disk->first_minor = unit << PARTN_BITS;
>

Andrew's above patch fixes the hdb->hdq insanity, but I still need
CONFIG_BASE_FULL=y. I tried unsetting CONFIG_BASE_FULL, and again
got the "VFS: Cannot open root device" message (with akpm's patch).

Steven