Default kernel parameters missing on live CD

Bug #12977 reported by Matt Zimmerman
6
Affects Status Importance Assigned to Milestone
debian-cd (Ubuntu)
Fix Released
Critical
Colin Watson

Bug Description

Background:

The live CD used to use ramdisk_size=65536. In order to allow more memory to be
used for copy-on-write, we increased it to 1048576. Before doing this, I tested
it on my 256M laptop to ensure that it wouldn't have any negative effects. It
worked, so Colin adjusted the CD builds to use this parameter permanently.

The resulting daily builds were broken, even on the same test laptop. Confused,
I figured that some unrelated change had revealed a problem that hadn't occurred
in my environment. Booting with "live ramdisk_size=524288" fixed the problem in
my test environments, and was confirmed by others on the mailing lists, so Colin
made that change.

Again, the resulting builds fail to boot in the same way (VFS: cannot open root
device...). Here's the interesting bit:

Appending ramdisk_size=524288 ("live ramdisk_size=524288") allows it to boot,
even though the same value is being used in isolinux.cfg. So there would appear
to be some problem related to the handling of the boot parameters.

Colin, as a workaround, I suppose we should back out to ramdisk_size=65536,
while we figure this out (at which point the severity of this bug can be lowered)

Revision history for this message
Matt Zimmerman (mdz) wrote :

Found a clue:

"RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize"

so it appears to be using the default ramdisk size (CONFIG_BLK_DEV_RAM_SIZE),
ignoring the parameter.

Revision history for this message
Matt Zimmerman (mdz) wrote :

Created an attachment (id=1367)
Screenshot

In qemu, I was able to SIGSTOP it early enough to see the copy of the command
line dumped by the kernel. It reads:

Kernel command line: BOOT_IMAGE=/install/vmlinuz

rather than the expected, full command line. I believe isolinux appends
BOOT_IMAGE to the end, so it would seem that everything ahead of that has been
lost.

I can also work around the problem by just booting with "live foo"; it seems
that specifying any additional text to append is enough to work around the bug.

I'm not sure yet whether isolinux or the kernel is at fault.

Revision history for this message
Matt Zimmerman (mdz) wrote :

The bug is so obvious I didn't even look for it.

DEFAULT /install/vmlinuz
LABEL live
  kernel /install/vmlinuz
  append casper/enable=true
casper-udeb/snapshot/backing-file=/cdrom/casper/filesystem.cloop vga=normal
initrd=/install/initrd.gz ramdisk_size=524288 root=/dev/rd/0 rw --

The default APPEND line is missing from isolinux.cfg, so no parameters are
passed to the kernel unless "live" is entered.

Revision history for this message
Colin Watson (cjwatson) wrote :

D'oh, syslinux' file format is so _stupid_. Fixed in 20050216.1, and
ramdisk_size bumped back up to 1048576. Thanks!

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.