Guida all`installazione di RTAI - LAR-DEIS

Transcript

Guida all`installazione di RTAI - LAR-DEIS
Guida all’installazione di RTAI
Gianluca Palli
DEIS - Dipartimento di Elettronica, Informatica e Sistemistica
Università di Bologna
Viale Risorgimento 2, 40136 Bologna, Italy
[email protected]
23 aprile 2009
Sommario
Breve guida per l’installazione di RTAI
Index Terms
RTAI, Linux, sistemi real time.
I. I NTRODUZIONE
La procedura è complessa e non esente da inconvenienti tipo errori di compilazione e quanto altro,
comunque se seguite la mia ricetta dovreste cavarvela abbastanza bene...
Premetto che la probabilità di successo utilizzando i pacchetti delle varie distribuzioni è prossima
allo zero assoluto!!!
Il modo più semplice consiste nel copiare i sorgenti che trovate all’interno del CD di RTAIKnoppix [1] nella cartella /usr/src/ e ricompilare il tutto nella sequenza corretta.
II. I L C OMPILATORE
Prima di tutto, il compilatore: ho sperimentato in passato alcuni problemi con le ultime versioni
del gcc (4.X), quindi consiglio di utilizzare il gcc-3.3 (o gcc-3.4).
Con i comandi:
gcc --version
g++ --version
verificate quale versione del compilatore avete sulla vostra macchina (segue una spiegazione algoritmica della procedura da seguire :) ).
if versione = 3.XX ; then
potete procedere senza problemi;
fi
if la versione è 4.XX ; then
verificate se è installata anche una versione precedente;
cd /usr/bin/ #questa directory potrebbe richiedere qualche
aggiustamento a seconda della distribuzione,
verificate in quale cartella siano il compilatore
con il comando "which gcc"
if [ -x gcc-3.* ] \&\& [ -x g++-3.* ] ; then
rm gcc; #tranquilli, è un link simbolico
ln -s gcc-3.XX gcc; #sostituire con la versione 3 più recente
rm g++; #tranquilli, anche questo è un link simbolico
ln -s g++-3.XX g++; #sostituire con la versione 3 più recente
else
installate il gcc-3.3.X e g++-3.3.X;
#per essere sicuri che anche i link vengano sostituiti
rm gcc; #sempre link simbolico
ln -s gcc-3.XX gcc; #sostituire con la versione 3 più recente
rm g++; #link simbolico
ln -s g++-3.XX g++; #sostituire con la versione 3 più recente
fi;
fi
if la versione è 2.XX ; then #consiglio; aggiornate il sistema !!! :)
installate il gcc-3.3.X e g++-3.3.X;
fi
III. C OPIA DEI SORGENTI ( SE USATE IL CD DI RTAI-K NOPPIX )
Copiate il contenuto delle cartelle (se usate il cd di RTAI-Knoppix)
/usr/src/linux-2.6.17.11
/usr/src/rtai-3.4
/usr/src/comedi
/usr/src/comedilib
/usr/src/Mesa-6.2
/usr/src/efltk
/usr/realtime
nelle corrispondenti cartelle sul vostro HD.
Create sul vostro HD i link simbolici
ln -s /usr/src/linux-yourversion /usr/src/linux
ln -s /usr/src/rtai-yourversion /usr/src/rtai
IV. P REPARAZIONE DEI SORGENTI ( SE NON USATE
Scaricate le versioni del kernel Linux e RTAI desiderate .
IL CD DI
RTAI-K NOPPIX )
Nell’eseguire questa operazione, consiglio di prendere l’ultima versione stabile di RTAI (al momento della scrittura di questo documento è disponibile la versione 3.7) e verificare quali versioni del
kernel Linux sono supportate dalle patch fornite con RTAI. Di conseguenza, scaricate una versione
compatibile del kernel di Linux (è consigliabile la versione più recente).
Scaricate e scompattate i sorgenti di Linux e di RTAI:
mv linux-yourversion.tar.gz /usr/src
mv rtai-yourversion.tar.gz /usr/src
cd /usr/src
tar xfvz linux-yourversion.tar.gz
tar xfvz rtai-yourversion.tar.gz
Create sul vostro HD i link simbolici:
ln -s /usr/src/linux-yourversion /usr/src/linux
ln -s /usr/src/rtai-yourversion /usr/src/rtai
Applicate la patch di RTAI ai sorgenti del kernel Linux:
cd linux
patch -p1 < /usr/src/rtai/base/arch/i386/patches/hal-linux-yourkernelversion
Per la configurazione del kernel si rimanda a riferimenti specifici [2]–[5].
Nel seguito sostituite la versione del kernel di Linux (2.6.17.11) e la versione di RTAI (3.4) con
le versioni da voi selezionate. La descrizione della procedura di installazione procede assumendo le
versioni disponibili nel CD di RTAI-Knoppix.
V. C OMPILAZIONE
DEL KERNEL
Sul vostro pc eseguite
cd /usr/src/linux
Se volete riconfigurare qualcosa nel kernel, compilare particolari moduli ecc... [2]–[5]
make menuconfig
Compilazione e installazione:
make clean
make
make install
make modules_install
Eventualmente generate un opportuno initrd per il vostro sistema. Questa operazione è fortemente
dipendente dal vostro hardware e dalla configurazione del kernel che avete scelto. Per informazioni
man mkinitrd
man update-initramfs
Abbiate cura di riconfigurare opportunamente il vostro bootloader per avviare il nuovo kernel. A
tale proposito consultate i manuali del vostro bootloader (normalmente nei PC vengono installati
LILO (nei sistemi vecchi) oppure GRUB).
man lilo
man grub
Ora potete riavviare la macchina con il nuovo kernel e verificare che il sistema funzioni correttamente. Con il comando
uname -r
dovrebbe comparirvi la scritta 2.6.17.11 che indica che avete caricato il kernel corretto, altrimenti
significa che qualcosa è andato storto...
VI. C OMPILAZIONE
LIBRERIE GRAFICHE
M ESA
cd /usr/src/Mesa-6.2
make clean
make linux
make install
Viene avviato uno script interattivo di installazione. Al primo avvio utilizzate le impostazioni di
default premendo invio ad ogni rischiesta. Una volta terminato rilanciate
make install
e scegliete come directory di installazione
/usr/X11R6/include
e
/usr/X11R6/lib
Al termine dello script lanciate il comando
ldconfig
VII. C OMPILAZIONE
cd /usr/src/efltk
./configure
./emake
./emake install
ldconfig
EFLTK
VIII. C OMPILAZIONE
DI
RTAI
Usate il comando
make menuconfig
per visualizzare le opzioni di configurazione di RTAI [6].
Compilazione e installazione:
make clean
make
make install
make dev
cp -r /usr/realtime/modules /lib/modules/2.6.9-adeos/rtai
depmod -ae
IX. L E
LIBRERIE
COMEDI
cd /usr/src/comedi
make clean
make
make install
make dev
cd /usr/src/comedilib
make clean
make
make install
ldconfig
X. C ONLUSIONI
Spero di non essermi dimenticato nulla e di avervi dato le istruzioni nell’ordine corretto. Segnalatemi eventuali problemi ([email protected]), cercherò di risolverli.
Buon divertimento... :)
R IFERIMENTI
[1]
[2]
[3]
[4]
[5]
[6]
[7]
BIBLIOGRAFICI
http://www-lar.deis.unibo.it/people/gpalli/files/rtai_knoppix.iso
http://www.opennet.ru/docs/HOWTO/Kernel-HOWTO-11.html
http://www.kernel.org/pub/linux/kernel/people/gregkh/lkn/lkn_pdf/ch04.pdf
http://tldp.org/HOWTO/Remote-Serial-Console-HOWTO/configure-kernel.html
http://www.linux.org/docs/ldp/howto/PPP-HOWTO/kernel-configuration.html
http://www.cse.iitb.ac.in/ cs684/RTATutors/RTAI_Install.pdf
https://www.rtai.org/RTAILAB/RTAI-Lab-tutorial.pdf