RedHat 4 (Lineox 4) in VMware mit BusLogic Treiber

N

nosajnbg

Grünschnabel
Hallo zusammen,

ich möchte gerne eine automatisierte Linux Installation in Vmware ESX Server ohne die Treiberdiskette einzulegen vornehmen. Also den benötigten Treiber in die DVD integrieren. Der Lösung bin ich in soweit auf der Spur, dass eine INITRD.IMG mit dem benötigten BusLogic.ko Modul erstellt wurde. Diese funktioniert auch so weit, nur wird das Kernelmodul nicht während der Installation auf die Festplatte übertragen. Ich habe mir mit einem kleinen Trick zwar bereits geholfen, jedoch ist das nicht der beste Weg. Es wird im Vorfeld der automatisierten Installationen eine Vmware Maschine mit Treiberdiskette durchgeführt aus diesem System werden folgende dateien kopiert: /boot/config-2.6.9-22.EL /boot/System.map-2.6.9-22.EL /boot/initrd-2.6.9-22.EL.img /boot/vmlinuz-2.6.9-22.EL

Erst mal die Technischen Daten der Testumgebung:

Vmware ESX Server
RAM: 1 GB
SCSI-HDD: 20 GB
Modus: BusLogic
Ethernet: Briged

Eingesetzte Software:
Lineox 4.0.53 DVD mit Kernel 2.6.9-22.EL
VMware ESX Server Driver Disk für Red Hat Enterprise Linux 4.0 Update 2 (Lineox 4) vom 08.02.2006
Mkisofs Version 1.5.1.2
und Kickstartdatei zum Automatischen Installieren (was auch funktioniert)


Nun die bisherige Vorgehensweise:

0. Lineox mit Treiberdiskette installieren

