ich habe mit der unten abgebildeten Anleitung zum ersten Mal einen Kernel "gebacken". Lt. Anleitung gibt es dazu drei Möglichkeiten:
xconfig hat bei mir nicht funktioniert. Make hat abgebrochen.„make menuconfig“ oder „make oldconfig“ oder „make xconfig“
Oldconfig lief genau wie in der Anleitung beschrieben durch.
menuconfig hat ebenfalls funktioniert.
Leider gab es bei beiden Varianten Fehler.
1. Ich kann bei menuconfig eine eigene .config Datei angeben.Weil ich keine große Ahnung in der Beantwortung der mir gestellten Fragen hatte, habe ich hier meine alte Datei mit dem Pfad /boot/config-2.4.18-bf2.4 angegeben. Ich habe es auf einem sehr schnellen Laptop gemacht, wo ich ehrlich gesagt nicht sehen konnte, ob da etwas passiert ist oder nicht. War die Pfadeingabe soweit in Ordnung? Ist es überhaupt normal eine bestehende alte .config zu nehmen?
2. Bei der Bootfrequenz des neuen Kernel wurde PPP, devices wie /dev/ttySo und eth0 nicht erkannt. QM_Modules. Muss ich so etwas nachträglich installieren? Oder wird ein neuer Kernel immer nur für ein "nacktes" System erstellt und darauf aufgebaut?
3. Die in der Anleitung beschriebne Bearbeitung der lilo.conf kann so nicht stimmen. Bei mir wurde immer der alte Kernel geladen. Erst als ich die Parameter für den Standardkernel änderte wurde dieser geladen. Wie bringe ich Lilo dazu, mir eine Auswahl der vorhandenen Kernel anzuzeigen, die ich dann auswählen kann? Bei mir wurde Lilo in den MBR installiert.
4. Mir ist aufgefallen das der Kernel sehr groß ist.
Bei oldconfig - wo ich die Parameter selber ausgewählt habe - war er ca. 1.7 MB groß. Bei menuconfig ca. 1.5 MB. Ist das eine normale Größe?
5. Bei menuconfig wird nur make aufgerufen um den Kernel zu "backen". Ja?
In der Anleitung steht:
Danke für die Antworten.„make clean“ <- erklärt sich doch wohl slebst
„make bzImage“ <- Der Kernel wird erstellt
„make modules“ <- Die Kernel-Module werden erstellt
„make modules_install“ <- Nun werden sie installiert
Leslie
Dies ist die von mir genutzte Anleitung:
Diese Anleitung stammt von http://www.debianer.org.Als erstes solltest du dir „c and c++“ mit tasksel in der Shell installieren. Dann mit apt-get das Paket „libncurses-dev“ -> „apt-get install libncurses-dev“.
Dannach benötigen wir das Kernel-Paket von Kernel.org entweder via FTP oder HTTP runterladen.
wget http://www.kernel.org/pub/linux/kernel/ ... 6.4.tar.gz
Sobald der Download beendet ist, verschieben wir das heruntergeladene tar.gz Paket nach /usr/src/ Dies kann enteweder mit dem Befehl „mv“ <- move/bewege oder mit dem Programm „mc“ <- Midnigt Commander in der Shell gemacht werden.
Nun sollte die Datei „linux-2.6.4.tar.gz“ in dem Ordner /usr/src/ liegen. Dort wird sie mit dem Befehl „tar xzvf linux-2.6.4.tar.gz“ entpackt.
Von dem entpacktem Verzeichnis ertellen wir jetzt ein Link mit
„ln -s /usr/src/linux-2.6.4 /usr/src/linux“. Das Verzeichnis „linux“ braucht nicht extra ertellt werden, passiert automatisch!
Jetzt sind wir mit den Vorbereitungen fertig und es kann mit dem Kernel backen begonnen werden.
Dazu wechseln wir in das Verzeichnis „/usr/src/linux“ und geben „make mrproper“ ein. Einfach durchlaufen lassen.
Nun geht es los. Es gibt drei Arten wie ihr euren Kernel konfigurieren könnt.
„make menuconfig“ oder „make oldconfig“ oder „make xconfig“.
Um xconfig ausführen zu können, benötigt ihr das Paket "libqt-dev" -> "apt-get install libqt-dev".
Probiert am besten alle drei einmal aus. Alle drei sind gut zu bedienen und slebst erklärend.
Wenn ihr euch nicht sicher seit, was für ein Treiber benutzt werden sollte könnt ihr eure alte Konfiguration die bei der erst installation der Distribution erstellt wird benutzen. Diese findet ihr unter „/boot“. Sie heißt „.config“. Es kann aber auch sein das die Datei „.config-2.4.20-bf2.4“ oder ähnlich heißt. Je nachdem welche Debian Version (Bonzai, Knoppix etc.) man benutzt.
Wenn nun alles fertig ist und ihr keinen Treiber vergessen habt solltet ihr dann die aktulle Konfiguration speichern und das jeweilige Programm verlassen.
Jetzt braucht ihr nur noch vier Befehle hintereinander auszuführen und der Kerrnel ist so gut wie fertig.
„make clean“ <- erklärt sich doch wohl slebst
„make bzImage“ <- Der Kernel wird erstellt
„make modules“ <- Die Kernel-Module werden erstellt
„make modules_install“ <- Nun werden sie installiert
Das erstellte Kernel-Image findet ihr unter „/usr/src/linux/arch/i386/boot/“ Das Image heißt „bzImage“. Dies kopiert ihr nun mit dem Befehl „cp“ <- copy oder wieder mit „mc“ nach /boot. Am besten benennt ihr es um in „bzImage-2.6.4“ so bleibt der alte Kernel erstmal drin falls der aktuelle doch nicht funktionieren sollte. Das alte Kernel-Image heißt auch „bzImage“. Passt also bitte auf das ihr es nicht überschreibt!
Den gleichen Schrittt macht ihr für die Datei „System.map“ die ihr unter „/usr/src/linux“ finden werdet. Diese bennent ihr in „System.map-2.6.4“ um und kopiert sie nach /boot. Sie ist kein Kernel-Image wird aber beim Start benötigt.
Nun muss nur noch ein kleiner Eintrag in der „lilo.conf“ getätigt werden, damit wir den neuen Kernel auch starten können (entweder mit „mc“ oder mit „vi“). Grub benutzer müssen leider in den Man-Pages schauen wie sie den neuen Kernel eintragen müssen. Ich gehe jetzt einfach mal davon aus, das fast jeder lilo benutzt (ich selbst auch). Die „lilo.conf“ findet ihr unter dem Ordner „/etc“. Dort trägt ihr folgende drei Zeilen ein:
„image=/boot/bzImage-2.6.4“ <- Pfad zu dem Kernel-Image
„label=XYZ“ <- Einen Namen z.B. „Debian_2.6.4“
„read-only“ <- erklärt sich mal wieder selbst
Schließen, speichern nicht vergessen und einfach mal den befehl „lilo“ ausführen damit lilo aktualiesiert wird. Dies sollte dann so aussehen:
WKS-Test:/etc# lilo
Added Linux *
Skipping /vmlinuz.old
Added Debian_2.6.4
Added WinNT(hda1)
WKS-Test:/etc#