erster selbstkompilierter Kernel -> nix passiert

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
weirdjd
Beiträge: 16
Registriert: 02.07.2005 12:57:16

erster selbstkompilierter Kernel -> nix passiert

Beitrag von weirdjd » 04.07.2005 11:15:19

Hallo,

ich habe vor bald einen Kernel zu patchen. Doch vorher möchte ich mal einen Kernel "nachbauen". D.h. ich möchte erstmal einen Kernel selbst kompilieren - so einer wie er schon bei mir läuft.

Ich habe dazu folgendes unternommen (alles nach verschiedenen Anleitungen aus dem Netz, die alle sehr ähnlich sind):

1.
kernel-source installieren, auspacken (2.4.27, landet in /usr/src/kernel-2.4.27/)

2.
cd /usr/src/kernel-2.4.27/
make menuconfig (hier alternate conf. laden: /boot/config-2.4.27-2-386 und speichern)

3.
make dep && make clean && make bzImage (dann lange warten und sich ärgern, dass der CPU-Lüfter laut wird :D )

4.
make modules && make modules_install (noch länger warten...)

5.
mv /boot/vmlinuz-2.4.27-2-386 /boot/vmlinuz-2.4.27-2-386.old (in grub eintragen)

6.
mv /usr/src/kernel-source-2.4.27/arch/i386/boot/bzImage /boot/vmlinuz-2.4.27-2-386

7.
reboot

Das alles habe ich per Root-Terminal aus dem Gnome-Menü gemacht.

Wenn ich nun den entsprechenden eintrag in Grub auswähle bleibt der Bildschirm schwarz und die Festplatte stumm. Kann mir jemand sagen was hier passiert ist? Müsste nicht dadurch, dass ich die Config-Datei in make menuconfig geladen habe exakt der selbe Kernel herauskommen wie man ihn vorkompiliert installieren kann? Ich freue mich auf eure Antworten.

weirdjd

geriom
Beiträge: 279
Registriert: 16.10.2004 08:13:37

Beitrag von geriom » 04.07.2005 12:30:30

Probier mal ab Punkt 3:

make-kpkg kernel_image das kompiliert den Kernel und erstellt ein .deb Packet.
Paket kernel-package zuvor installieren.
danach mit dpkg -i das Kernelpaket installieren. Evtl. noch mit mkinitrd eine initrd erstellen.

me_max
Beiträge: 190
Registriert: 08.07.2004 02:18:52

Beitrag von me_max » 04.07.2005 17:46:34

danach mit dpkg -i das Kernelpaket installieren. Evtl. noch mit mkinitrd eine initrd erstellen.
um das mit dem "mkinitrd" zu vermeiden mach gleich ein

Code: Alles auswählen

 make-kpkg --initrd kernel_image

Benutzeravatar
weirdjd
Beiträge: 16
Registriert: 02.07.2005 12:57:16

Juhuu!

Beitrag von weirdjd » 04.07.2005 18:21:49

Ich danke für die Erklärungen.

@me_max: zu spät! make dpkg läuft schon (schon zum 2. mal, diesmal mit einem manipulierten modul) aber ich werde es mir merken, danke.

Ich habe vorhin mal einen Kernel damit compiliert, installert. Lief aber erst, nachdem ich die initrd-zeile in grubs menu.list eingetragen habe.

Wozu ist diese initrd-Geschichte? Ich habe in anderen Threads gelesen, dass man sowas gar nicht zwingend braucht.

Benutzeravatar
weirdjd
Beiträge: 16
Registriert: 02.07.2005 12:57:16

Beitrag von weirdjd » 04.07.2005 20:52:42

So! Geschafft. Ich habe den Kernel nochmals von hand compilliert und voher eine datei gepacht. Und: er läuft. Problem gelöst. :mrgreen:

Benutzeravatar
Master Mayhem
Beiträge: 582
Registriert: 04.04.2004 00:04:46
Lizenz eigener Beiträge: neue BSD Lizenz

Re: Juhuu!

Beitrag von Master Mayhem » 07.07.2005 14:35:49

weirdjd hat geschrieben: Ich habe vorhin mal einen Kernel damit compiliert, installert. Lief aber erst, nachdem ich die initrd-zeile in grubs menu.list eingetragen habe.

Wozu ist diese initrd-Geschichte? Ich habe in anderen Threads gelesen, dass man sowas gar nicht zwingend braucht.
Hi!

Ist klar, dass der erste kernel nicht gebooted ist, wenn du die originale config genommen hast die mit initrd gearbeitet hat, du aber die initrd nicht erstellt und auch nicht in grub eingetragen hast :wink:

initrd=initial ram disk - bedeuted der stellt ne festplatte im ram nach (das was knoppix mit fast dem gesamten ram durchgehend macht) um darein module zu laden, die nötig sind um z.B. das root dateisystem einzubinden....wenn er das nicht schafft gehts nicht weiter

Richtig man benötigt diese initrd nicht, wenn man alle benötigten module zum einbinden des root dateisystems mit in den kernel einkompiliert (IDE bzw. SATA oder SCSI je nachdem was du hast nicht vergessen und natürlich das root filesystem)

Diese beiden links fand ich recht hilfreich:
http://www.debianforum.de/wiki/?page=Kernelboot
http://www.linuxforen.de/forums/showthread.php?t=150133

mfg tyler

Antworten