Benötigt wird eine ISO-Datei oder DVD-ROM von Lineox 4 mit Kernel 2.6.9-22.EL sowie die BusLogic Treiberdiskette oder Disketten-Image von Vmware (http://download3.vmware.com/software/esx/dd.img.gz), diese legt man in den Vmware ESX Server ein und startet diese virtuelle Maschine. Während des Bootscreens [ESC] drücken und „CD-ROM“ auswählen. Anschließend

linux dd ks=http://<IP-WEBSERVER>/lineox/ks/ks.cfg

eingeben. Die Frage nach der Treiberdiskette mit „ja“ beantworten und „fd0“ für das Diskettenlaufwerk auswählen. Danach läuft die Installation automatisch in kurzer Zeit durch.

Mit dem jetzt installierten System können auch die nachinstallierten Kapitel bearbeitet werden.

jetzt kann die Grundstruktur der späteren DVD angelegt werden:

mkdir -p /root/lineoxdvd/image

Kopieren der benötigten Daten nach /root/lineoxdvd/image:

cp -f /boot/config-2.6.9-22.EL /root/lineoxdvd/image
cp -f /boot/System.map-2.6.9-22.EL /root/lineoxdvd/image
cp -f /boot/initrd-2.6.9-22.EL.img /root/lineoxdvd/image
cp -f /boot/vmlinuz-2.6.9-22.EL /root/lineoxdvd/image

Wichtig!
Die Anpassung der Kickstartdatei nicht vergessen. (Letztes Kapitel)

1. Vorhandene initrd.img bearbeiten:

Lineox DVD Version 4.0.53 in das DVD-Laufwerk (Kernel 2.6.9-22.EL) legen.

mount /media/cdrom

Den Inhalt der Lineox DVD nach /root/lineoxdvd kopieren:

mkdir /root/lineoxdvd

cp -Rf /media/cdrom /root/lineoxdvd

cp /root/lineoxdvd/isolinux/initrd.img /root/initrd.ext2.gz

Das Initrd Image ist standardmäßig mit gzip2 gepackt:

gunzip /root/initrd.ext2.gz

Verzeichnis erstellen um die das Initrd Image einzuhängen:

mkdir /media/initrd

Initrd Image einhängen:

mount -o loop /root/initrd.ext2 /media/initrd

2. BusLogic Treiberdiskette besorgen

Die BusLogic Treiberdiskette unter VMWare

http://download3.vmware.com/software/esx/dd.img.gz

herunterladen.

Treiberdiskette entpacken: gunzip dd.img.gz

Treiberdiskette mounten und Inhalt nach /root/lineoxdvd/buslogic kopieren.

mount -o loop /root/dd.img /media/floppy

cp -R /media/floppy/* /root/lineoxdvd/buslogic

3. BusLogic Modul hinzufügen

Die letzten drei Zeilen der Datei /root/lineoxdvd/budlogic/modinfo in die Datei /media/initrd/modules/module-info eintragen:

cat /root/lineoxdvd/buslogic/modinfo

Ausgabe: Version0
BusLogic
scsi
„BusLogic SCSI driver“

vi /media/initrd/modules/module-info

Die Zeilen eintragen und den vi-Editor mit [ESC] und :wq! verlassen.

Den Inhalt der Datei /root/lineoxdvd/buslogic/modules.dep in die Datei /media/intird/modules/modules.dep eintragen:

cat /root/lineoxdvd/buslogic/modules.dep

Ausgabe: BusLogic: scsi_mod

vi /media/initrd/modules/modules.dep

Den gewünschten Inhalt eintragen und den vi-Editor mit [ESC] und :wq! verlassen.

Den Inhalt der Datei /root/lineoxdvd/buslogic/pictable in die Datei /media/initrd/modules/pictable eintragen:

cat /root/lineoxdvd/buslogic/pcitable

Ausgabe: 0x104b 0x0140 „BusLogic“ „BusLogic|BT-946C (old) [multimaster 01]“
0x104b 0x0140 „BusLogic“ „BusLogic|BT-946C (BA80C30) [MultiMaster 10]“
0x104b 0x8130 „BusLogic“ „BusLogic|Flashpoint LT“

vi /media/initrd/modules/pcitable

Den gewünschten Inhalt eintragen und den vi-Editor mit [ESC] und :wq! Verlassen.

3.1. BusLogic Modulliste entpacken

Die Module sind in einem Gzip2 komprimierten Cpio-Archiv unter /media/initrd/modules/modules.cgz

gunzip -c /media/initrd/modules/modules.cgz > /root/modules.cpio

cd /root

cpio -idv < /root/modules.cpio

Nun entsteht ein Verzeichnis mit Versionnummer des Kernels unter /root. In jedem dieser Verzeichnisse befindet sich ein BusLogic Modul für den jeweiligen Kernel.

/root/2.6.9-22.EL/i686
/root/2.6.9-22.ELhughmem/i686
/root/2.6.9-22.ELsmp/i686

Das benötigte BusLogic Modul für die VMware Maschine befindet sich unter /root/2.6.9-22.EL/i686.

cp /root/2.6.9-22.EL/i686/BusLogic.ko /root

Die Verzeichnisse wieder löschen:

rm -Rf /root/2.6.9-22.EL*

Nun mit dem nächsten Schritt fortfahren.

3.2. Modulliste Initrd.img entpacken

Die Module sind in einem Gzip2 komprimierten Cpio-Archiv unter /media/initrd/modules/modules.cgz

gunzip -c /media/initrd/modules/modules.cgz > /root/modules.cpio

cd /root

cpio -idv < /root/modules.cpio

Nun entsteht ein Verzeichnis mit Versionnummer des Kernels unter /root. In dieses Verzeichnis können eigene Module integriert oder nicht benötigte Module gelöscht werden.

/root/2.6.9-22.EL/i686

3.3. BusLogic Modul in Modulliste kopieren

Da jetzt die Modulliste in das Verzeichni /root/2.6.9-22.EL entpackt wurde, kann jetzt das BusLogic Modul mit einem einfachen Kopier befehl dorthin befördert werden.

cp /root/BusLogic.ko /root/2.6.9-22.EL/i686

Berechtigung des BusLogic Kernelmoduls anpassen:

chmod u+x /root/2.6.9-22.EL/i686/BusLogic.ko

Alle zu integrierende Module können nach dem oben beschriebenen Schema integriert werden.

3.4. Modulliste packen

Nachdem die benötigten Kernelmodule in die Kernelliste integriert wurden, müssen folgende Befehle ausgeführt werden.

cd /root

Modulliste zusammen fassen:
find /root/2.6.9-22.EL -print -depth | cpio -ov -H crc > /root/modules.cpio

Modulliste packen:
gzip -c9 /root/modules.cpio > /root/modules.cgz

Modulliste in initrd.img kopieren:
cp -f /root/modules.cgz /media/initrd/modules/

4. Initrd.img packen

Das initrd.img unmounten:
umount /media/initrd

Das initrd.img in ursprünglichen Namen umbenennen:
mv /root/initrd.ext2 /root/initrd

Das initrd.img packen:
gzip -c9 /root/initrd > /root/initrd.img

Abschließend wird das initrd.img in das isolinux Verzeichnis zurück kopiert:
cp -f /root/initrd.img /root/lineoxdvd/isolinux/

5. ISO-Image erstellen

Es wird mindestens Version 1.5.1.2 von mkisofs benötigt, da vorhergehende Versionen nicht alle Features unterstützen.

cd /root/lineoxdvd

mkisofs -o /root/neu-boot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-info-table -R -J -v -T ./

6. Anpassungen der Kickstartdatei

In die Kickstartdatei folgende Zeilen aufnehmen:

deviceprobe
device scsi BusLogic

und unter %post:

# Buslogic Treiber Modul kopieren
#/bin/cp /media/cdrom/BusLogic.ko /lib/modules/2.6.9-22.EL/updates
mkdir -p /lib/modules/2.6.9-22.EL/updates
cp /mnt/source/BusLogic.ko /lib/modules/2.6.9-22.EL/updates
cp /mnt/source/BusLogic.ko /lib/modules/2.6.9-22.EL/kernel/drivers/scsi
echo "/lib/modules/2.6.9-22.EL/updates/BusLogic.ko: /lib/modules/2.6.9-22.EL/kernel/drivers/scsi/scsi_mod.ko" >> /lib/modules/2.6.9-22.EL/modules.dep
rm -f /boot/config-2.6.9-22.EL
rm -f /boot/System.map-2.6.9-22.EL
rm -f /boot/initrd-2.6.9-22.EL.img
rm -f /boot/vmlinuz-2.6.9-22.EL
cp -f /mnt/source/image/config-2.6.9-22.EL /boot/
cp -f /mnt/source/image/System.map-2.6.9-22.EL /boot/
cp -f /mnt/source/image/initrd-2.6.9-22.EL.img /boot/
cp -f /mnt/source/image/vmlinuz-2.6.9-22.EL /boot/
rm -f /etc/modprobe.conf
/usr/bin/echo "alias scsi_hostadapter BusLogic" > /etc/modprobe.conf
/usr/bin/echo "alias eth0 pcnet32" >> /etc/modprobe.conf
#/usr/bin/echo "alias eth1 pcnet32" >> /etc/modprobe.conf
#/usr/bin/echo "alias eth2 pcnet32" >> /etc/modprobe.conf
#/usr/bin/echo "alias eth3 pcnet32" >> /etc/modprobe.conf
#/usr/bin/echo "alias eth4 pcnet32" >> /etc/modprobe.conf
 
aaaab ins Wiki damit! :-) Imho ist das hier im Forum viel zu unübersichtlich.
 

Ähnliche Themen

Ubuntu X / dbus problem

[HowTo] Debian Installation mit Installer über SSH

RH9 - Startprobleme nach einspielen von Acronisimage auf anderen Rechner

Textkonsole mit KMS zu klein

IBM T22, Debian Etch 4, X-server start nach Neuinstall

Zurück
Oben