Fri 09 Oct 2009 06:50:35 AM UTC, original submission:
Grub2 strips quotes from kernel command line arguments:
My linux command line looks like:
linux /boot/vmlinuz-2.6.32-rc3 root=/dev/sda3 ro acpi_osi="!Windows 2006" nmi_watchdog=0 reboot=pci
but when booting the kernel I get the following message:
0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-2.6.32-rc3 root=/dev/sda3 ro acpi_osi=!Windows 2006 nmi_watchdog=0 reboot=pci
indicating that the quotes were stripped.
So I believed that maybe in this message but internally the arguments are right, but indeed, they are hosed. I added printk to the kernel params.c parsing routine and what do I get:
[ 0.000000] DDDD param=BOOT_IMAGE, val=.../boot/vmlinuz-2.6.32-rc3...
[ 0.000000] DDDD param=root, val=.../dev/sda3...
[ 0.000000] DDDD param=ro, val=...<NULL>...
[ 0.000000] DDDD param=acpi_osi, val=...!Windows...
[ 0.000000] DDDD param=2006, val=...<NULL>...
[ 0.000000] DDDD param=nmi_watchdog, val=...0...
[ 0.000000] DDDD param=reboot, val=...pci...
which clearly shows that grub is doing something completely wrong here.
The only way to fix that is to boot into grub, edit the command line and add change it to \" \", and then boot with Ctrl-x.
Changing the original boot.cfg cmd line to any variant of \"...\", or \\"...\\", etc etc does not work.
That is a serious regression against grub1 and lilo, both of them did it right!
Best
Norbert
|