RRZE - Installation OpenSUSE Linux 10.1 auf FSC-PCs mit dem Chipsatz i965 und Broadcom Netzwerkkarte
Seit September 2006 ist die neue Generation der Fujitsu Siemens ESPRIMO Computer mit neuester Prozessortechnologie und neuem Chipsatz i965 verfügbar.
RRZE Mini Office-PC: FSC ESPRIMO C5910
RRZE Office-PC: FSC ESPRIMO E5915
RRZE Power-PC: FSC ESPRIMO P5915
RRZE Entry Workstation: FSC CELSUIS W350
Es wird empfohlen das neue OpenSuSE 10.2 zu verwenden, da dort volle Netzwerkunterstützung mitgebracht wird.
Hier einige Tipps und Anmerkungen zur Installation von SuSE Linux Enterprise Desktop 10:
Die neuen FSC-PCs werden standardmäßig mit einer Broadcom-Karte ausgeliefert, die derzeit vom Kernel noch nicht unterstützt wird. Für den SuSE Linux Enterprise Desktop 10 gibt es einen vorkompilierten Treiber für den Installationskernel. Auf dieser Webseite wird beschrieben, wie man die Rechner FSC P9515/E9515 mit Hilfe von CD und PXE installieren kann. Normalerweise verwendet OpenSuSE 10.1 einen anderen Kernel, der für diese Rechner nicht eingesetzt werden kann.
| Prozessor | Intel Core 2 Duo 1,86GHz |
| RAM | 2048 MB |
| Chipsatz | i965 |
| Grafikkarte | Intel i965 onboard |
| Festplatte | 160 GB (S-ATA) |
| DVD-RW | HL-DT-ST DVD-RAM GSA-H30N |
| Soundkarte | Intel HD Audio Controller onboard |
| Netzwerk | Broadcom BCM5755 |
Installation von CD/DVD
Die häufigste Installationsmethode für SuSE Linux ist von dem CD/DVDs. Dies funktioniert jedoch nur mit SuSE Linux Enterprise Desktop 10, da für OpenSuSE keine vorkompilieren Module angeboten werden.
Man läd sich die
DriverDisk e5915DriverDisk.tar.gz
herunter und entpackt es auf eine Diskette/CD/USB-Stick. Es darf in keinem Unterordner sein, sondern unter "/" des Devices.
Danach kann man es bei der Installation angeben und das Modul wird geladen.
Diskette:
mount /dev/fd0 /mnt/test
CD:
mount /dev/hd[x] /mnt/test
USB:
mount /dev/sd[x]1 /mnt/test
cd /mnt/test
tar -xzf /tmp/e5915DriverDisk.tar.gz
umount /mnt/test
Nun bootet man das System von CD/DVD und wartet auf den Auswahlbildschirm. Bevor man "Installation" wählt, drückt man F3 für "Other Options" und dann F5 für "Driver". Dort wählt man dann einfach "Yes" aus. Danach kann man die Installation starten. Sobald der Kernel geladen ist, fragt Yast nach dem Device auf dem das Driver Update zu finden ist. In meinem Fall war das sdb1 für den USB-Stick. Dort sucht er jetzt nach Driver-Updates und bindet diese automatisch ein. Es wird angezeigt, welche Treiber gefunden wurden. Yast fragt nach weiteren Update-Quellen, dort wählt man "Back" und die Installation startet standardmäßig. Allerdings benötigt man bei der Installation von CD/DVD garkein Netzwerk, aber die Treiber werden auch nach der Installation eingebunden.
Konfiguration des DHCP/PXE/TFTP-Server
Mit Hilfe von DHCP, PXE und TFTP lassen sich Rechner unter Linux leicht installieren. Über den DHCP-Server bekommt der Client seine Netzwerkinformationen, die für die weitere Installation benötigt werden. Auf dem DHCP-Server ist auch hinterlegt, von welchem Server und welches Bootfile geladen werden sollen. Wir gehen davon aus, dass schon eine funktionierende DHCP/PXE-Konstellation besteht und diese für diesen speziellen Fall auch erweitert werden kann.
Man besorgt sich ein RPM des zu verwendenden Kernels, in diesem Fall "kernel-default-2.6.16.21-0.8-x86_64.rpm" und kopiert es in den PXE-Baum.
Der Kernel für SLED10 ist nicht frei verfügbar, deswegen gibt es hierzu auch keinen Link.
Am besten legt man vorher ein neues Verzeichnis "x86_64-broadcom" an, damit es keine Verwechslungen gibt. Man kopiert schon eine bestehende Kernel/Initrd-Kombination in den Ordner.
Anschließend besorgt man sich das Skript
newkernel.sh,
wechselt in den Ordner "x86_64-broadcom" und führt das Skript aus.
cd x86_64-broadcom
./newkernel kernel-default-2.6.16.21-0.8-x86_64.rpm
Das Skript entpackt die alte und die neue (im RPM enthaltenen) Initrd und kopiert sie zu einer zusammen. Der Kernel wird auch extrahiert und unter "linux.new" abgespeichert. Jetzt entpackt man die neu enstandene Initrd "initrd.new" in einen Ordner. Den Ordner besser vorher anlegen und dann von dort aufrufen.
cd x86_64-broadcom
mkdir init
cd init
zcat ../initrd.new | cpio -id
Nun findet man unter init/lib/modules/override die Kernel-Module. Hier kopiert man nun das vorkompilierte Netzwerkkartenmodul "tg3.ko" hin und überschreibt das alte Modul.
Dann wechselt man wieder in "x86_64-broadcom".
Link zur Treiberdiskette:
e5915DriverDisk.tar.gz
cd x86_64-broadcom
depmod -a -b init 2.6.16.21-0.8-default
Damit ist das neue Modul in die Moduldatenbank aufgenommen, damit es beim Booten automatisch geladen werden kann. Nun erstellt man die Initrd neu.
cd x86_64-broadcom/init
find . | cpio -H newc --create | gzip -9 > ../initrd.new
Wenn alles funktioniert hat, kann man die neue Konfiguration umkopieren.
mv initrd.new initrd
mv linux.new linux
Danach kann der PC mittels PXE gebootet werden und startet normal die Installation übers Netz.
Nach der Installation muss darauf geachtet werden, welcher Kernel installiert wird, sonst gibt es keine Unterstützung für die Netzwerkkarte, da FSC das Modul nur für den Installationskernel zur Verfügung stellt.
Konfiguration des Systems nach der Installation
Nach der Installation ist ein anderer Kernel geladen, der das Netzwerkkartenmodul nicht kennt. Nun muss der Kernel auf den Rechner kopiert werden. Am einfachsten geht das, indem man das Kernel-RPM auf eine CD brennt oder einen USB-Stick nutzt.
Den Kernel kann man einfach mit hilfe von "rpm" installieren. Die Treiberdiskette von FSC muss entpackt werden.
cd /mnt/usb
rpm -Uvh kernel-default-2.6.16.21-0.8.x86_64.rpm
tar -xvzf e5915DriverDisk.tar.gz
Nun kopiert man das neue Modul in den Modulbaum des Kernels und erstellt eine neue Moduldatenbank.
cp /mnt/usb/linux/suse/x86_64-sled10/modules/tg3.ko /lib/modules/2.6.16.21-0.8-default/kernel/drivers/net
depmod -a
Normalerweise wird der vmlinuz-Symlink bei der Installation eines Kernels automatisch geändert. Falls nicht müssen diese manuell angelegt werden.
ls -la /boot
Ausgabe:
[...]
initrd -> initrd-2.6.16.21-0.8-default
vmlinuz -> vmlinuz-2.6.16.21-0.8-default
[...]
Falls die Ausgabe etwas anderes zeigt, löschen sie die beiden Links "initrd" und "vmlinuz" und erstellen sie neu.
rm vmlinuz initrd
ln -s initrd-2.6.16.21-0.8-default initrd
ln -s vmlinuz-2.6.16.21-0.8-default vmlinuz
Nach einem Reboot sollte das System mit Netzwerkunterstützung hochfahren.
Wenn man einen Paketmanager benutzt, wäre es günstig das Kernel-Paket vor Updates zu schützen. Beim Paketmanager
smart
funktioniert das folgendermaßen.
Es gibt auch eine Seite zu
Smart vom RRZE mit weiteren Hinweisen
/usr/bin/smart flag --set lock kernel-default
Damit wird der Kernel bei Updates ignoriert und nur alle anderen Pakete installiert.



