[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Can't boot 2.6.32-3 after running 2.6.32-5 for a while



OK, I'm sure it must be something simple, but I can't figure out what.

I am running the "testing" release (Squeeze).
I have two stock Debian kernels installed on my system:
linux-image-2.6.32-3-686 and linux-image-2.6.32-5-686.
My computer has a single hard disk, a traditional ATA IDE drive,
also known as "PATA".  One important difference between these
two kernels is that the -3 kernel uses the old IDE drivers,
which results in my hard disk device name being /dev/hda.
The -5 kernel uses the newer libata driver, which results in
my hard disk device name being /dev/sda.  In other words,
the newer kernel uses a SCSI device naming convention instead of
the traditional IDE device naming convention.  

When I first installed the 2.6.32-5 kernel, it was from unstable,
but this kernel has since migrated to testing.  I didn't like
all the UUID changes that the dependencies of this kernel package
wanted to make and instead changed all my system files (/etc/fstab,
/etc/initramfs-tools/conf.d/resume, and /etc/lilo.conf) to use
the new SCSI device naming conventions.  After some initial
issues with the nouveau driver, I have been running the -5
kernel successfully for some time.

Recently, however, for the purpose of testing some software,
I decided I wanted to boot my old kernel (the -3 kernel).
I knew that I would have to make some changes to the system
files first, however.  I decided to make use of udev aliases
in these system files.  For example, in /etc/fstab, instead of
something like

   /dev/sda1

I used something like

   /dev/disk/by-uuid/04db5929-51e6-424a-ac5b-a592b96b9d04

After making changes of this nature to /etc/lilo.conf, /etc/fstab,
and /etc/initramfs-tools/conf.d/resume, I rebuilt the initial
RAM file systems for both kernels with "update-initramfs -uk all"
while running the -5 kernel.  Everything appeared to work fine.
I then shutdown and rebooted my current kernel (the -5 kernel).
It booted just fine.  I then tried to boot my old kernel (the -3
kernel).  It failed.  The kernel and initial RAM file system
were loaded just fine by the boot loader, but the -3 kernel
couldn't make the switch between the initial RAM file system and
the permanent root file system.  I got a few "device not found"
error messages and it left me in an ash shell with "(initramfs)"
as the boot prompt.

What did I do wrong?  Is there a system file that I missed?
Is this a missed dependency in the dependency-based boot system?
I can still boot the -5 kernel just fine, but I can't get the
-3 kernel to boot.  I tried searching the internet with the
search words

   Debian 2.6.32-3 2.6.32-5 "(initramfs)" "won't boot"

but none of the hits looked promising to me.

Any ideas?  My hunch is that the udev aliases might not yet
exist at the time they are being referenced.  But that's just
a wild guess at this point.  The thing is though, it works fine
for the -5 kernel.

-- 
  .''`.     Stephen Powell    
 : :'  :
 `. `'`
   `-


Reply to: