grub: feisty linux-image 2.6.20-13, wrong root device in menu.lst

Bug #100005 reported by folkoy
2
Affects Status Importance Assigned to Milestone
linux-source-2.6.20 (Ubuntu)
Invalid
Medium
Unassigned
Nominated for Feisty by folkoy

Bug Description

Ubuntu Feisty 7.04 Beta running kernel linux-image-2.6.20-12-generic (for i386) is working fine. Using kernel from linux-image-2.6.20-13-generic make the system hang at line;

Uniform CD-ROM drive Revision: 3.20

Some other people on IRC indicated they had the problem and was able to boot that kernel by hammering on the CD-ROM eject button (and if memory is good, by inserting a CD in the drive). This work around never work when I tried it with my kernel 2.6.20-13.

Grub Parameters for that kernel;
title Ubuntu 7.04 Hdb7, kernel 2.6.20-13
    root (hd1,6)
    kernel /boot/vmlinuz-2.6.20-13-generic root=/dev/sdb7 ro vga=0x31A
    initrd /boot/initrd.img-2.6.20-13-generic
    boot

thanks

Revision history for this message
folkoy (pluron) wrote :

Problem has been found.
Feisty is not the booting partition this PC, hence the kernel parameters in grub are located in another partition. After an update of feisty, I need to changes manually the grub parameters by manually mounting and editing the grub menu.lst. After Feisty upgrade to 2.6.20-13, I updated the grub menu.lst but I had not renamed root=/dev/sdb7 as root=/dev/hdb7. Don't know why in first place /dev/sdb7 was used...

Anyway, after setting root=/dev/sdb7, problem went away.

As a suggestion, it would be nice if the grub parameters would be suggested to the administrator of the system when a linux-image is upgraded and most importantly after fresh install. I saw the suggested /dev/sdb7 during the CD-ROM install of feisty alternate i386 but I wasn't suggested any other parameters...

thanks

Revision history for this message
folkoy (pluron) wrote :

I meant after setting root=/dev/hdb7, problem went away.

Revision history for this message
Phillip Lougher (phillip-lougher) wrote :

Thanks for you bug report. To clarify, your install is a fresh feisty alternate i386 install (rather than an update from say dapper or edgy). During your install it was suggested to use /dev/sdb7, and this was put into the menu.lst file (rather than the UUID, which would look something like UUID=89332734-4024-40e6-8aa6-f6bf9185854e)?

What was your previous kernel version before you upgraded to 2.6.20-13?

Changed in linux-source-2.6.20:
importance: Undecided → Medium
status: Unconfirmed → Needs Info
Revision history for this message
folkoy (pluron) wrote :

The computer has many linux partition. It has one main Linux (ubuntu 6.06) partition which is the ONLY ONE having grub installed. Feisty was installed in a separate parition. During feisty installation, grub installation was skipped BUT the dialog box indicated to boot feisty from /dev/sdb7. I added the following grub entry which worked fine (note it's 2.6.20-12);
Grub Parameters for that kernel;
title Ubuntu 7.04 Hdb7, kernel 2.6.20-12
    root (hd1,6)
    kernel /boot/vmlinuz-2.6.20-12-generic root=/dev/sdb7 ro vga=0x31A
    initrd /boot/initrd.img-2.6.20-12-generic
    boot

I always used /dev/hdb7 in previous linux installed I found strange to use /dev/sdb7 but someone indicated that feisty was using /dev/sdbNN because of the new libpata... Feisty was running fine with the grub entry above. Trying to use root=/dev/hdb7 with feisty kernel 2.6.20-12 was not working.

Then during one feisty update, kernel 2.6.20-13 was installed. Feisty kernel upgrade couldn't update the grub entry above since it's in another linux partition. I had to manually update the grub entry above entry by changing 2.6.20-12 by 2.6.20-13 and leaving root=/dev/sdb7.

When booting this new 2.6.20-13, the kernel hang at "Uniform CD-ROM drive Revision: 3.20" and I raised the problem in launchpad.

After some more experientation with Linux Kernel SysRequest debuggin feature. I have been able to see the message like "couldn't find /dev/sdb7". I then tried to update the grub entry to pass root=/dev/hdb7. Since then the kernel 2.6.20-13 is working as expected.

I do not know if the other people on IRC who indicated that they had the problem, where kernel stop at CD-ROM line, were also using root=/dev/sdbNN instead of root=/dev/hdbNN in their grub menu.lst. Is this something that has changed between kernel 2.6.20-12 and 2.6.20-13?

P.S> I would have liked in first place that during feisty install, when skipping the grub installation, the ubuntu installation should write a sample grub menul.lst file in /root updated for the system being installed.

thanks

Is there any information that could be usefull for you?

Revision history for this message
folkoy (pluron) wrote :

surpise! I just updated Feisty and a new kernel as been downloaded; linux-image-2.6.20-14-generic

Beleive it or not, for this kernel I must use root=/dev/sdb7 else kernel stop booting at "Uniform CD-ROM drive Revision: 3.20"

In summary,
linux-image-2.6.20-12-generic -> the Kernel boot parameter had to be root=/dev/sdb7
linux-image-2.6.20-13-generic -> the Kernel boot parameter had to be root=/dev/hdb7
linux-image-2.6.20-14-generic -> the Kernel boot parameter has to be root=/dev/sdb7

That's interesting! I don't understand what's going on.

Any suggestions?
thanks

Revision history for this message
Phillip Lougher (phillip-lougher) wrote :

We can close this bug because unfortunately this is expected behaviour, and it isn't a bug in the kernel or installer.

The changes between /dev/hdxx and /dev/sdxx is because the kernel is moving over to libata support for PATA and SATA devices, rather than using the original older IDE infrastructure. When libata is used devices are recognised as /dev/sdxx, rather than /dev/hdxx. The oscillation between /dev/hdxx and /dev/sdxx with the kernel versions is because this has been work in progress, and a lot of work has been performed between -12 and -14, with the result in some cases that the older IDE infrastructure was used for some hardware in -13.

Normally, users are insulated from this change because the Feisty installer writes files (grub, /etc/fstab etc.) that use disk labels (UUID) to refer to disks and partitions rather than the /dev entry, and this doesn't change even if the /dev entry does.

Unfortunately, by skipping the grub installation and by using /dev entries, you have been exposed to the on-going kernel changes.

Changed in linux-source-2.6.20:
status: Needs Info → Rejected
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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