8.4. Making the LFS System Bootable

Wolfgang Messingschlager w.mess at freenet.de
Sat Nov 1 15:14:04 PDT 2008


Dan Nicholson wrote:
> On Fri, Oct 31, 2008 at 11:32 AM, Wolfgang Messingschlager
> <w.mess at freenet.de> wrote:
>> Dan Nicholson wrote:
>>> On Fri, Oct 31, 2008 at 10:39 AM, Wolfgang Messingschlager
>>> <w.mess at freenet.de> wrote:
>>>> meanwhile I did
>>>>
>>>> - make mrproper
>>>> - make menuconfig    (CONFIG_EXT3_FS=y)
>>>> - make
>>>> - make modules_install
>>>> - cp -v arch/i386/boot/bzImage /boot/vmlinuz-2.6.26.1
>>>> - cp -v .config /boot/config-2.6.26.1
>>>> - cp -v System.map /boot/System.map-2.6.26.1
>>>>
>>>>
>>>> I added the lines
>>>>
>>>> title           LFS kernel 2.6.26.1
>>>> root            (hd0,22)
>>>> kernel          /vmlinuz-2.6.26.1 root=/dev/hdb20 ro
>>>> savedefault
>>>>
>>>> to /boot/grub/menu.lst
>>>>
>>>> This caused the following errors during boot
>>>>
>>>> VFS: cannot open root device "hdb20" or unknown block (0,0)
>>>> Please append a correct "root=" boot option; here are the available
>>>> partitions:
>>>> Kernal panic - not syncing: VFS: Unable to mount rootfs on unknown -
>>>> block (0,0)
>>> The problem is that you need the block devices and controller built in
>>> as well as the file system. So, SCSI + libata (to use /dev/sd* nodes)
>>> or IDE (to use /dev/hd* nodes).
>>>
>>> For SCSI + libata:
>>> CONFIG_BLK_DEV_SD=y
>>> CONFIG_BLK_DEV_SG=y
>>> CONFIG_ATA=y
>>> CONFIG_[SP]ATA_$controller=y
>>>
>>> For IDE:
>>> CONFIG_IDE=y
>>> CONFIG_IDE_$controller=y
>>> CONFIG_BLK_DEV_IDE=y
>>> CONFIG_BLK_DEV_IDEDISK=y
>>>
>>> --
>>> Dan
>> Thanks Dan,
>>
>> for the quick reply. I have only a IDE disk.
>>
>> # egrep '(CONFIG_IDE|CONFIG_BLK_DEV_IDE)' .config
>> CONFIG_IDE=y
>> CONFIG_BLK_DEV_IDE=y
>> # CONFIG_BLK_DEV_IDE_SATA is not set
>> CONFIG_BLK_DEV_IDEDISK=y
>> # CONFIG_IDEDISK_MULTI_MODE is not set
>> CONFIG_BLK_DEV_IDECD=m
>> CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
>> CONFIG_BLK_DEV_IDETAPE=m
>> CONFIG_BLK_DEV_IDEFLOPPY=m
>> # CONFIG_BLK_DEV_IDESCSI is not set
>> CONFIG_BLK_DEV_IDEACPI=y
>> # CONFIG_IDE_TASK_IOCTL is not set
>> CONFIG_IDE_PROC_FS=y
>> # CONFIG_IDE_GENERIC is not set
>> CONFIG_BLK_DEV_IDEPNP=y
>> CONFIG_BLK_DEV_IDEDMA_SFF=y
>> CONFIG_BLK_DEV_IDEPCI=y
>> # CONFIG_IDEPCI_PCIBUS_ORDER is not set
>> CONFIG_BLK_DEV_IDEDMA_PCI=y
>> CONFIG_BLK_DEV_IDEDMA=y
> 
> That looks reasonable, although you may want CONFIG_IDE_GENERIC=y, too.
> 
>> I am not sure what you mean with
>>
>> CONFIG_IDE_$controller=y
> 
> It had been a while since I looked at the IDE driver. I thought there
> were specific backends for each controller (like Intel PIIX), but it
> appears there aren't. I think you can ignore this. Have you tried
> booting with the above configuration?
> 
> --
> Dan


Hi Dan,


thanks for your suggestion. "CONFIG_IDE_GENERIC=y" was the solution for 
the problem. Now I am able to boot without a initrd file.
So I can proceed to overwrite the MBR and to use the LFS kernel.


Wolfgang





More information about the lfs-support mailing list