• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[HOWTO] Zwei Kernel parallel installieren

Status
Für weitere Antworten geschlossen.

oc2pus

Ultimate Guru
Um mal mit einem kernel-of-the-day oder einem selbsterstellten Kernel rumzuspielen, sollte man sich einen kleinen Rettungsanker basteln.
D.h. man hat mehrere Kernel zur Auswahl und kann im Falle eines Falles einen funktionsfähigen Kernel zum booten verwenden.

Dazu wird zunächst der aktuelle Kernel aus der RPM-Datenbank entfernt.
Code:
rpm -e --justdb kernel-default
Die Dateien und Module des Kernels bleiben auf der Festplatte, nur der Datenbankeintrag verschwindet!
Dies ist erforderlich, da sonst bei einem Kernel Update genau dieses Dateien gelöscht würden und der neue Kernel installiert würde.
Nehmen wir an unser aktueller Kernel sei der kernel-2.6.5-7.104-default.

Da wir jetzt keinen RPM-Datenbank Eintrag mehr besitzen, können wir den neuen Kernel installieren. Entweder mit apt oder YaST oder via Commandline-Befehl rpm -i kernel-default-2.6.x-y-default.i586.rpm.
Durch die Installation wird ein link "vmlinuz" und "initrd" im Verzeichnis /boot angelegt. D.h der zuletzt installierte Kernel wird immer unter dem Namen "vmlinuz" angesprochen.

Unser /boot Verzeichnis sollt nun so aussehen:
Code:
ls -al /boot
total 11246
drwxr-xr-x   4 root root    2048 Dec 10 07:03 .
drwxr-xr-x  22 root root     512 Dec 10 08:06 ..
-rw-r--r--   1 root root  115852 Jul 28 20:57 Kerntypes-2.6.5-7.104-default
-rw-r--r--   1 root root  741449 Jul 28 20:50 System.map-2.6.5-7.104-default
-rw-r--r--   1 root root  740002 Dec  9 19:45 System.map-2.6.8-20041209164842-default
lrwxrwxrwx   1 root root       1 Jun  7  2004 boot -> .
-rw-r--r--   1 root root   55554 Jul 28 20:57 config-2.6.5-7.104-default
-rw-r--r--   1 root root   57559 Dec  9 20:01 config-2.6.8-20041209164842-default
drwxr-xr-x   2 root root    1024 Oct 14 08:23 grub
lrwxrwxrwx   1 root root      35 Dec 10 07:03 initrd -> initrd-2.6.8-20041209164842-default
-rw-r--r--   1 root root 1383501 Aug  4 07:14 initrd-2.6.5-7.104-default
-rw-r--r--   1 root root 1385622 Dec 10 07:03 initrd-2.6.8-20041209164842-default
drwx------   2 root root   12288 Mar 11  2003 lost+found
-rw-r--r--   1 root root   84480 Jul 20 19:46 message
-rw-r--r--   1 root root   83147 Jul  2  2003 message.SuSEconfig.2003.07.09-14.54
-rw-r--r--   1 root root   79374 Jul 28 20:58 symvers-2.6.5-7.104-i386-default.gz
-rw-r--r--   1 root root   79146 Dec  9 20:03 symvers-2.6.8-20041209164842-i386-default.gz
-rw-r--r--   1 root root 1738635 Jul 28 20:57 vmlinux-2.6.5-7.104-default.gz
-rw-r--r--   1 root root 1856926 Dec  9 20:01 vmlinux-2.6.8-20041209164842-default.gz
lrwxrwxrwx   1 root root      36 Dec 10 07:00 vmlinuz -> vmlinuz-2.6.8-20041209164842-default
-rw-r--r--   1 root root 1469887 Jul 28 20:50 vmlinuz-2.6.5-7.104-default
-rw-r--r--   1 root root 1556730 Dec  9 19:45 vmlinuz-2.6.8-20041209164842-default

Wichtig ist die Kontrolle das vmlinuz auf den neuesten installierten kernel zeigt. Gleiches gilt für initrd.

Dieser Eintrag für diesen Kernel (vmlinuz) ist in der Regel bereits in der /boot/grub/menu.lst enthalten.
Damit unser "alter" Kernel aber ebenfalls im grub-Menu ausgewählt werden kann, ist eine kleine Änderung an der /boot/grub/menu.lst erforderlich. Es muss ein zusätzlicher Eintrag für den alten Kernel erstellt werden.

Für unser Beispiel sollten die Einträge in der /boot/grub/menu.lst so aussehen:
Code:
....
title linux-kernel-of-the-day
   kernel (hd0,0)/vmlinuz root=/dev/sda7 vga=788
   initrd (hd0,0)/initrd
