Kernel kompiliert - und nun?

L

latissimus

Jungspund
Hi,

habe neben Mandrake 9.2 jetzt RedHat 9.0 am Laufen. Habe die Kernel kompiliert. Was muss ich jetzt alles noch eintragen, damit der Kernel beim nächsten Mal gebootet wird?

Gibts da von Mandrake zu RedHat Unterschiede in den Befehlen und Pfaden.

Bitte um Hilfe.
 
latissimus schrieb:
Hi,

habe neben Mandrake 9.2 jetzt RedHat 9.0 am Laufen. Habe die Kernel kompiliert. Was muss ich jetzt alles noch eintragen, damit der Kernel beim nächsten Mal gebootet wird?

Gibts da von Mandrake zu RedHat Unterschiede in den Befehlen und Pfaden.

Bitte um Hilfe.

Nun mußt du mal ein bißchen was durchlesen. ;) zb.:

http://www.it-academy.cc/content/article_browse.php?ID=371

oder einfach mal das Forum durchsuchen.

So spontan fällt mir jetzt jetzt kein wirklicher Unterschied zwischen RedHat und Mandrake ein, außer sie würden vielleicht unterschiedliche Bootmanegar verwenden.(zb.lilo bzw. grub)
 
Wenn du Lilo nutzt:
Schau dir die /etc/lilo.conf (als root) an.
Da gibt es dann diverese Labes..
Davon musst du dir eines neu anlegen.
Ist aber eigentlich alles gut beschrieben.
Und das "lilo" nicht vergessen!
 
@h2owasser

Klasse Link, danke.

@hehejo
Nein, benutze Grub...
 
dann gibt es unter /boot/grub.conf oder /etc/grub.conf die Konfigurationsdatei für Grub. :D
 
Also ich hatte ähnliches problem, am besten du machst nen make install (im Verzeichnis von dem du installiert hast),.. dann geht alles automatisch.
Mit new-kernel-pkg kannst du ihn zwingen ein Boot für grub anzulegen

Milbo
 
Ich verschiebe das mal zu Linux OS. Hat ja doch mehr mit dem Kernel als mit RedHat zu tun ;)
 
So, habe den Kernel nun fertig.
Bloß weiß ich nicht, was ich nun unter boot angeben soll. Dort stehen ja die img in initrd drin. Nur für meinen 2.6.3er gibts sowas nicht. Dementsprechend habe ich eine Kernel-Panic, da ich als root die boot Option angeben muss.

Da bräuchte ich Hilfe.
Ansonsten hat alles geklappt mit den Modulen, dem Image und dem neuen Setzen der System.map
 
Meinst du, du weißt nicht, was du unter "boot" in der /boot/grub/grub.conf angeben musst?

Hier mal ein Beispieleintrag:
# For booting Gentoo-2.6.3
title Gentoo Linux 1.4 - gentoo-dev-sources-2.6.3-r2
root (hd0,2)
kernel (hd0,2)/boot/kernel-2.6.3-gentoo-r2 root=/dev/hdb3
initrd (hd0,2)/boot/initrd-1280x1024


Am besten guckst du dir mal die Anleitung zur Konfiguration von Grub von Gentoo an: Hier.
Die Gentoo-spezifischen Sachen kannst du natürlich übergehen, aber da wird ganz gut erklärt, wie grub funktioniert.

Du brauchst natürlich nur noch das Konfigurieren in der grub.conf.
 
Mir fehlt die Eintragung des Initrd's

Ich muss nach mkinitrd noch was angeben. Bisher habe ich wohl was falsch gemacht. Hätte ich die initrd-2.6.3 z.b. richtig, würde es laufen. Es scheitert an der initrd, die ich erstellen muss.
 
Den initrd brauchst Du nicht. Wenn Dein Kernel sauber kompiliert ist, dann sollte schon folgender Eintrag reichen:

# RedHat mit Subba-Kernel
title Subba Redhat Kernel
root (hd0,1)
kernel (hd0,1)/boot/der_name_meines_kernels root=/dev/hda2

In diesem Beispiel liegt der Kernel auf der Partition hda2, die Nummerierung für root(hd0,1) beginnt allerdings bei 0.
Wäre der Kernel auf der dritten Partition deiner zweiten Platte wäre es root(hd1,2) und enstprechend /dev/hdb3 .

