Das von Dell entwickelte Hilfsprogramm Dynamic Kernel Module Support (DKMS), sorgt dafür, dass Kernelmodule, die manuell installiert wurden, immer dann aktualisiert werden, wenn ein neuer Kernel installiert wird. Somit entfällt der Aufwand, dies nach jedem Update manuell zu erledigen.
Von der HighPoint-Support-Seite die neueste Version des Treibers herunterladen
1 2 |
sudo su cd /tmp |
1 2 |
wget http://www.highpoint-tech.com/BIOS_Driver/rr231x_00/Linux/rr231x_0x-linux-src-v2.5-091022-1618.tar.gz tar xzf rr231x_0x-linux-src-v2.5-091022-1618.tar.gz |
Die notwendigen Pakete installieren
1 2 |
sudo apt-get update sudo apt-get install build-essential dkms |
Da der Treiber von HighPoint offenbar nicht mehr gepflegt wird, muss er für die Nutzung mit einem Kernel >= 2.6.37 zuerst gepatcht werden. Ein Mitglied aus dem Arch Linux Forums stellt dafür ein Paket bereit. Dieses kann nicht direkt unter Ubuntu verwendet werden, die Patches lassen sich aber trotzdem anwenden. Da der Treiber nicht offiziell zur Verfügung gestellt wird, besteht natürlich das Risiko, dass es zu einem Fehler bzw. Datenverlust kommen kann. Bei mir hat es bisher jedoch ohne Probleme funktioniert.
1 2 3 4 |
wget http://aur.archlinux.org/packages/rr/rr231x_0x/rr231x_0x.tar.gz tar xzf rr231x_0x.tar.gz patch -p1 -i rr231x_0x/scsi_lck.patch patch -p1 -i rr231x_0x/kernel3.patch |
Den Treiber in ein Verzeichnis nach dem Schema /usr/src/<module>-<module-version>/
verschieben
1 |
mv rr231x_0x-linux-src-v2.5 /usr/src/rr2310_00-2.5/ |
Die Konfigurationsdatei dkms.conf
anlegen
1 2 |
cd /usr/src/rr2310_00-2.5/ vi dkms.conf |
1 2 3 4 5 6 7 8 9 |
MAKE[0]="make -C product/rr2310pm/linux/ KERNELDIR=/lib/modules/$kernelver/build/" CLEAN="make -C product/rr2310pm/linux/ clean" BUILT_MODULE_NAME[0]="rr2310_00" DEST_MODULE_LOCATION[0]="/kernel/drivers/scsi/" BUILT_MODULE_LOCATION="product/rr2310pm/linux/" PACKAGE_NAME="rr2310_00" PACKAGE_VERSION="2.5" AUTOINSTALL="yes" REMAKE_INITRD="yes" |
Modul sata_mv
zur Blacklist hinzufügen
1 |
vi /etc/modprobe.d/blacklist.conf |
1 2 |
# replaced by rr2310_00 blacklist sata_mv |
Modul rr2310_00
in /etc/initramfs-tools/modules
eintragen, damit es für den Systemstart zum initramfs
hinzugefügt wird
1 |
echo rr2310_00 >> /etc/initramfs-tools/modules |
Verzeichnis zu DKMS hinzufügen
1 |
dkms add -m rr2310_00 -v 2.5 |
Modul mit DKMS kompilieren
1 |
dkms build -m rr2310_00 -v 2.5 |
Modul mit DKMS installieren
1 |
dkms install -m rr2310_00 -v 2.5 |
Um die Kernel-Version festzulegen, kann man die Option -k 2.6.32-27-generic
verwenden. Weitere wichtige Befehle sind unter anderem uninstall
, remove
, status
und mkdeb
.
Links
- ubuntuusers.de Wiki: DKMS
- CentOS Wiki: Build Your Own Kernel Modules
- Community Ubuntu Documentation: RocketRaid
- Community Ubuntu Documentation: Kernel DKMS Package
- Dell Linux Projects: DKMS
- Manpage of DKMS
- Dell TechCenter: Linux Projects
- HighPoint-Support-Seite: RocketRAID 2300 Series
- Arch Linux Forums: RAID Interface Mappings with RocketRaid 2310 (rr2310_00) fail in .37
- AUR: Package rr231x_0x 2.5-1
Ich habe die Anleitung genau befolgt jedoch kommt beim build:
root@alphaserver1:/usr/src/rr2310_00-2.5# dkms build -m rr2310_00
-v 2.5 Kernel preparation unnecessary for this kernel. Skipping…
Building module: cleaning build area…. make
KERNELRELEASE=2.6.38-8-server -C product/rr2310pm/linux/
KERNELDIR=/lib/modules/2.6.38-8-server/build/….(bad exit status:
2) Error! Bad return status for module build on kernel:
2.6.38-8-server (x86_64) Consult the make.log in the build
directory /var/lib/dkms/rr2310_00/2.5/build/ for more information.
0 0 ERROR: binary package for rr2310_00: 2.5 not found hat schon
jemand dieses Problem gelöst?
Unter Ubuntu 12.04 LTS hatte ich auch das Problem, dass der Treiber nicht mehr kompiliert werden konnte. Da er von HighPoint offenbar nicht mehr gepflegt wird, bleibt nur die Möglichkeit, ihn selbst zu patchen. Im Arch Linux Forums gibt es dafür ein Paket, das den Fehler beheben soll. Die Patches können auch unter Ubuntu verwendet werden und bei mir läuft es so wieder. Ich habe das ganze Prozedere oben ergänzt. 🙂