title linux-SuSE-default
   kernel (hd0,0)/vmlinuz-2.6.5-7.104-default root=/dev/sda7 vga=788
   initrd (hd0,0)/initrd-2.6.5-7.104-default
...

Nun kann man jederzeit einen neuen (experimentellen) Kernel installieren und hat den SuSE-default Kernel in der Hinterhand.

Und wer seinen Kernel selber kompilieren will, der sollte sich das hervorragende HOWTO von gimpel anschauen:
http://www.linux-club.de/viewtopic.php?t=10810
 
OP
oc2pus

oc2pus

Ultimate Guru
für diejenigen, welche noch lilo als Bootloader einsetzen gibt es hier eine schöne Doku zum Thema "Viele Kernelversionen mit Linux":
http://www.dhaller.de/linux/multikernel.html
 

warpi

Hacker
Morgen oc2pus.
Wollte gerade deinen Tipp ausprobieren, leider sagt mir mein System:
warpi:~ # rpm -e --justdb kernel-default
error: Failed dependencies:
kernel-default = 2.6.8-24 is needed by (installed) kernel-default-nongpl-2.6.8-24
hier mein boot:
-rw-r--r-- 1 root root 512 2005-03-25 22:57 backup_mbr
lrwxrwxrwx 1 root root 1 2005-03-25 22:48 boot -> .
-rw-r--r-- 1 root root 49221 2004-10-20 22:32 config-2.6.8-24-default
drwxr-xr-x 2 root root 1024 2005-03-25 22:57 grub
lrwxrwxrwx 1 root root 23 2005-03-25 22:57 initrd -> initrd-2.6.8-24-default
-rw-r--r-- 1 root root 2168114 2005-03-25 22:57 initrd-2.6.8-24-default
drwx------ 2 root root 12288 2005-03-25 22:45 lost+found
-rw-r--r-- 1 root root 112640 2005-03-25 22:57 message
-rw-r--r-- 1 root root 76198 2004-10-20 22:33 symvers-2.6.8-24-x86_64-default.gz
-rw-r--r-- 1 root root 879262 2004-10-20 22:27 System.map-2.6.8-24-default
-rw-r--r-- 1 root root 1891350 2004-10-20 22:32 vmlinux-2.6.8-24-default.gz
lrwxrwxrwx 1 root root 24 2005-03-25 22:52 vmlinuz -> vmlinuz-2.6.8-24-default
-rw-r--r-- 1 root root 1608082 2004-10-20 22:27 vmlinuz-2.6.8-24-default
Hier meine Systemdaten:
System: AMD 64 3200+
MSI K8N Neo2 Board, Bios 1.4
SUSE 9.2, Kernel 2.6.8-24
Graka GeForce FX 5200
2 sata Platten
Ich hoffe du kannst mir weiterhelfen. :roll:
 
OP
oc2pus

oc2pus

Ultimate Guru
schreibt nur weiter im HOWTO rum ... Ist es soooo schwer dazu einen eigenen Thread aufzumachen mit den Fragen und Problemen ?

Und bei Kommentaren wie "???" denke ich kaum das irgendjemand dazu etwas sagen wird :)
 

warpi

Hacker
Naja er löscht wohl den Eintrag in der rpm-Datenbank. Nicht die files.
Aber mir ist nicht ganz klar, was <Das funktioniert auch so> nun bedeuten soll.
Ich habe gerade nen haufen Ärger mit nem mißglückten Kernelupdate gehabt, und keinen Bock mehr immer wieder zu beten, wenn SUSE mir sagt, neuer Kernel neues Glück.
Also hab ich mir gedacht iss ja doll einfach ein paar Befehle und ein bischen kopieren, und bin dann auf der sicheren Seite.
Der nongpl macht mir zu schaffen, weil ich den Eintrag net find.
 

Gimpel

Guru
oc2pus schrieb:
schreibt nur weiter im HOWTO rum ... Ist es soooo schwer dazu einen eigenen Thread aufzumachen mit den Fragen und Problemen ?

Und bei Kommentaren wie "???" denke ich kaum das irgendjemand dazu etwas sagen wird :)

wahrlich!
 

Gimpel

Guru
oc2pus schrieb:
schreibt nur weiter im HOWTO rum ... Ist es soooo schwer dazu einen eigenen Thread aufzumachen mit den Fragen und Problemen ?

Und bei Kommentaren wie "???" denke ich kaum das irgendjemand dazu etwas sagen wird :)

wahrlich!
schade, machts dem "maintainer" des howto's schwerer mal selber was zu verbessern etc...
 
Status
Für weitere Antworten geschlossen.
Oben