Quicktrick – Linux Kernel

Inhalte

Hier ein schneller Quicktrick, um das Thema Kernel…

Aktueller Kernel herausfinden

Dies macht man am besten mit dem Befehl uname.

uname -a
#Linux example 4.9.0-12-amd64 #1 SMP Debian 4.9.210-1 (2020-01-20) x86_64 GNU/Linux
#oder
uname -r
#4.9.0-12-amd64
#oder
uname -mrs
#Linux 4.9.0-12-amd64 x86_64

Installierte Kernel anzeigen

dpkg --list | grep linux-image

Ausgabe:

root@example:~# dpkg --list | grep linux-image
ii  linux-image-4.9.0-12-amd64        4.9.210-1+deb9u1                                                    amd64        Linux 4.9 for 64-bit PCs
ii  linux-image-4.9.0-13-amd64        4.9.228-1                                                           amd64        Linux 4.9 for 64-bit PCs
ii  linux-image-4.9.0-6-amd64         4.9.88-1+deb9u1                                                     amd64        Linux 4.9 for 64-bit PCs
ii  linux-image-amd64                 4.9+80+deb9u11                                                      amd64        Linux for 64-bit PCs (meta-package)

Manuell installierte Kernel, die nicht vom Pakage-Verwalter installiert worden sind anzeigen. Die Kernel sind dann unter /lib/modules/ zu finden.

ls -l /lib/modules/

Ausgabe könnte so aussehen:

root@example:~# ls -l /lib/modules/
insgesamt 12
drwxr-xr-x 3 root root 4096 Jul  7 09:05 4.9.0-12-amd64
drwxr-xr-x 3 root root 4096 Aug 27 10:59 4.9.0-13-amd64
drwxr-xr-x 3 root root 4096 Jul 16  2018 4.9.0-6-amd64

Kernel suchen und installieren

apt-cache search linux-image

Ausgabe

root@example:~# apt-cache search linux-image
linux-headers-4.9.0-13-amd64 - Header files for Linux 4.9.0-13-amd64
linux-headers-4.9.0-13-rt-amd64 - Header files for Linux 4.9.0-13-rt-amd64
linux-image-4.9.0-13-amd64 - Linux 4.9 for 64-bit PCs
linux-image-4.9.0-13-amd64-dbg - Debug symbols for linux-image-4.9.0-13-amd64
linux-image-4.9.0-13-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
linux-image-4.9.0-13-rt-amd64-dbg - Debug symbols for linux-image-4.9.0-13-rt-amd64
linux-image-amd64 - Linux for 64-bit PCs (meta-package)
linux-image-amd64-dbg - Debugging symbols for Linux amd64 configuration (meta-package)
linux-image-rt-amd64 - Linux for 64-bit PCs (meta-package), PREEMPT_RT
linux-image-rt-amd64-dbg - Debugging symbols for Linux rt-amd64 configuration (meta-package)
linux-headers-4.9.0-11-amd64 - Header files for Linux 4.9.0-11-amd64
linux-headers-4.9.0-11-rt-amd64 - Header files for Linux 4.9.0-11-rt-amd64
linux-headers-4.9.0-12-amd64 - Header files for Linux 4.9.0-12-amd64
linux-headers-4.9.0-12-rt-amd64 - Header files for Linux 4.9.0-12-rt-amd64
linux-image-4.9.0-11-amd64 - Linux 4.9 for 64-bit PCs

...

Haben wir den gewünschten Kernel gefunden können wir es ganz normal mit apt installieren.

apt install linux-image-<version>

Kernel neu installieren

sudo apt-get install --reinstall linux-image-$(uname -r) 

Kernel deinstallieren

Manuell

apt-get remove --purge linux-image-<name> 

oder automatisch

apt-get autoremove --purge

Manuell Standard Kernel fürs Hochfahren bestimmen

Dies machen wir in der Regel in entweder per Bildschirm wenn das System hochfährt…oder wir machen es per Grub Konfiguration.

Wir machen ein Backup der Grub Datei.

cp /etc/default/grub /etc/default/grub.backup

Wir suchen nun alle Optionen für Grub aus und zeigen diese an.

grep -A100 submenu  /boot/grub/grub.cfg | grep menuentry

Ausgabe könnte so aussehen:

root@example:~# grep -A100 submenu  /boot/grub/grub.cfg |grep menuentry
submenu 'Erweiterte Optionen für Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-35ca7884-aa11-48ec-b0e1-a6b213b84dbe' {
        menuentry 'Debian GNU/Linux, mit Linux 4.9.0-13-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-13-amd64-advanced-35ca7884-aa11-48ec-b0e1-a6b213b84dbe' {
        menuentry 'Debian GNU/Linux, with Linux 4.9.0-13-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-13-amd64-recovery-35ca7884-aa11-48ec-b0e1-a6b213b84dbe' {
        menuentry 'Debian GNU/Linux, mit Linux 4.9.0-12-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-12-amd64-advanced-35ca7884-aa11-48ec-b0e1-a6b213b84dbe' {
        menuentry 'Debian GNU/Linux, with Linux 4.9.0-12-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-12-amd64-recovery-35ca7884-aa11-48ec-b0e1-a6b213b84dbe' {

Nun editieren wir die Grub Datei. Ich mache es gerne mit nano.

nano /etc/default/grub

Nun suchen wir den Werte GRUB_DEFAULT und fügen den vollen Namen des Kernels ein, den wir als Standard starten wollen z.B. Debian GNU/Linux, mit Linux 4.9.0-13-amd64.

Mit einem > (Größer als-Zeichen) sagen wir, dass dieser Kernel unter ‚Erweiterte Optionen für Debian GNU/Linux‘ zu finden ist. D.h. die Variable könnte am Ende so aussehen:

GRUB_DEFAULT="Erweiterte Optionen für Debian GNU/Linux>Debian GNU/Linux, mit Linux 4.9.0-13-amd64"

Nachdem wir die Datei gespeichert haben, müssen wir grubsagen, dass er die Einstellungen neu einlesen soll. Dies machen wir:

update-grub

Mehr Infos in der Ubuntu Dokumentation.

Viel Spaß 🙂

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert