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