Today I wanted to upgrade the kernel on my debian/testing system from 2.6.32-5-686
to 3.9-1-686-pae
. So I installed the image by sudo aptitude install linux-image-3.9.1-686-pae
(or something like that). Then it said, I need to install some headers, so I did by sudo aptitude install linux-headers-3.9.1-686-pae
or something like that. Now my system doesn't boot correctly. Both kernels are still installed or at least I can choose both of them in GRUB to load.
However, I still have the system here, it just doesn't boot. I have two partitions on my disk: (1) sda1, which is my boot partition (flag is still there) and (2) sda2, on which I created two virtual volumes using lvm
: base-root
for /
and base-home
for home
. I managed to mount each partition/volume on a live system I'm on (using an usb stick).
This is what is happening while booting with any of the installed kernels:
early console in decompress_kernel
Decompressing Linux ... Parsing ELF... done.
Booting the kernel.
Loading, please wait...
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdleay= (did the system wait long enough?)
- Check root= (did the system wait for the right device?)
- Missing modules (cat /procmodules ls /dev)
ALERT! /dev/disk/by-uiid/<some_uuid> does not exist.
Dropping to a shell!
BusyBox...
Enter 'hel...
/bin/sh: can't access tty; job control turned off
The system waits/searches for about 30s after the "please wait..." message.
This is the output of cat /proc/cmdline
(while trying to boot the new kernel, for the old kernel, there is an analogous message):
BOOT_IMAGE=/vmzlinuz-3.9.1-686-pae root=UUID=<someuuid>
Now, this is the output of ls /dev/mapper/
:
control
Usually, there are also entries for base-root
and base-home
. So my guess is, that there is some lvm kernel module which is needed to interpret the volumes from lvm and isn't loaded in the kernel. Strangely, it seems to be missing in the olde kernel, too.
This is the output of cat /proc/modules
when booting the new kernel:
usbhid 35908 0 - Live...
hid 64559 1 usbhid - ...
ohci_hcd 22150 0 - ...
dm_mod 577277 0 - ...
sd_mod 577277 - ...
crc_t10dif 12332 1 - ...
ahci 25000 0 - ...
libahci 22632 1 ahci - ...
thermal 13172 0 - ...
ata_generic 12450 - ...
thermal_sys 18359 thermal, ...
libata 126017 3 ahci, libahci,ata_generic, ...
uhci_hcd 22424 0 - ...
ehci_pcs 12432 - ...
e1000e 123671 0 - ...
ehci_hcd 3570 1 ehci_pci -
usbcore 110217 5 usbhis,ohci_hcd,uhci_hcd,ehci_pci,ehci_hcd, ...
scsi_mod 135333 2 sd_mod,esndld, ...
ptp 131711 e1000e, ...
usb_common 12338 1 usbcore, ...
pps_core 13071 1 ptp, ...
(I might fill in the "..." later.)
Anyway, what I want to do is obviously to boot from properly into my installed debian system on base-root
.
My strategy so far is:
- write down error messages returned while booting (and post them here)
- google them, try to understand the error
Momentarily, I have these questions:
- What does this error mean? What is /proc/cmdline for? How can I change its contents?
- Which modules/devices should I have installed? Which modules are missing and should be loaded?
- How can I tell my kernel to load some other module.
Edit: Googling the error messages, I found this, seems related.