Gerade habe ich Arch Linux auf meinem Ultrabook aktualisiert. Dabei wurde auch der Kernel von Version 3.12.0 auf 3.12.1 geupdatet. Nach einem Neustart wurde zwar ein Kernel geladen (wie sich herausstellte der alte 3.12.0-er Kernel) aber mein Gnome Login Screen wurde mal wieder nicht geladen. Dasselbe Problem hatte ich schon einmal (siehe Link). Folgende Symptome:
- Login Manager (GDM) startet nicht, Terminal bleibt nach Ausgabe von “Reached target graphical interface” stehen
- Wechselt man in TTY2 (STRG + ALT + F2) und loggt sich ein, kann man feststellen dass der alte Kernel geladen wurde, nicht der neue (Kommando uname -r)
- Ein ip link gibt nur die Loopback-Schnittstelle lo zurück, alle anderen Netzwerkschnittstellen werden nicht aufgelistet
- Der XServer will nicht starten (startx)
- …
Letztes Mal hatte ich u.A. den XServer als Fehlerquelle im Verdacht. Mit der Zeit habe ich mein System offenbar mehr “kaputtgerichtet” als gefixt. Eine komplette Neuinstallation war die Folge. Jetzt habe ich aber einen anderen Weg versucht. Statt an der Grafik herumzubasteln, habe ich zuerst nachgesehen, ob ich denn nicht den neuen Kernel booten kann. Ein mkinitcpio – p linux hat zu einer Fehlermeldung geführt.
Also schnell meinen Arch Live-USB Stick eingesteckt und davon gebootet.
Zum besseren Verständnis der jetzt folgenden Kommandos kurz eine Erklärung meines Ultrabook Setups: Ich verwende UEFI mit GRUB. Die EFI Partition liegt auf sda1, die /boot Partition auf /sda3 und sda4 ist eine verschlüsselte LVM Partition “main”, in der wiederum “root” als Rootpartition liegt.
wifi-menu // Internet an modprobe dm-crypt // Kryptografiemodule des Kernels laden cryptsetup luksOpen /dev/sda4 lvm // Verschlüsselte LVM Partition öffnen und als Blockdevice "lvm" laden mount /dev/main/root /mnt // Root "/" nach "mnt/" mounten mount /dev/sda3 /mnt/boot // Bootpartition einbinden mount /dev/sda1 /mnt/boot/efi // EFI Partition einbinden arch-chroot /mnt // In installiertes System chrooten pacman -S linux linux-headers // Linux Kernel neu installieren und linux-headers installieren
Danach werden alle Partitionen wieder ausgebunden, das installierte System verlassen und der Rechner neu gestartet:
umount /mnt/boot/efi umount /mnt/boot umount /mnt exit reboot
Jetzt sollte der neue Kernel gebootet werden und alles wieder funktionieren. Das war zumindest bei mir der Fall… ;)
Mein “Problem” ist jetzt nur, dass ich nicht sicher weiß, wo das Problem genau gelegen hat. War es das fehlende linux-headers-Paket, das Schuld war? Oder hat das mit dem Problem gar nichts zu tun?
Spätestens beim nächsten Kernel Update weiß ich, ob linux-headers geholfen hat: Wenn es dann keine Probleme mehr gibt, hat es wohl an dem fehlenden Paket gelegen. So lange will ich aber nicht warten… kennt sich jemand von euch damit aus und kann mir sagen, was da los gewesen sein könnte?
So, und jetzt bin ich erst mal froh, dass sie Kiste wieder rennt… :)