Bug#814490: os-prober: 50lilo fails to parse append= in lilo.conf, elading to corrupted grub.cfg
Package: os-prober
Version: 1.65
Severity: normal
Dear Maintainer,
update-grub on my system fails to generate a valid grub.cfg. the culprit is
/usr/lib/linux-boot-probes/mounted/50lilo, which fails to parse my lilo.conf file, generating entries such as:
::4.3.3:/boot/vmlinuz-4.3.3-040303-generic:/boot/initrd.img-4.3.3-040303-generic:ro vga = 0 append = "root=/dev/vg_cerebro/root rootfstype=ext4 rootdelay=5 relatime elevator=cfq transparent_hugepage=always kernelcore=6G ip=10.0.0.1::10.0.0.5:255.255.255.240:cerebro-preboot:eth0:off pcie_aspm=force 3w-9xxx.use_msi=0 zswap.enabled=1 zswap.compressor=lz4 syscall.x32=y modprobe.blacklist=nouveau,nvidiafb
the problem here is the
append = "...
which lacks a trailing ", causing grub to barf eventually.
disabling this script with an exit 0 at the top makes update-grub run through.
I debugged a bit, and found that at some point, dequoute is called with a
full line from the lilo.conf. Specifically, my lilo.conf contains this line:
append = "root=/dev/vg_cerebro/root rootfstype=ext4 rootdelay=5 relatime elevator=cfq transparent_hugepage=always kernelcore=6G ip=10.0.0.1::10.0.0.5:255.255.255.240:cerebro-preboot:eth0:off pcie_aspm=force 3w-9xxx.use_msi=0 zswap.enabled=1 zswap.compressor=lz4 syscall.x32=y modprobe.blacklist=nouveau,nvidiafb"
which is passed to the dequote function, which removes the trailing " and
nothing else, ultimately leading to the failure as this ends up directly
in grub.cfg.
I have not investigated further.
Greetings,
Marc
-- System Information:
Debian Release: 8.3
APT prefers stable
APT policy: (990, 'stable'), (500, 'unstable'), (500, 'testing'), (500, 'oldstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.1.13-040113-generic (SMP w/12 CPU cores)
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)
Versions of packages os-prober depends on:
ii libc6 2.21-7
os-prober recommends no packages.
os-prober suggests no packages.
-- no debconf information
-- debsums errors found:
debsums: changed file /usr/lib/linux-boot-probes/mounted/50lilo (from os-prober package)
Reply to: