You are not logged in.
I'm getting a little tired these seemingly unannounced changes to the kernel which completely screw up the system.
Some time ago I got issues booting my Arch Linux box after a kernel update changed the name of PATA drives from hd# to sd#. I didn't know of this change and so I had to go to a LiveCD environment to fix my /etc/fstab and /boot/grub/menu.lst in order to make it work again.
Not that much later Arch switched to mkinitcpio. While this system does seem to work nicely, I still pray to the gods whenever I reboot after a kernel update, because the first few kernels since the mkinitcpio process was introduced caused some strange kernel panics to happen during boot.
I have a box with 4 PATA harddrives and two DVD drives. To connect all the hard drives I have a Highpoint Rocket 133 PCI card.
While this works very nicely under linux, kernel updates tend to make it go wonky.
A month or so ago init couldn't find the root filesystem on my harddrives. What happened was that the harddrives behind my Rocket 133 had suddenly become /dev/sda and /dev/sdb. My root partition which USED to be on /dev/sda1 was now /dev/sdc1. Obviously my menu.lst still said /dev/sda1, so I changed it to /dev/sdc1 and hd(2,0). This only made matters worse, of course, because grub doesn't see the drives behind my Rocket 133. So after some time I figured out that grub sees it as Drive 1 Partition 1, but the kernel sees it as Drive 3 Partition 1.
After finally fixing it (didn't take me more than two hours really, but still) all was well.
Until earlier today when I updated the kernel to 2.6.22-ARCH.
I rebooted the system and init complained about not being able to find the root filesystem... AGAIN.
When I tried my fallback image, it had the same issues, but it did bring me to a minimal shell.
Doing `echo /dev/*` showed that all my hard drives were called /dev/hd# again.
For a moment I thought "Oh jeez not this again". But then I realised that the fallback image has always had this behavior.
After inserting a(n Ubuntu) LiveCD and booting I mounted /dev/hda1 and to my surprise found that it was my root partition. I then changed my /boot/grub/menu.lst and /etc/fstab files to reflect the new name of the root partition (/dev/sda1) and I could boot again.
However, I just found out that the two drives behind my Rocket 133, meaning my old sda and sdb, are now called hde and hdf. What the heck?!
Why does Arch linux always have to have these completely stupid unannounced changes? Don't get me wrong, I love everything about Arch, but having to fix my machine every month is just silly and annoying
Last edited by GoneWacko (2007-07-26 19:55:07)
Offline
Look into using LABEL or UUID for your disks, so you/your kernel can tell them apart without having to know their device name.
Offline
This is simply caused by module loading order, the libata driver for the hpt37x cards (I have one too) used to be a bit flaky for me but with recent kernels forcing everything to libata with the MODULES array in mkinitcpio.conf works great ( and all drives are /debv/sdxx )
Forsome reason udev seems to alternate ide / libata loading order from one release to the next.
FWIW, my MODULES array looks like: MODULES="ata_piix pata_hpt37x ext3"
This means that my onboard controller always gets sda - sdd and the highpoint card always gets sde - sdh regardless of what udev is up to.
Steve.
Offline