Wenn Du MDK zuerst draufhattest und GRUB verwendest, dann ist die /boot/grub/menu.lst zuständig.

RH labelt allerdings gerne die Partitionen und mountet dann diese unter ihrem Label-name und nicht unter beispielsweise /dev/hda1. Schau einfach mal in die /etc/fstab was als mount-device für die einzelnen Partitionen angegeben ist.
 
Hi,

ich habe nur 1 Festplatte. Linux hat die partitionierung selber durchgeführt.

In etwas so sieht es in der fstab aus:
Label=/
/boot
/dev/hda3 swap

Meine grub bzw. menu1st.conf sieht so aus

title Red Hat (2.4.20-8 smp)
root(hd0,0)
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ hdd=ide-scsi

Da ich die Datei nicht kopieren kann. So in etwa sieht das aus.

Also 1 Festplatte mit den Linuxpartitionen, ich bekomms nicht hin, bin wohl zu blöde :)
 
Nach Deiner menu.lst zu urteilen liegt hier der kernel direkt im root Verzeichnis und nicht unter /boot. Wo liegt denn das Kernel-image Deines neuen Kernels und wie ist dessen Name ?
Hast Du das Image nachdem Du den Kernel kompiliert hast auch nach /boot kopiert ?

Korrigier mich wenn ich falsch liege, aber momentan fasse ich Deine Situation folgendermassen auf:

- Du hast Mandrake auf einer Partition (welche)
- Du hast Redhat auf einer anderen Partition (hda1)
- Mandrake war zuerst da
- Du kannst den Standard-Kernel beider Distris booten
- Du hast Dir unter Redhat einen Kernel selbst kompiliert
- Du weisst wo das Kernelimage liegt ?

--> Du trägst folgendes in die menu.lst ein:

title Red Hat (eigener Kernel)
root(hd0,0)
kernel (hd0,0)/pfad_wo_kernel_liegt/kernel_name root=/dev/hda1 hdd=ide-scsi
 
Hi,

habe mir eine Anleitung runtergeladen. nachdem ich den kernel entpackt hatte und ihn gebildet hatte, habe ich ihn aus /usr/src/linux-2.6.3/arch/i386/boot/bzImage nach /boot/vmlinuz-2.6.3 kopiert und dann die System.map angepasst, nach Anleitung.

Nein, Mandrake ist von der Platte geflogen. Nur RedHat ist auf der Festplatte. Hat die alten Partitionen weggebügelt und ein reines RedHat draufgespielt.

In der Conf steht drin, dass sich alle Pfade auf /boot beziehen

Werde Deine Eintragung ausprobieren.
 
Zuletzt bearbeitet:
Edit: Habe die Zeile so angepasst, da sonst der kernel nicht gebootet wurde
title Red Hat (2.6.3)
root (hd0,0)
kernel /vmlinuz-2.6.3 root=/dev/hda1 hdd=ide-scsi

Dann ging bis zu dieser Stelle alles glatt:

Unable to open inital console
Kernel Panic No Init found
Try Passing init=option to kernel

P.S. Was muss ich unter mkinitrd angeben und vor allen Dingen nach der Kompilation, oder?
 
Sorry für die verspaetete Antwort. Jetzt wo ich diese Meldung lese, fällt mir noch ein, dass ich da noch was vergessen hatte.

latissimus schrieb:
Kernel Panic No Init found
Try Passing init=option to kernel

Das heisst, dass Du in der menu.lst dem Kernel noch eine Bootoption übergeben musst. Allerdings hab ich das System nicht mehr drauf und kann leider nicht nachschauen.
Die Zeile wäre dann in etwa

kernel /vmlinuz-2.6.3 root=/dev/hda1 init=blabla hdd=ide-scsi

wobei mir blabla echt nicht mehr einfällt. Shit. Kann hier jemand mal nachschauen ?
 
@vybermarc

Kein Problem deswegen. Brauche nur Hilfe bei der initrd.

Bitte erinnere Dich.
 

Ähnliche Themen

Kernel Kaltstart / reboot?

batch script funktioniert nicht ...brauche hilfe

Angepassten kernel updaten - tipps?

Linux Kernel VFS Panic HP Thin Client

sed mit basename verknüpfen - oder anders Dateipfade in Dateien mit regex ersetzen?

Zurück
Oben