ELKS Logo ELKS FAQ - Fran�ais Baby Linux Logo

| Website History | Download | FAQ | History | Introduction | Mailing Lists | News | Releases | Home |


Le document pr�sent est destin� � r�pondre aux questions les plus fr�quentes concernant l'ELKS (Embeddable Linux Kernel Subset), aussi appel� Linux-8086. Ce nouveau noyau est en effet destin� � tourner sur les plus petits PC fonctionnels existants, les XT (principalement 8086 et 8088).

Cette FAQ (Foire Aux Questions), maintenue par Arnaud Launay, est bas�e sur la FAQ d'Al Riddoch, elle-m�me d�riv�e de la FAQ originale de Brian Candler. La derni�re version de la Faq originale (en anglais) est accessible sur http://www.ecs.soton.ac.uk/elks.

Des informations compl�mentaires peuvent �tre trouv�es sur l'ELKS Home Page.

Il existe par ailleurs une liste de diffusion en Anglais. Pour s'y abonner, envoyez un message (sans sujet et sans signature) � majordomo@vger.kernel.org, contenant dans le corps les mots subscribe linux-8086. Les archives de cette liste peuvent �tre trouv�es sur http://lemur.ecs.soton.ac.uk/~threader/LEMUR_lists.cgi.

Pour se d�sabonner de la liste et ne plus recevoir les nombreux messages des usagers, envoyez un message (sans sujet et sans signature) � majordomo@vger.kernel.org, contenant dans le corps les mots unsubscribe linux-8086.

ELKS n'est pas Linux, et la liste de diffusion, malgr� son nom, n'est pas le bon endroit pour poser des questions sur Linux. Voyez plut�t des groupes de discussion comme comp.os.linux.answers ou fr.comp.os.linux.


Section 1 - G�n�ral

Section 2 - Compilation et Installation

Section 3 - Utiliser ELKS


Q1.1. Qu'est ce que l'ELKS ?

