Archiv verlassen und diese Seite im Standarddesign anzeigen : kernel auf anderem system kompilieren?
also meine lage ist folgende:
ich hab einen router mit redhat 7.2, und ein PC mit RH 7.2.
nun will ich einen neuen kernel für den router kompilieren, da der router aber nur ein P133 ist dauert dass sicher einige stunden!?
jetzt hatte ich die idee den kernel auf dem anderen PC (TB 1333) zu kompilieren da es da um einiges schneller geht.
nun meine frage:
ist das ohne probleme möglich?
wenn ja wie funktioniert dass mit den modulen?
normalerweise macht man ja "make modules && make modules_install" und dann werden alle module installiert.
funktioniert es vielleich wenn ich nur make modules auf dem schnellen PC mache, und dann make modules_install auf dem P133?
Hallole,
Wenn Dein installierter Kernel und der zu kompilierende Kernel 2 verschiedene Versions-Nummern haben, ist es kein Problem, da die Module in ein Verzeichnis mit der jeweiligen Versions-Nummer kopiert werden ( /lib/modules/VERSION).
Du kannst also die Module normal kompilieren und installieren, dann das Verzeichnis /lib/modules/VERSION mit tar/gzip packen und per ssh auf den Server kopieren.
Sind's die gleichen Kernel-Versionen, musst Du vor dem Installieren der Module Dein originales Modul-Verzeichnis umbenennen, dann gleiches Vorgehen wie oben.
Ansonsten musst Du nur drauf achten, daß Du den Kernel für die richtige Architektur kompilierst ( müsste bei einem 133er i568 sein).
Gruß micha
d.h. ich muss nur dass verzeichnis linux-2.4.16 auf irgendeinen anderen namen umbenennen, und dann sollten die module im verzeichnis /lib/modules/NeuerName liegen?
Du meinst mit linux-2.4.16 das Verzeichnis unter /usr/src mit den Kernel-quellen ? - Nein ;)
Wenn Du "make modules_install" aufrufst, wird unter /lib/modules ein Verzeichnis ( der Kernelversion entsprechend ) erstellt, in Deinem Falle also /lib/modules/2.4.16/. Da Du aber das Verzeichnis schon hast, mit den Modulen Deines installierten Kernels, solltest Du das umbenennen, da sonst Deine Module mit denen von dem neu kompilierten Kernel überschrieben werden.
Nachdem Du es umbenannt hast, kannst Du die neuen Module mit "make modules_install" installieren.
Jetzt wird ein neues Verzeichnis unter /lib/modules angelegt, das die Module enthält.
Nachdem Du das Verzeichnis gepackt und auf den Server kopiert hast, kannst Du es löschen, und das Verzeichnis mit den alten Modulen wieder umbenennen.
Gruß micha
nein, wenn du dann "make modules" ausgeführt hast dann bennenst du kurzzeitig /lib/modules/2.4.16 in /lib/modules/2.4.16_old (oder so ähnlich) um.
dann führst du "make modules_install" aus und verschiebst die neuen /lib/modules/2.4.16 auf den zielrechner in das gleiche Verzeichnis. Natürlich auch den Kernel von ./arch/i386/boot/bzImage und die ./System.map nach /boot auf den Zielrechner kopieren und lilo konfigurieren und ausführen!
zuletzt auf dem Zielrechner "depmod -a" für die Module ausführen und /lib/modules/2.4.16_old wieder in /lib/modules/2.4.16 umbenennen.
Einfach?
mal ne Frage:
Der "Router" soll doch nur schwer angreifbar sein, oder?
Dann wuerde ich grundsaetzlich keine Module kompilieren, sondern
alles fest einbinden.
Ein Angreifer koennte Kernelmodule auf der Kiste fuer "wilde Dinge"
missbrauchen...
Daher sollte auch keinerlei Develeopment Zeuch auf dem Router liegen!
Servus
naja,
theoretisch schon, aber ich bin immer noch der meinung dass mir dass nicht passieren kann (firewall hab ich ja) ;)
aber wo ist der unterschied wenn ich alles in den kernel einkompiliere?
nomalerweise heißt es ja alles was nicht zum booten benötigt wird als modul kompilieren. bekomm ich sonst nicht probleme mit der größe des kernels?
red.iceman
01.12.01, 15:47
Mmh, ich will mich ja nicht einmischen, aber seit wann dauert das kompilieren auf einem p133 stunden???? selbst auf meinem 486er hats nie laenger als ne stunde gedauert. auf meinem p133-laptop dauerts so ungefaehr 15min...
ri
also ich hab noch keinen kernel am P133 kompiliert,
der langsamste PC af dem ich einen kernel kompiliert habe war ein AMD K2-2 300, und bei dem hats soviel ich mich erinnern kann ca. eine halbe stunde gedauert. und darum hab ich angenommen dass es bei einem P133 noch länger dauert ;)
red.iceman
01.12.01, 21:49
mmh, das versetzt mich zwar in "leichtes erstaunen", aber vielleicht hast du nen mega-kernel mit unzaehligen modulen. oder meiner ist unglaublich klein. oder keine ahnung...
mein schnellster compi ist ein p166 und ich hab garantiert noch keine stunde gewartet, bis der kernel fertig war. wenn ich zeit & lust habe, probiere ich es nochmal aus, mit stopuhr... ;-)
ri
red.iceman
02.12.01, 19:35
16 min auf meinem p166
hab erst ein make clean gemacht, damit er auch alles neu kompiliert. es ist ein modulfreier kernel mit netzwerk, scsi-emulation, soundkarte, firewall, ....
die ca. 15 min auf dem laptop muessten auch ungefaehr stimmen, da dort der kernel kleiner ist (weder netzwerk noch scsi-emu)
;-)
ri
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.