linux-l: Kernel mit anderem Rechner bauen

Guenther Thomsen tho at thomsen.isdn.cs.tu-berlin.de
Mo Aug 16 00:04:27 CEST 1999


In message <19990815233921.D1670 at lux>, Karl-Heinz Haag writes:
> Ich habe es noch nie gemacht und moechte damit keine Reinfaelle erleben: 
> 
> Wie muss ich vorgehen -was muss ich beachten- wenn ich einen 
> Kernel incl. Modulen auf einem anderen Rechner kompiliere als der, 
> auf dem er dann laufen soll? 
> (Hat jemand zusaetzlich eine Leseempfehlung?) 
> 
> Wie ist das mit den jetzigen 'System.map's und '/boot/map's? 
> 
> Meine "Ziellobjekte" sind Linux-i386 und haben Ethernetverbindung. 

Bei gleicher Architektur ist das voellig unkritisch.
Zu beachten ist nur, dass
i) die Module des hosts vor `make modules_install` in Sicherheit gebracht 
werden. (Sofern die gleiche Kernelversion/Subversion/Patchlevel auf host
und target verwendet wird bei unterschiedlichen CPUs. Bei gleichen CPUs
ist dies nicht noetig, wenn die Menge der Module des hosts eine Unter-
menge der Module des targets ist und Einigkeit ueber die Verwendung von
MODVERSIONS herrscht).

ii) auf `make boot` / `make lilo` o.ae. verzichtet wird und stattdessen,
nach `make dep && make {b}zImage && make modules && make modules_install`
arch/i386/boot/{b}zImgage und System.map an die gewuenschten Positionen
geschoben werden.

iii) ich weiss nicht, ob pgcc auch i386/i486 code erzeugt - im Zweifelsfalle
lieber den bewaehrten gcc-2.7.2.x oder egcs benutzen.

Guenther

PS: Am Schluss die gesicherten module dem host wieder zur Verfuegung stellen.
Bei einem echten Multiuser system sollten in dieser kritischen Zeit besser
alle moeglicherweise benoetigten Module manuell geladen werden, um so dass
(dann vergebliche) automatische Laden zu unterbinden.



Mehr Informationen über die Mailingliste linux-l