opensuse 11.4 -> 12.1 upgrade: boot problem: scsi enumeration

I’ve been upgrading systems from opensuse 11.4 to opensuse 12.1. This message describes a problem in booting an upgraded system, and the workaround I found.

The system has two SATA hard drives and a SD/SDHC/etc. removable flash chip interface. Under opensuse 11.4, the hard drives were identified as /dev/sda and /dev/sdb, while the flash chips took various other names, e.g. /dev/sde.

This morning, the system refused to boot. Upon investigation, I determined that the hard drives were being given the names “/dev/sde” and “/dev/sdf”, while the flash chips were getting /dev/sda, etc. In “/boot/grub/menu.lst”, I saw “root=/dev/sda1”. Using rescue mode, I mounted the boot partition and chrooted to it, after doing bind mounts for /dev, /proc, /sys and /run. I edited menu.lst to use a /dev/disk/by-id/… identifier for the partition, then ran grub-install to update the MBR.

The system now proceeded further in the boot sequence. It then encountered a second problem, which I will detail in a separate thread.

I’m puzzled because the system booted properly immediately after I performed the upgrade. My hypothesis is that the opensuse 12.1 kernel parallelizes system initialization, leading to varying device enumeration orders. Another possibility is that, since I applied updates after previously booting opensuse 12.1, perhaps one of the updates changed the order of device enumeration.

I have other systems that use the older naming convention in menu.lst (e.g., “root=/def/sda1”). I am considering proactively changing them to use /dev/disk/by-id/…

If the problem I described here does in fact exists for the reasons I’ve hypothesized, I think that the opensuse upgrader should warn the user of the potential problem and offer to make the change I described.

In my experience I always find it takes 3 times longer to upgrade any linux distribution (unless its a rolling release) and also more problematic.
You may have highlighted a potential problem that others can benefit from.

After chosing my software the installation of Suse 12.1 took only 12 minutes, very pleasing indeed. I would proberbly expect 3x longer to upgrade.
As I have lots of space I have kept OpenSuse 11.4 on different partitions as well.
As a matter of interest, how long did the upgrade take?

maybe just one of the updates did that to the system CraigMiloRogers](http://forums.opensuse.org/members/craigmilorogers.html) as i didn’t have any problems in upgrading/installing 12.1 (32 bit). I did an upgrade and a clean install without any problems. I didn’t time it, but let’s say it was 30 minutes to upgrade and 45 minutes to clean install. Probably because I used the network upgrade and network installation and it takes a bit longer to get all the packages. I’m very pleased with how it worked out. One of computers is an old one and has an ATI video card but this time was just easy to install on it. I have a 64 bit to upgrade and now I’m full of hope that it will work nice and if not well we learn something everytime we have a prolem, but I love how OpenSuse works and evolves and the community around it. Thanks a lot to all of the ones which put time and effort into this.

It is strange that you see things like /dev/sda1 hard coded in menu.lst. Allready since several releases openSUSE use the */dev/disk/by-id/ *files to elimate the problems you had.

On 2011-11-21 21:56, CraigMiloRogers wrote:

> The system has two SATA hard drives and a SD/SDHC/etc. removable flash
> chip interface. Under opensuse 11.4, the hard drives were identified as
> /dev/sda and /dev/sdb, while the flash chips took various other names,
> e.g. /dev/sde.

Denominations such as /dev/sda are deprecated, should not be used.

> I’m puzzled because the system booted properly immediately after I
> performed the upgrade. My hypothesis is that the opensuse 12.1 kernel
> parallelizes system initialization, leading to varying device
> enumeration orders.

The enumeration order is known to be random, depends on which driver loads
faster, AFAIK.

> If the problem I described here does in fact exists for the reasons
> I’ve hypothesized, I think that the opensuse upgrader should warn the
> user of the potential problem and offer to make the change I described.

It is not a problem of the upgrader, it could have happened to you anytime.
I have seen it with fresh install of 11.2 (not 12.1).


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)