Upgrading Dell laptop to openSUSE 10.3: sda vs. hda issue

I upgraded my Dell laptop from openSUSE 10.2 to 10.3, using a network install (it doesn’t have a DVD or CD drive). Only some minor issues arose – it was actually quite smooth.

The more recent Linux kernels have switched the IDE/PATA drivers. The new drivers use /dev/sda nomenclature, instead of the older /dev/hda names, in line with the SATA drivers. This makes for a more uniform naming scheme, but when upgrading, may lead to problems if (i) your main drive is PATA, not SATA (ii) you have a mix of PATA and SATA drivers.

This happened on the laptop, and that part did NOT go smoothly. Here my solution:

  • the boot loader installation failed. Solution: in YaST, choose the Other… button at the bottom, and modify the device.map file. It should read ‘(hd0) /dev/sda’ instead of ‘(hd0) /dev/hda’
  • Modify all instances of /dev/hda in the Grub menu items.
  • My version also had some illegal ‘root’ entries: instead of ‘root (hd0,1)’, it said ‘root (/dev/sda2)’, which did not work. Don’t know why. Manually change it.
  • That was not enough. Before you go on, drop to a command line (CTRL-F2) and navigate to ‘/mnt/etc/’. Copy fstab to fstab.old, then edit fstab. Modify all occurrences of /dev/hda to /dev/sda. Again, YaST did not do that for me – it really should…

After that, I rebooted, and the rest was mostly OK – except that the system immediately crashed. Turns out, AppArmor (turned on by default) was writing so fast to /var/log/messages, that the file system was filled up. I do not know why. It is nice that auditing is turned on by default – but it has the classical auditing problem of generating tremendous amounts of log data. To solve this, I again dropped to the shell (CTRL-F2), and ran ‘chkconfig -d boot.apparmor’, then CRASHED the system (cold-reset) so that I was certain that YaST install process would complete, which it did.

Now its running. Just fine.

Leave a Reply