L'ELKS est le Embeddable Linux Kernel Subset, un projet de construction d'un petit noyau correspondant � Linux (qui aura plus ou moins les fonctionnalit�s d'UNIX V7 dans le noyau) qui peut tourner sur des machines dont les ressources processeur et m�moire sont limit�es. Les cibles initiales sont les Intel 8086 et �ventuellement les 286 en mode 16 bits prot�g�. Un noyau pouvant tourner sur ce type de machine peut �tre utile pour les syst�mes int�gr�s, pour le d�ploiement informatique du Tiers-Monde o� les machines 80x86 x>0 ne sont pas facilement disponibles, et pour l'utilisation sur divers portables.

Plus d'informations sur l'arri�re-plan, les buts et le status actuel du projet peuvent �tre trouv�s sur l'ELKS Home Page.

Q1.2. Comment l'ELKS peut-il �tre compar� au Linux Standard ?

ELKS est d�velopp� comme un noyau de substitution au vrai Linux, et doit �tre suffisamment petit pour �tre compris par une seule personne, pour ainsi devenir un in�valuable moyen d'apprentissage. Il en est pour l'instant aux premiers stades de d�veloppement, et de gros morceaux sont manquants, comme:

Ceci �tant dit, le syst�me peut d�j� �tre lanc�, donne des consoles virtuelles, monter un lecteur de disquette en syst�me de fichiers minix, et permet de lancer un petit programme; les derniers d�veloppements permettent le lancement de sash, un petit shell.

Q1.3. Existe-t-il une version "pr�te � l'emploi" (ready-to-run) de l'ELKS ?

Pas pour le moment. Vous devrez utiliser une machine Linux standard, charger les sources, et cross-compiler pour g�n�rer le code 8086. Les images disques boot et root sont fournies avec la version actuelle de l'ELKS, mais elles sont uniquement pr�vues comme plateformes de tests pour le syst�me, et leur utilisation est assez limit�e. Cependant, il devrait probablement y avoir une distribution d'une sorte ou d'une autre dans quelques mois.

Michael Strates pr�pare actuellement la distribution Bluebell, mais rien n'est encore fait. Si vous d�sirez rejoindre l'�quipe de d�veloppement, contactez-le: le recrutement est en cours.

Q1.4. ELKS peut-il tourner sur un 8088 ?

Le 8088 est identique au 8086, sauf qu'il a un bus de donn�es externe en 8 bits, au lieu de 16 bits; il est donc plus lent. Ainsi, oui, l'ELKS peut tourner sur un 8088.


Section 2 - Compilation et Installation

Q2.1. O� puis-je trouver les sources ?

L'environnement de d�veloppement Dev86 se trouve sur la page de Robert de Bath.

Le site de base du d�veloppement se trouve sur ftp://linux.mit.edu/pub/ELKS/. Les autres sites o� l'ELKS et Dev86 peuvent �tre trouv�s sont:

Si vous connaissez d'autres sites, ou d�sirez en cr�er un, contactez le responsable : Alistair J. Riddoch.

Vous pouvez �galement r�cup�rer les derni�res sources de l'ELKS en utilisant cvs par la proc�dure suivante:

	export CVSROOT=:pserver:anonymous@elks.sf.net:/cvsroot/elks
	cvs login
	cvs -z9 get elks
	cvs -z9 get elkscmd
	cvs -z9 get elksnet

Lorsque cvs vous demandera votre mot de passe, tapez simplement ENTREE.

Q2.2. Comment cr�er un noyau ELKS ?

Chargez dev86/Dev86src-0.14.8.tar.gz et elks/elks-0.0.88.tar.gz (ou les derni�res versions) de linux.mit, ou l'un des autres sites. D�compressez les, par exemple, dans /usr/src :

	tar -xvzf Dev86src-0.14.8.tar.gz -C /usr/src
	tar -xvzf elks-0.0.79.tar.gz -C /usr/src

L'environnement de d�veloppement sera d�compress� dans /usr/src/linux-86, et les sources du noyau dans /usr/src/elks. Vous devrez ensuite compiler les outils de d�veloppement, incluant le compilateur sp�cifique bcc :

	cd /usr/src/linux-86
	make

Ceci fait, attaquez vous � la compilation du noyau:

	cd /usr/src/elks
	make dep
	make config
	make

(Si vous �tes habitu�s � compiler des noyaux Linux par gcc, vous serez amus�s par la rapidit� � laquelle celle-ci se fait !) Le r�sultat en est une image nomm�e Image, que vous pouvez copier sur une disquette format�e, ce qui vous permettra de lancer le noyau:

	dd if=Image of=/dev/fd0

ou bien

	make disk

Vous devriez maintenant pouvoir lancer le syst�me par la disquette, mais vous n'obtiendrez pas beaucoup plus sans disquette root � mounter. Pour cel�, vous avez sur le site ftp de l'elks un fichier nomm� images.zip; il contient un noyau (boot), une disquette principale (root) et une disquette 720k compl�te (comb) permettant de booter avec une seule disquette.

Vous pouvez �galement cr�er votre propre disquette principale; ceci sera d�velopp� en question 2.5.

Q2.3. J'obtiens une erreur m'affirmant que /usr/include/linux/vm86.h n'existe pas ?

Editez /usr/include/sys/vm86.h et remplacez #include <linux/vm86.h> par #include <asm/vm86.h>

Q2.4. Comment cr�er un 'init' pour ELKS ?

Une fois le noyau ELKS boot�, il lance /bin/init. Les sources d'un init pour l'ELKS peuvent �tre trouv�es dans le paquetage elkscmd.

A partir du noyau 0.0.56, sash fonctionne et est utilis� comme /bin/sh par la plupart des gens. Il peut �tre trouv� dans le paquetage elkscmd.

Pour de meilleurs r�sultats, copiez /etc/passwd et /etc/group d'une distribution Linux standard sur la disquette root; ainsi, ls -l fonctionnera proprement, et /usr/lib/liberror.txt pour que sash puisse reporter les erreurs.

Q2.5. Comment cr�er un 'root filesystem disk' ?

Vous devrez cr�er une disquette minix contenant les fichiers et octets appropri�s. Pour l'instant, 2 fichiers seulement sont n�cessaires - /dev/tty (4,0) et /bin/init, qui lancera le getty, qui a son tour lancera un shell. Vous pourrez egalement trouver les commandes classiques - mount, cp, cat, rm, ... Mais n'attendez pas beaucoup plus de l'elks pour l'instant... Il y a beaucoup de travail � faire.

Note: /dev/tty est diff�rent de celui que le Linux normal utilise (5,0).

Alternativement, si vous avez un noyau >= 2.0.x et mount >= 2.5k, vous pouvez utiliser le syst�me de fichiers loopback pour cr�er une image disque sur votre disque dur, et ensuite la basculer sur la disquette.

	dd if=/dev/zero of=root.image bs=1k count=80
	mkfs -t minix root.image
	mount -o loop root.image -t minix /mnt	# /mnt est le mount point
	...
	umount /disk
	dd if=root.image of=/dev/fd0

Surtout ne pas compresser l'image de la disquette root ! cette fonction n'est pas encore impl�ment�e dans l'elks.

Q2.6. Que faire si mon XT a un lecteur 360k ?

>Pr�parer les images boot et root devant tourner sur une autre machine requiert un peu d'attention, sp�cialement si la machine a un lecteur 360k. Les lecteurs 5'1/4 360k comportent des t�tes � 40 tracks, alors que les lecteur 1,2 Mo ont 80 tracks. Ainsi, un lecteur 1,2 Mo peut lire des disquettes 360k mais pas forc�ment les �crire, car le lecteur 1,2Mo �crira des tracks de taille moiti� moindre que celle attendue par le lecteur 360ko.

Une solution peut �tre de placer le lecteur 360ko comme 2nd lecteur de votre PC - ce qui vous permettra de formater les disquettes 360ko avec fdformat /dev/fd1d360 et cr�er un syst�me tel celui d�crit ci-dessus.

Une autre solution consiste � cr�er une image de la disquette, puis � la transf�rer sur le PC contenant le lecteur 360ko (avec un c�ble s�rie), et utiliser ensuite "rawrite" pour construire la disquette � partir de l'image.

Q2.7. Le programme rawrite

Rawrite est un programme permettant d'�crire une image sur une disquette. Il permet de transcrire les images du noyau ELKS et de sa root image associ�e sur 2 disquettes 360ko. Programmes n�cessaires:


Section 3 - Utiliser ELKS

Q3.1. Puis-je utiliser des binaires bcc sous Linux ?

Oui - en chargeant un module dans le noyau vous pourrez directement ex�cuter des binaires ELKS. Cel� rend le d�veloppement de programmes destin�s � tourner sous ELKS bien moins p�nible, puisque vous pouvez directement les tester sur un syst�me Linux normal (avec cependant comme r�serve le fait qu'ils peuvent ne pas fonctionner sous ELKS, si le programme utilise des implants du noyau qui n'existeraient pas encore dans ELKS).

	cd /usr/src/linux-86/elksemu
	make module
	insmod binfmt_elks.o

A noter, vous devrez relancer 'insmod' � chaque lancement.
Si, lors de la compilation du module, vous obtenez une erreur indiquant "modversions.h: no such file or directory", alors vous devrez �diter le Makefile pour retirer la r�f�rence � ce fichier, c'est-�-dire:

	MODCFLAGS=-D__KERNEL__ -Wall -Wstrict-prototypes -O2 \
		-fomit-frame-pointer -fno-strength-reduce -pipe \
		-m486 -DCPU=486 -DMODULE -DMODVERSIONS

Q3.2. Puis-je booter l'ELKS sous DOSEMU ?

Oui. ELKS peut se lancer avec dosemu > 0.63 et linux ^gt; 2.0.7. V�rifiez que votre lecteur de disquette est configur� correctement dans /etc/dosemu.conf, et utilisez l'option -A pour forcer le lancement sur la disquette.


This document is released under the terms of the GNU General Public Licence, version 2 only.