**** Merci à Brice Goglin pour ce Howto. **** HOWTO: INSTALLER LE CROSS-COMPILER GCC POUR MIPS (POUR LE TD DE SYSTEME) ####################################################################### 1) telecharger binutils-2.15 et gcc-2.7.machin, ainsi que les sources de NachOS (tarball ou CVS) chez votre TDman de systeme favori 2) suivre la procédure d'installation du cross-compiler mips de gcc 3) compiler NachOS comme indiqué ici en detail, l'installation se passe comme suit (en root quand il faut installer pour de vrai, evidemment): INTALLATION DU CROSS-COMPILER (sous LINUX): # telecharger les archives binutils et gcc -> $ wget http://dept-info.labri.fr/~guermouc/SE/sources/binutils-2.17.tgz $ wget http://dept-info.labri.fr/~guermouc/SE/sources/gcc-2.95.tar.gz # decompresser les archives : -> $ tar xzf binutils-2.17.tgz $ tar xzf gcc-2.95.tar.gz # installer binutils : -> $ cd binutils-2.17 $ ./configure --prefix=/usr/local/xgcc --host=i386-linux \ --target=decstation-ultrix $ make $ make install jusqu'ici normalement tout ce passe bien... Attention pour la compilation de gcc il faut utiliser une version anterieure a la version 4.0! # installer gcc : -> $ cd ../gcc-2.95 $ ./configure --host=i386-linux --target=decstation-ultrix \ --with-gnu-as --with-gnu-ld --prefix /usr/local/xgcc \ --local-prefix /usr/local/xgcc $ make c'est la que les vrais ennuis commencent: tout ca n'est pas tres compatible avec NachOS, donc il faut faire quelques manips : $ ar rc libgcc.a /dev/null $ ar rc libgcc2.a /dev/null ensuite, il faut mettre une ligne du makefile en commentaire, celle qui débute par ENQUIRE=... (la 265e ligne, normalement, avec un petit # au debut). la, l'install doit marcher en faisant: $ make LANGUAGES=c $ make install LANGUAGES=c bon la, evidemment, ca merdoie comme il faut: a la fin de chacun des appels de make, on a une erreur... mais c'est pas grave, on les ignore, ou plutot on les corrige, en copiant l'executable du cross-compiler dans le bon repertoire: $ cp gcc-cross /usr/local/xgcc/decstation-ultrix/bin/gcc et voila ! un cross-compiler tout beau qui fonctionne (au moins) pour compiler NachOS at home. COMPILATION DE NACHOS: # se placer dans le bon repertoire : -> $ cd (des trucs)/nachos/code/ # modifier l'un des makefiles : -> $ cd test/ $ vi Makefile dans ce makefile, modifier les lignes definissant le repertoire du cross-compiler, qui commencent par XGCCDIR=/home/bgoglin/(etc) en mettant a la place XGCCDIR=/usr/local/xgcc. # remonter et compiler : -> $ cd .. $ make Voila, les différents exécutable nachos sont prets. Par exemple, pour exécuter des programmes utilisateurs, rendez-vous dans /userprog et lancer votre premier appel systeme nachos (halt) : $ ./nachos -x ../test/halt voila. ca fonctionne.