8.4. Making the LFS System Bootable

Wolfgang Messingschlager w.mess at freenet.de
Fri Oct 31 10:39:46 PDT 2008


Wolfgang Messingschlager wrote:
> Ken Moffat wrote:
>> On Tue, Oct 28, 2008 at 10:53:12PM +0100, Wolfgang Messingschlager wrote:
>>> Wolfgang Messingschlager wrote:
>>>
>>> Hi all,
>>>
>>>
>>> I have meanwhile tried to build a kernel with EXT2 and EXT3 within the 
>>> kernel.
>>>
>>> # egrep '(EXT2|EXT3)' .config
>>> CONFIG_EXT2_FS=y
>>> CONFIG_EXT2_FS_XATTR=y
>>> CONFIG_EXT2_FS_POSIX_ACL=y
>>> CONFIG_EXT2_FS_SECURITY=y
>>> # CONFIG_EXT2_FS_XIP is not set
>>> CONFIG_EXT3_FS=m
>>               ^^^^^^
>>> CONFIG_EXT3_FS_XATTR=y
>>> CONFIG_EXT3_FS_POSIX_ACL=y
>>> CONFIG_EXT3_FS_SECURITY=y
>>>
>>> but without an initrd line in /boot/grub/menu.lst I get the well-known 
>>> kernel panic. What is important during kernel configuration, so that no 
>>> initrd file is needed?
>>>
>>  Sorry for not replying earlier, I got confused by your partition
>> numbers (I had thought they could not exceed 15 - my thought was
>> wrong), and missed your reference to modules.
>>
>>  As you say, for everyone not using an initrd, the filesystem for
>> '/' has to be compiled in.  You have now compiled in ext2, but a
>> recent distro will usually use ext3.
>>
>> ĸen
> 
> 
> Oops
> 
> 
> thanks for your quick reply. I will try to build another KERNEL with 
> CONFIG_EXT3_FS=y
> 
> 
> Thanks
> Wolfgang Messingschlager

Hi Ken,


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)

If I add the initrd file to /boot/grub/menu.lst the kernel is bootable.

I use only EXT2, EXT3 and swap partitions. And my .config file is 
configured with

egrep '(EXT2|EXT3)' .config
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y


What is necessary to do in order not to need a initrd generated with 
mkinitrd? Unfortunately mkinitrd is not available in the chroot environment.

Shall I attach my .config file?


Wolfgang




More information about the lfs-support mailing list