Howto zaphfc mit RTAI und Kernel 2.6.11
Hallo,
nachdem ich mehrfach erfolglos versucht habe meinen 2.6.11er Kernel
mit RTAI 3.2test3 zum laufen zu bringen, habe ich nun nochmals Anlauf
genommen und diesmal hats geklappt. 3.2 ist für den 2.6.11 noch nicht
angepasst, aber mit dem Experimental RTAI/Fusion-0.7-Branch geht es.
Vielleicht kann sich mit meiner Beschreibung ein anderer die Zeit für
solche Versuche ersparen.
Ob's mit 2.6.12 klappt habe ich noch nicht probiert.
Zuerst Kernel-Sourcen mit wget holen, dann
cd /usr/src
tar xvjf linux-2.6.11.tar.bz2
ln -s linux-2.6.11 linux
Fusion holen mit:
wget
http://download.gna.org/rtai/experimental/fusion-0.7.tar.bz2
RTAI/fusion in /usr/src entpacken:
tar xjf fusion-0.7.tar.bz2
ln -s fusion-0.7 fusion
Kernel mit Adeos patchen (hier gleich mit im Paket):
cd /usr/src/linux
patch -p1 < ../fusion/arch/i386/patches/adeos-linux-2.6.11-i386-r9.patch
cp /proc/config.gz /usr/src (geht nur, wenn vorher im Kernel als Option vorhanden)
gunzip -d config.gz
make oldconfig
make-kpkg --revision=2.6.11 --append-to-version=-586-rtai --config=menuconfig --rootcmd=fakeroot --initrd kernel_image kernel_headers
dpkg -i ../kernel-image-2.6.11-586-rtai_2.6.11_i386.deb (Zu finden in /usr/src, falls Dateiname nicht richtig ist.)
reboot
cd /usr/src/fusion
make menuconfig
dabei Pfade überprüfen:
RTAI/fusion installation directory: default: /usr/realtime/
Kernel build directory: default: /lib/modules/`uname -r`/build
make install
Treiber für RTAI laden:
insmod /usr/realtime/modules/rtai_hal.ko
insmod /usr/realtime/modules/rtai_nucleus.ko
insmod /usr/realtime/modules/rtai_native.ko
Dann testen, ob RTAI läuft.
cd /usr/realtime/testsuite/[cruncher|klatency|latency|switch]
./run
Wenn alles OK, dann Bristuff installieren, und vorher prüfen, ob im Makefile von zaphfc auch RTAI nicht auskommentiert ist.
Ich musste vorher die alten Treiber in /usr/realtime der alten 3.2er-Inst. von Hand löschen, da ich sonst immer Fehler beim zaphfc bekam.
Ich hoffe ich habe nichts vergessen. Viel Glück!
Grüsse Asterix
Nachtrag
Habe feststellen müssen, dass immer noch 8000 Interrupts anliegen. Die Fehlersuche zeigte, das zaphfc nicht mit RTAI compiled, da im Makefile von zaphfc auf das Vorhandensein von /usr/realtime/include/rtai.h
geprüft wird. Fusion hat andere Dateinamen und die rtai.h gibt es nicht, damit wird zaphfc ohne RTAI erzeugt.
Schöner Mist, zu früh gefreut, wieder nichts gewesen. Obwohl RTAI jetzt läuft, wofür auch immer.
Obwohl ich subjektiv echt eine Verbesserung festgestellt hatte