Grub2 does not understand lilo.conf on Salix
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
os-prober (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Grub2 does not understand lilo.conf on Salix.
Bug
I got error message when I tried to update-grub on Ubuntu 14.04 with os-prober;
========
error: out of memory
error: syntax error
error: Incorrect command
Syntax error in line 274
========
Line 274 is located at the last line of grub.cfg.new, which I did not understand why out of memory.
However, I found a syntax error on the line for 30_os-prober section, where a double quotation was disappeared at the kernel option for Salix.
========
menuentry 'Slackware Linux (Slackware 14.1) (on /dev/sda2)' --class gnu-linux --class gnu --class os $menuentry_
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_
search --no-floppy --fs-uuid --set=root --hint-
else
search --no-floppy --fs-uuid --set=root 06ea6304-
fi
linux /boot/vmlinuz-
}
submenu 'Advanced options for Slackware Linux (Slackware 14.1) (on /dev/sda2)' $menuentry_
menuentry 'Salix_Mate_14.1 (on /dev/sda2)' --class gnu-linux --class gnu --class os $menuentry_
insmod part_msdos
insmod ext2
set root='hd0,msdos2'
if [ x$feature_
search --no-floppy --fs-uuid --set=root --hint-
else
search --no-floppy --fs-uuid --set=root 06ea6304-
fi
linux /boot/vmlinuz-
}
}
========
I had a Salix on the sda2 partition and os-prober did not succeed to get the correct variables from Salix boot directory.
This was confirmed because linux-boot-prober /dev/sda2 showed the same result:
========
/dev/sda2:
========
Workaround
I configured LILO on Salix partition by editing lilo.conf to uncomment append = "vt.default_
========
# append = "vt.default_utf8=1"
========
Then grub2 works well without error message and updates grub.cfg with correct variables of kernel option for Salix.
========
linux /boot/vmlinuz-
========
Suggestions
I suggest the relevant scripts in 30_os-prober should be edited to recognize correctly double quotation even if this is found on other boot directory.
========
LPARAMS="`echo ${LINUX} | cut -d ':' -f 6- | tr '^' ' '`" #This original, not edited yet, though.
========
description: | updated |
description: | updated |