Zusätzliche (Kernel)Komponenten¶
Komponenten¶
Es gibt eine Reihe von Komponenten, die man nur in einem laufenden System akzeptabel integrieren kann, das kann ein gebootetes Stage1-System sein (NFS, RW) oder das Referenzsystem, von dem Stage2 geklont wird. Folgende Komponenten sind dann auf diesem Wege zu installieren:
- VMware/Player - hier ist das Skript vmware-config.pl aufzurufen, welches die Kernelmodule vmmon.ko und vmnet.ko generiert und installiert.
- ATI - Proprietäre Beschleunigung für ATI-basierte Grafikkarten. Das Paket lässt sich auch auf Systemen installieren, die keine solche Karte enthalten. Dazu muss man zuerst ati-driver-installer-8.X.YY.run aufrufen und anschliessend noch aticonfig --initial starten (vorher die xorg.conf sichern, da diese angepasst wird).
- NVidia - Proprietäre Beschleunigung für NVidia-basierte Grafikkarten. Das Paket lässt sich leider nicht auf Systemen installieren, die keine solche Karte enthalten. Damit wird das deutlich schwieriger ... Es gibt zumindest für SuSE ein [ftp://download.nvidia.com/opensuse/10.2 Repository für die NVidia-Sachen].
- UnionFS - dieses spezielle Filesystem ist wohl erst ab 2.6.21 Bestandteil des Kernels. Es ist bei einigen Distributionen schon dabei, aber beispielsweise bei OpenSuSE10.2 nicht nutzbar. Siehe auch UnionfsBenutzen.
- AUFS - Alternative zu UnionFS, die beispielsweise auf einem OpenSuSE10.2 funktioniert. Siehe auch AufsBenutzen.
Es ist zu beachten, dass ein Kernel-Update automatisch das Update der externen Kernelmodule zwingend nach sich zieht!!
Kernelmodule¶
Zusätzliche Module kann man wie folgt in einfügen: (am Beispiel UnionFS)
Auf dem Referenzsystem (bzw. Stage1 RW-exportiert):- Den gewünschten Kernel booten
- Modul runterladen
- Kompilieren
- das Modul (z.B. unionfs.ko) in /lib/modules/.../kernel/fs/unionfs o.ä. einfügen
- depmod -a ausführen
- Das Modul (z.B. unionfs.ko) separat auf den Server an die entsprechende Stelle kopieren (/nfsroot/10.1/lib/....)
- Vom Referenzsystem /lib/modules/.../modules.* auf den Server an die entsprechende Stelle kopieren (/nfsroot/10.1/lib/modules/...)
- Je nach Stage2-Export beispielsweise das SquashFS neu generieren lassen
- Das Initialramfs mit dem neuen Modul(en) neu erzeugen - siehe MkinitrdHowto
- Nach einem Kernel-Update in /tftpboot/pxelinux.cfg/... ein neues Ramfilesystem erzeugen und beide entsprechend eintragen
Kernelupdate¶
Solange sich das ABI (Application Binary Interface) des Kernels nicht ändert, müssen bei einem Kernel-Update nicht zwangsläufig alle (eigenen, externen) Module neu gebaut werden. Hierfür gibt es das Konzept der "weak updates".