kernel kompilieren

Tux-Forever

Tux-Forever

Linuxer
hi ich möchte mal nen kernel kompilieren aber es will irgendwie nicht funzen
also ich habe noch die sourcen des alten kernels und denn link installiert muss ich denn link löschen wenn ja wie??? und dann zu dem anderen erstellen?????
mein jetztiger ist der 2.4.18-bf24 und ich möchte denn 2.4.18-k7 installieren

ach und noch was wie installiere ich das debianlogo beim booten??? hab ich auch zufällig gefunden
 
du entpackst die kernel-sourcen in /usr/src und machst einen link namens "linux" zu dem verzeichnis mit:

ln -s verzeichnis linux

danach wechselst du in linux und konfigurierst den kernel so, wie du ihn haben willst. grafisch geht das mit "make xconfig" (tcl/tk muss installiert sein, und du musst als user den xserver für alle zugänglich machen mit xhost +)

wenn alles konfiguriert ist (da musst du eben nachlesen, was du brauchst und was nicht, es sind auch erklärungen zu allen punkten gegeben) speicherst du die einstellungen und führst immer noch in /usr/src/linux den befehl:

make dep

aus. danach:

make bzImage

nun hast du in /usr/src/linux/arch/i386/boot ein kernelimage namens bzImage, das verschiebst du an die stelle, an der das kernel image zu liegen hat:

mv bzImage /vmlinuz (vorher kannst du vom alten eine sicherheitskopie machen, zb in vmlinuz.old umbenennen)

jetzt noch die module erstellen, mit:

make modules

und installieren:

make modules_install

danach den bootloader neu initialisieren, bei lilo zb einfach den befehl "lilo" ausführen. (du kannst auch in der lilo.conf einen eintrag zum booten von vmlinuz.old angeben, falls der neue kernel nicht so richtig funktioniert)

das sollte es gewesen sein :)
 
jup

jo, das klingt schon ganz vernünftig ...
aber kompilier lieber erst die module bevor du den kernel verschiebst ..
die sicherheitskopie muss sein, den BM wie geschrieben anpassen.
wichtig hierbei ist, dass du bei der konfiguration des kernels angibst, dass die module im namen die version des kernels beinhalten, sonst funktioniert dein gesicherter kernel nämlich nicht ..
steht irgendwo ganz am anfang
so, dann gibt es aber noch die System.map, die ist auch wichtig ... , liegt im /usr/src/linux verzeichnis.
man kann das ganze dann auch mit installkernel machen, aber das habe ich noch nie probiert.
dieses debian logo musst du installieren .. paket bootsplash oder so ...
und , du musst den kernel mit initrd kompilieren, sonst geht das ganze glaube ich nicht
.
der befehl ist dann mkinitrd um die initrd dann entsprechend zu erstellen ....

--( nochmal, niemals die sicherungskopie vergessen, NIE NIE NIE)
 
also gelber hund ich hab das so gemacht auch das mit dem link bin in das verzeichniss linux dann habe make xconfig eingegeben aber dann das:
make: ***No targets specified and no makefile found. Stop.
was mache ich denn falsch ich hab doch schonmal nen kernel kompiliert argh
 
hmm

ähm , in welches verzeichnis hast du denn die kernel sourcen gepackt??
der link muss auf dieses verzeichnis verweisen.
das make xconfig musst du in diesem verzeichnis ausfürhen
 
ich hab die sourcen /usr/src/kernel-headers-2.4.18-k7
dann hab ich denn link so angelegt mit genau diesem verzeichniss in
/usr/src/linux jetzt is da die verknüpfung
 
du brauchst die kernel-sourcen, nicht die kernel-headers (das sind nur die include dateien)

da wird das paket wohl kernel-source-2.4.18-k7 heißen. wenn das in /usr/src entpackt wurde erstellst du einen link "linux" darauf in /usr/src
 
achso und für was sind dann die kernel headers???? na da hab ich ja mal wieder ins klo gegriffen naja nehmen wir es hoffentlich mit humor das ich das halbe unixboard wieder aufgeschreckt habe :tongue:
 
die kernel headers brauchst du zum kompilieren von programmen, allerdings musst du so eben nicht das große kernel-source paket installieren, wenn du nur die include dateien benötigst.
 

Ähnliche Themen

Samba 3.6.25 - OpenLDAP Setup

PATH wird nicht richtig durchsucht

OpenJDK8 unter Debian7.11/sparc64/kernel 3.16 kompilieren

Problem bei apt-get upgrade (Kali 2.0)

So, das wars nun endgültig mit Centos und Linux

Zurück
Oben