8.4. Making the LFS System Bootable

Wolfgang Messingschlager w.mess at freenet.de
Tue Oct 28 14:53:12 PDT 2008


Wolfgang Messingschlager wrote:
> Hi all,
> 
> 
> before I overwrite my MBR I want to test the new generated kernel on the
> my Debian host system (which uses grub as well).
> The Debian host system has the following EXT3 partitions:
> 
> - /dev/hdb20: /
> - /dev/hdb23: /boot
> - /dev/hdb14: /mnt/lfs
> ...
> 
> The new LFS partition is on /dev/hdb14 and /boot is a subdirectory.
> 
> The part from /boot/grub/menu.lst where I boot the host system contains
> the lines
> ===========================================================================
> ...
> title           Debian GNU/Linux, kernel 2.6.18-6-486
> root            (hd0,22)
> kernel          /vmlinuz-2.6.18-6-486 root=/dev/hdb20 ro
> initrd          /initrd.img-2.6.18-6-486
> savedefault
> ...
> ===========================================================================
> 
> I downloaded from www.kernel.org the 2.6.26.1 kernel and I did
> 
> - make mrproper
> - make menuconfig
> - 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 did the following trials
> 
> 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)
> 
> 2.) So I assumed that I need a initrd file and did
> a)
> cd /boot
> mkinitrd -o /boot/initrd-2.6.26.1 2.6.26.1
> 
> b) I added the lines
> 
> title           LFS kernel 2.6.26.1
> root            (hd0,22)
> kernel          /vmlinuz-2.6.26.1 root=/dev/hdb20 ro
> initrd          /initrd-2.6.26
> savedefault
> 
> to /boot/grub/menu.lst. This enabled a successful boot.
> 
> 
> However when I in the LFS chroot-environment I have no mkinitrd. How can
> I get it?
> 
> Or is the problem that I have compiled the kernel with the following
> (EXT2 / EXT3) options:
> 
> egrep '(EXT2|EXT3)' config-2.6.26.1
> CONFIG_EXT2_FS=m
> 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
> 
> 
> Perhaps the problem is that EXT2 and EXT3 drivers should be in the 
> kernel and compiled as modules, isn't it?
> 
> Thanks in advance for your help
> 
> 
> Wolfgang Messingschlager
> 

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?


Thanks
Wolfgang Messingschlager



More information about the lfs-support mailing list