Problem booting a kernel built in an older environemnt in the newer LFS LiveCDs 6.2-3 and 6.2-4 environments.

Piet Delaney piet at bluelane.com
Wed Jan 24 18:24:54 PST 2007


I'm having two unexpected problems with LFS LiveCDs 6.2-3 and 6.2-4
that don't occure on lfslivecd-x86-6.1.1-4.iso. I've got a workaround
for the second problem but haven't found a solution yet for the second;
see 2. below.

 1. The first is that I need to add a symbolic pointer from stage
    to stage2 in the ${DISK}/boot/ directory when running grub-install.
    The difference seems to be that the script is passing the wrong
    arg in grub to the install command. The '2' is missing from the
    the "(hd0,0)/boot/grub/stage2" argument; Ex:

        # grub-install --debug  --root-directory=/recovery /dev/sda
        + case "$host_os" in
        + bootdir=/recovery/boot
        + grubdir=/recovery/boot/grub
        + device_map=/recovery/boot/grub/device.map
        + set /usr/sbin/grub dummy
        .
        .
        .
        grub> root (hd0,0)
        Filesystem type is ext2fs, partition type 0x83
        grub> setup  --stage2=/recovery/boot/grub/stage2 
                     --prefix=/boot/grub (hd0)
        Checking if "/boot/grub/stage1" exists... yes
        Checking if "/boot/grub/stage2" exists... yes
        Checking if "/boot/grub/e2fs_stage1_5" exists... yes
        Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  15 sectors are
        embedded.
        succeeded
        Running "instal--stage2=/recovery/boot/grub/stage2 
                        /boot/grub/stage1
                        (hd0) (hd0)1+15 p 
                        (hd0,0)/boot/grub/stage /boot/grub/menu.lst"...
        succeeded                             ^
        Done.                                 |
        grub> quit                            +---- HERE



 2. The second, and more important problem, is that once one of my
    kernels is running that it can't open the root filesystem. Looks
    like it can't read the partition table or something. It's not 
    the kernel source being to old, as kernels more recent than the 
    2.6.16 kernel (2.6.18 for example) also fail to boot.

    I made a static version of our mke2fs ran it on the lfslivecd-x86-6.2.3
    and used it instead of the stock mke2fs and it didn't effect the
    problem. I ran a static dumpe2fs and checked the magic number.
    Seems the magic number hasn't changed.

    I recall when migrating from 2.4 to 2.6 there being some bin-utils or
    something that the kernel build process used to make the kerenl image.
    I suspect that I need to update that in my build environmennt. If that's
    it anyone know which package that is and where to get it from. I tried
    kernel.org wonder if it's util-linux-2.12r.

-piet





More information about the lfs-dev mailing list