[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#678421: lilo-installer: generate borken lilo.conf - missing initrd= param



Hi,

On Thu, Jun 21, 2012 at 07:02:59PM +0400, Andrey Melnikov wrote:
> In generated config after fresh install - missing initrd= line for kernel
> image. consider use liloconfig form lilo package - it generate proper
> config.
> 
> PS: Add in template lba32 by default to avoid lilo warnings on each run.

This bug is easy to reproduce. Just run the installer and install lilo instead
of grub. The system will not boot.

The problem is caused by this part of the lilo-installer postinst:

if [ -e "/target${BOOT}/initrd.img" ]; then
    INITRD="    initrd=${BOOT}/initrd.img"
    OLD_INITRD="${INITRD}.old"
fi


When this runs in the installer, both /target/initrd.img and /target/vmlinuz
exist and are symlinks to the kernel and initrd:

lrwxrwxrwx 1 root root 32 Aug 25 14:02 initrd.img -> /boot/initrd.img-3.2.0-3-686-pae
lrwxrwxrwx 1 root root 28 Aug 25 14:02 vmlinuz -> boot/vmlinuz-3.2.0-3-686-pae


The vmlinuz link is a relative link, so it works in the installed system, but
also in the installer (mounted on /target).

The initrd.img link is an absolute link. This works in the installed system,
but in the installer, the symlink is broken. The test
[ -e "/target${BOOT}/initrd.img" ]
which expands to (in my test, /boot was not separate)
[ -e "/target/initrd.img" ]
fails, because /target/initrd.img is a broken symlink.

If the symlink would be relative, this problem should be solved. An
alternative is to change te check from -e to -L (or check for both).


Cheers,

Ivo


Reply to: