[linux-l] Uncompressing Linux...

Oliver Beck manofwar at web.de
Mi Jan 14 19:32:10 CET 2004


Hallo nochmals,


also, das hat mir einfach keine Ruhe gelassen...
Ich habe nochmals einen Vanilla-2.4.20 entpackt und ein `make config`
abgesetzt, um auch garnichts zu übersehen. Nach dem obligatorischen
`make dep && make bzImage && make modules && make modules_install`, des
kopieren des Kernels und der System.map und der Anpassung der
/boot/grub/menu.lst brachte ein reboot, man soll's kaum Glauben, ein
bootendes Linux zum Vorschein. Keine Ahnung woran es gelegen hat.
Aber ein 2.4.20er Kernel, der mit patch-2.4.2[1,2,3,4] zu 2.4.24
gepatcht wurde, kompiliert zwar durch, hat aber selbigen in der ersten
Mail beschriebenen Effekt.

Ok, nun geht's zur Sache.

Ich habe also im Verzeichnis /usr/src/debug-kernel ein `tar -xf
/usr/src/tars/kernels/linux-2.4.20.tar` abgesetzt und zur nächst höheren
Version mit `cat /usr/src/patches/kernels/patch-2.4.21 | patch -p1`
gepatcht. Danach ein `cp ../linux-2.4.20/.config .` und ein `make
oldconfig` und das bekannte Backrezept für den Kernel. Dieser bootet,
hat aber Probleme mit dem Framebuffer (keine Anzeige), mit der
Autodetection der System.map [s.U.], mit ide[1,0]=autodetect, agpgart
[Unsupported Via chipset...] und er weist agpgart 189Mb Hauptspeicher
zu, obwohl dieser im BIOS auf 16Mb begrenzt ist.
Das sind Dinge, die ich allesamt nicht brauch oder anderweitig lösen
kann. Das "ide[0,1]=autotune" kann ich leicht mit "hdparm" lösen.
Framebuffer ist nicht so wichtig und das mit dem AGP wird auf einem
Server ja auch wohl kaum benötigt, kann also auch deaktiviert werden.

(Im Gegensatz zu dem 2.4.24 bootet der komplett, was sich ja durch die
Aktivitäten der Festplatte und der Reaktion auf <Strg>-<Alt>-<Entf> und
die Einträge in "/var/log/sys.log" bestätigen lässt. Das war bei dem
2.4.24er nicht der Fall.)


Ein Blick in die "/var/log/sys.log" bringt zutage, das keine FB-Device
angeschlossen wird. Das nächste Problem wäre die System.map. Linux läd
sich die Module aus der "System.map-2.4.20", was natürlich schief geht.
Eine "System.map-2.4.21" ist vorhanden und der zu bootende Kernel hört
auf den Namen "vmlinuz-2.4.21". Vielleicht hat jemand einen Tip dazu.
Ist aber Primär unwichtig, da ich vielleicht noch vor habe, einen
statischen Kernel zu basteln.

Mein weitere Werdegang wird sein, das ich jetzt Patch für Patch den
Kernel finde, der nicht bootet. Wenn ich auf diesen gestoßen bin hatte
ich vor die Vorversion (der, der noch bootet) fertig zu konfigurieren.
Wenn das geschehen ist, dachte ich mir, das ich dann den Main-Patch
(patch-2.4.2X) so weit auseinander pflücke, das ich jede Datei einzeln
Patchen kann. Ist jemand eine Möglichkeit bekannt, aus einem Patchfile
solch eine Struktur zu erstellen? (Also, das ich alle in dem Patch
befindlichen Dateien als seperate diff's in einem von mir bestimmten
Verzeichnis wiederfinde.)

MfG/Best Regards Oliver Beck

-- 
 /"\ -ASCII-Ribbon-Campaign- |
 \ /    Against HTML Mail    | -Linux on an VIA EPIA-M9000-
  X      Against nontext     |    http://epia.std-err.de
 / \       attachments       |        (german only)



Mehr Informationen über die Mailingliste linux-l