Département de génie électrique. ELE784 - Ordinateurs et programmation système. Laboratoire #1



Documents pareils
CSI351 Systèmes d exploitation Instructions pour rouler Linux avec Virtual PC dans la salle de labo 2052

Comment configurer Kubuntu

Cours LG : Administration de réseaux et sécurité informatique. Dans les Paramètres Système onglet Processeur, le bouton "Activer PAE/NX"

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Boot Camp Guide d installation et de configuration

INSTALLATION ET PRISE EN MAIN

Itium XP. Guide Utilisateur

Guide d utilisation de la clé mémoire USB

Table des matières...2 Introduction...4 Terminologie...4

Installation ou mise à jour du logiciel système Fiery

Notice de fonctionnement DVR H Méthode de Visionnage ESEENET

Documentation FOG. Déploiement d images de systèmes d exploitation à travers le réseau.

Tutoriel déploiement Windows 7 via serveur Waik

TP1 - Prise en main de l environnement Unix.

Note Technique : Sauvegarder un NAS ND16000 ou ND26000 sur un disque dur externe USB ou esata

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

Démarrer et quitter... 13

USTL - Licence ST-A 1ère année Initiation à la programmation TP 1

NETWORK & SOFTWARE ENGINEERING MANUEL D UTILISATEUR. Logiciel TIJARA. NETWORK AND SOFTWARE ENGINEERING Manuel d'utilisateur "TIJARA" 1

Interface PC Vivago Ultra. Pro. Guide d'utilisation

Mac OS X 10.6 Snow Leopard Guide d installation et de configuration

Administration de Parc Informatique TP07 : Installation de Linux Debian

Tutorial Terminal Server sous

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

MI03 TP. Objectifs du TP 1ère séance. 2ème séance. Construction d'un système linux embarqué complet

Virtualisation de Windows dans Ubuntu Linux

Installation du transfert de fichier sécurisé sur le serveur orphanet

avast! EP: Installer avast! Small Office Administration

DOCUMENT D ACCOMPAGNEMENT POUR L INSTALLATION DU LOGICIEL ESTIMACTION

WINDOWS NT 2000: Travaux Pratiques. -Boîtier partage d'imprimante- Michel Cabaré Janvier 2002 ver 1.0

Installation software

Installation Guide Serveur d impression et de stockage multifonctions à 2 ports USB 2.0 haute vitesse Manuel de l utilisateur

SQL Data Export for PS/PSS

Guide de l utilisateur

Club informatique Mont-Bruno Séances du 05 octobre et du 24 octobre 2012 Présentateurs : Réjean Côté

Composition d un ordinateur :

Machine virtuelle W4M- Galaxy : Guide d'installation

Mes documents Sauvegardés

(1) XDCAM Browser

Lutter contre les virus et les attaques... 15

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

Tutorial uclinux ARM7 Development Starter Kit. Pragmatec Produits et services dédiés aux systèmes embarqués. uclinux - Mise en oeuvre

Accès aux ressources informatiques de l ENSEEIHT à distance

Bac Professionnel Systèmes Electroniques Numériques

Procédure d installation pour WinEUR PROCÉDURE D INSTALLATION POUR WINEUR. Copyright GIT SA 2015 Page 1/16

MIGRATION ANNEXE SAINT YVES. 1 : L existant. Pourquoi cette migration Schéma et adressage IP. 2 : Le projet. Schéma et adressage IP.

Transférer des fichiers à l aide de WinSCP et 2 contextes d utilisation dans des sites SPIP avec FCK editor

RECOPLUS LOGICIEL DE GESTION DES RECOMMANDES NOTICE D UTILISATION DE RECOPLUS RESEAU. N de série

Manuel de l utilisateur

Manuel d installation et d utilisation du logiciel GigaRunner

Organiser ses photos sur l ordinateur

Bon ben voilà c est fait!

Utiliser Net Support School (NSS Version ) Philippe Cailleretz Er-Tice Avion mars 2011.

Il est courant de souhaiter conserver à

Connected to the FP World

Consignes générales :

WGW PBX. Guide de démarrage rapide

Mise en place d un serveur trixbox sur un domaine Kwartz. Version 1.0 du 25 juin 2012 Lycée Polyvalent d Artois, Noeux les Mines Adrien Bonnel

JaZUp manuel de l'utilisateur v2.4

PACK ADSL WIFI. Configurer ma connexion ADSL avec Modem/Routeur Sagem 1400W

Retrouver un mot de passe perdu de Windows

Guide d utilisation de PL7 Pro Récupérer ou transférer un programme

Saisie sur un ordinateur OS/390 Ici sur jedi.informatik.uni-leipzig.de ou

Guide d installation du serveur vidéo

Installation d'un FreeNAS (v0.684b du 30/03/2007) pour sauvegarder les données d'un ZEServer

Guide de l administrateur DOC-OEMCS8-GA-FR-29/09/05

Guide de l utilisateur Mikogo Version Windows

Clé USB 2.0 Wi-Fi n Référence

Documentation Liste des changements apportés

MANUEL D INSTALLATION DES PRE REQUIS TECHNIQUES SALLE DES MARCHES V.7

FOIRE AUX QUESTIONS - WebDEPOT

Installation du logiciel Windows Suivant Démarrer Tous les programmes Démarrer Tous les programmes Marketing Manager Marketing Manager Linux ici Mac

Setting Up PC MACLAN File Server

PARAGON - Sauvegarde système

Pour une première installation : suivre la procédure en page 5 à 9 Pour une mise à jour : suivre la procédure page 5, 6, 10 et 11

Organiser le disque dur Dossiers Fichiers

Unix/Linux I. 1 ere année DUT. Université marne la vallée

AIDE à l utilisation du cédérom «L athlétisme à l école» Niveau Primaire SOMMAIRE

ENVOI EN NOMBRE DE SMS

IBM SPSS Modeler Text Analytics Server for Windows. Instructions d installation

À propos de cette page Recommandations pour le mot de passe... 26

l'atelier Scientifique

Version janvier Manuel d'utilisation. Adaptateur Ethernet rapide 10/100 USB 2.0

EDIGRAPH CLASSIC GUIDE D'INSTALLATION. Installation Page 2 sur 15. SOGEDEX Parc d Activités de Pissaloup, 4, rue Edouard Branly, Trappes

FlashWizard v4.5b PRO

Configuration de l'ordinateur Manuel de l'utilisateur

Boot Camp Guide d installation et de configuration

GUIDE D INSTALLATION RAPIDE DEXH264

VERITAS Backup Exec TM 10.0 for Windows Servers

Sauvegardes par Internet avec Rsync

Contrôle d accès UTIL TP N 1 découverte

TRANSFERT DES STANDARDS DANS SOLID 9

TP 4 de familiarisation avec Unix

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Note de première mise en service. Passerelle ipro-04n. TTPMSiPRO04N R1.0 fr

Centres d accès communautaire Internet des Îles LA CLÉ USB

Transcription:

Département de génie électrique ELE784 - Ordinateurs et programmation système Laboratoire #1 Développement des composantes logicielles de base d un système informatique Description sommaire : Dans ce laboratoire, il vous sera demandez de mettre en place les différentes parties logicielles d un système informatique. À l aide d outils fournis durant les séances de laboratoire, vous compilerez un noyau Linux pour un système informatique et vous compilerez les programmes nécessaires pour travailler avec ce système. Le résultat final sera un système informatique configuré avec Linux et qui sera utilisé par la suite afin de tester un pilote d une caméra USB. Ce pilote sera développé dans le cadre du laboratoire #2. Professeur : Bruno De Kelper Chargé de laboratoire : Louis-Bernard Lagueux

Objectif... 3 Description de l environnement de travail... 4 Ordinateurs des étudiants et client SSH... 4 Ordinateur de compilation... 7 Les fichiers dans le répertoire home... 8 Les ports séries... 9 Le protocole PXE... 9 Les systèmes informatiques avec les caméras USB... 10 Le système informatique... 10 La caméra USB... 11 Les étapes du laboratoire #1... 12 Récolte des informations... 12 Configuration du noyau Linux... 12 Compilation du noyau Linux... 13 Compilation de busybox... 14 Compilation du module UVC... 15 Compilation du programme UVCCapture... 15 Compilation de pingwatchdog... 15 Génération du fichier compressé... 16 Création du répertoire ELE784... 17 Noyau et ramdisk «dummy»... 17 Récoltes des informations... 18

Objectif Le but ultime de la série de laboratoire de ce cours est de vous faire configurer un système informatique avec un noyau Linux, d y charger un module (pilote) que vous aurez développé pour contrôler une caméra USB et d utiliser les images générées par cette dernière afin d effectuer certains tests sur le processeur. De cette manière, il vous sera possible d étudier la structure fonctionnelle d un ordinateur et ses différentes composantes avec un intérêt majeur sur l interaction matériel-logiciel 1 (ceci est l un des objectifs principales du cours ELE784). L ensemble du laboratoire sera divisé en trois parties: 1. Développement des composantes logicielles de base d un système informatique. C est dans cette partie que vous configurerez le système informatique avec le noyau Linux et avec certains outils couramment utilisés. 2. Développement d un pilote pour contrôler une caméra USB sous Linux 3. Traitement des données obtenues avec la caméra pour démontrer l importance de l interaction matériel-logiciel dans un système informatique. Les objectifs du laboratoire #1 sont les suivants : Se familiariser avec les différentes parties logicielles constituant un système informatique. Se familiariser avec les différentes étapes du développement d un environnement de travail pour un système informatique. Se familiariser avec les différentes composantes d un système d exploitation Se familiariser avec les différentes commandes Linux qui vous seront utiles dans les laboratoires subséquents. Nous débordons un peu de l objectif général du cours mais ceci est inévitable compte tenu des laboratoires subséquents. En effet, comment pourrions-nous développer et tester un pilote sans même connaître les commandes de base du système d exploitation qui est utilisé pour effectuer les tests. 1 Adaptation du sommaire du cours que l ont trouve sur le site du département de génie électrique

Description de l environnement de travail Avant de commencer la description des étapes de ce laboratoire, nous allons décrire l environnement de travail qui sera utilisé tout au long de la session. Cette étape est importante car pour plusieurs d entre vous, ce sera la première fois que vous travaillerez dans un tel environnement. Tel qu illustré sur la figure 1, l environnement se divise en 3 parties : 1. Les ordinateurs des étudiants avec un client SSH 2. L ordinateur de compilation 3. Les systèmes informatiques avec les caméras USB. Figure 1 Configuration du laboratoire Ordinateurs des étudiants et client SSH Il est important de noter que le laboratoire a été conçu de manière à vous permettre de travailler à tout moment, que ce soit avec les ordinateurs des salles de cours de l ÉTS ou avec votre ordinateur personnel à la maison. Pour cette raison, il vous sera demandé de vous connecter à un ordinateur sur lequel tous vos travaux pourront être effectués. Ceci vous évitera d avoir à installer Linux sur votre ordinateur personnel mais vous obligera à utiliser un client SSH. Ce dernier est déjà installé sur les ordinateurs de l ÉTS et vous pouvez vous le procurer, entre autre, sur www.ssh.com. Les étapes pour se connecter à l ordinateur de compilation avec le programme SSH Secure Shell sont les suivantes : 1. Démarrer le programme SSH Secure Shell et cliquer sur l icône «Quick connect» en haut à gauche.

Figure 2 Fenêtre du SSH Secure Shell 2. Dans la fenêtre «Connect to Remote Host» insérer l adresse du serveur dans l espace «Host Name» et votre nom d usager dans l espace «User Name». Ces informations vous seront données lors de la première séance de laboratoire. Notez les biens car elles vous suivront tout au long de la session. Figure 3 Entrer le «Host Name» et le «User Name» 3. Finalement, il vous sera demandé d insérer votre mot de passe. Ce dernier vous sera aussi donné lors de la première séance de laboratoire. Figure 4 Entrer le mot de passe Une fois que vous serez connecté au serveur, la première chose que vous devrez faire sera de changer votre mot de passe afin de protéger vos travaux contre la copie. Pour ce faire, il suffit d utiliser la commande passwd. Il vous sera demandé d insérer votre mot de passe actuel et par la suite votre nouveau mot de passe à deux reprises. Choisissez bien ce dernier! Si vous oubliez votre mot de passe, vous devrez demander au chargé de laboratoire, durant les séances de laboratoire, de le réinitialiser.

Figure 5 Changer le mot de passe Si vous voulez transférer des fichiers entre votre poste et l ordinateur de compilation, vous devrez utiliser le programme SSH Secure File Transfert (ce programme est installé en même temps que le SSH Secure Shell). Pour le démarrer à partir du SSH Secure Shell, sélectionnez «New File Transfer» du menu «Window». La fenêtre suivante s ouvrira et vous aurez accès aux fichiers sur l ordinateur de compilation (la fenêtre de droite) et à vos fichiers sur votre poste (la fenêtre de gauche). Il suffit de cliquer avec le bouton de droite sur le bon fichier et de faire un «Upload» ou un «Download» selon le cas. Figure 6 Fenêtre du SSH Secure File Transfer Normalement, c est tout ce que vous aurez à faire à partir de votre ordinateur personnel car toutes les opérations subséquentes s effectueront à partir de ce client SSH. Par contre, certains d entre vous désirerons utiliser des programmes avec des interfaces graphiques pour effectuer certaines tâches. Pour cette raison, le serveur SSH a été configuré afin de permettre les tunnels X11 entre les clients et l ordinateur de compilation. Par contre, si vous voulez utiliser cette option, vous devrez avoir un serveur X installé sur votre ordinateur.

Dans les laboratoires du département, le programme X-Win32 est installé et fonctionne très bien. Pour l utiliser il suffit de le démarrer en sélectionnant «Start/Win32 5.4/X-Win32» du menu de Windows. Si vous voulez effectuer la même opération à partir de votre ordinateur personnel, plusieurs serveurs X gratuit sont disponibles sur Internet. Voici une liste de certains d entre eux: Xming (http://sourceforge.net/projects/xming) Cygwin/X (http://x.cygwin.com) Linux Terminal Server (http://www.linuxtsc.org) Il importe à vous de faire le choix de votre serveur X et de l installer. Aucun support ne vous sera fourni par le chargé de laboratoire pour effectuer cette étape. De plus, il est important de noter que les performances de ce protocole aux travers d Internet ne sont pas aussi intéressantes que sur un réseau local et pour cette raison, il vous ait conseillé d utiliser les programmes graphiques à partir des laboratoires de l école uniquement. Finalement, pour utiliser un tunnel X11 avec le programme SSH Secure Shell, Il faut que ce dernier soit bien configuré. Pour ce faire, sélectionnez «Settings» du menu «Edit» pour accéder aux options de configuration du client SSH. Assurez-vous que la case «Tunnel X11 Connections» soit sélectionnée dans le menu «Profile Settings / Tunneling» Figure 7 Configuration du tunnel X11 Et voilà, le client est configuré. Il ne vous reste plus qu à lancer un programme sur l ordinateur de compilation et ce dernier sera automatiquement affiché sur votre ordinateur de travail. Ordinateur de compilation C est sur cet ordinateur que la totalité des travaux seront exécutés. Des comptes utilisateurs ont été créés pour chaque équipe et tous les fichiers nécessaires pour effectuer le laboratoire seront disponibles dans le répertoire ELE784 de votre home (répertoire dans lequel vous vous connectez par défaut avec le client SSH). Cet ordinateur est utilisé, dans le cadre de ce cours, pour compiler tous vos programmes et noyaux. Puisqu il est possible que plusieurs équipes lancent des compilations en même temps, nous avons fait notre possible pour mettre à votre

disposition un ordinateur qui saura répondre aux besoins du cours. Notre choix s est donc arrêté sur la configuration suivante: Carte mère Supermicro X7DA3 2 processeurs Intel Xeon Dual Core 2.6Ghz 1 Gb DDRII 667 Mhz Disque dur Seagate 73Gb SAS 15K RPM 2 ports ethernet Gigabit Carte Octopus-550 de Lava (8 ports séries) Les fichiers dans le répertoire home Comme nous l avons déjà dit, le répertoire ELE784 dans votre home contient déjà tous les fichiers nécessaires pour le laboratoire. Chaque élément de ce répertoire à une utilité bien précise qui est résumé dans ce qui suit: $home/ele784/busybox-1.12.0 Dans ce répertoire ce trouve les fichiers sources de busybox (exécutable de base pour système embarqué). $home/ele784/linux-2.6.21.1 Dans ce répertoire ce trouve les fichiers sources du noyau Linux qui seront utilisés pour le laboratoire #1. $home/ele784/mymodule $home/ele784/myprogtest $home/ele784/mywatchdog $home/ele784/ramdisk $home/ele784/rootfs $home/ele784/scripts $home/ele784/src $home/ele784/uvc C est dans ce répertoire que vous devez créer votre module (pilote) pour l utilisation de la caméra USB C est dans ce répertoire que vous devez créer le programme de test qui sera utilisé pour tester le module (pilote) de la section #2 C est dans ce répertoire que vous trouvez tous les sources nécessaires pour le watchdog Répertoire utilisé pour «mounter» le ramdisk afin qu il soit peuplé avec le script mkrootfs.sh. Ce répertoire est normalement vide C est dans ce répertoire que le script mkrootfs.sh crée le système de fichier destiné au système informatique avant de le compresser. Dans ce répertoire se trouve les scripts utilisés au court du laboratoire Dans ce répertoire vous pouvez trouver les sources des programmes utilisés dans ce laboratoire. Module officiel pour le périphérique compatible UVC. Il sera utilisé pour tester le matériel avant que votre module ne soit codé $home/ele784/uvccapture-0.4 Petit programme pour utiliser avec le module UVC. Il prend une simple photo. $home/ system C est dans ce répertoire que le script mkrootfs.sh copie le noyau et le ramdisk.

Les ports séries Nous avons doté cet ordinateur d un total de 10 ports séries. Les données affichées par les systèmes informatiques seront donc récupérées par ces ports. À chaque équipe sera attribué un port qui sera relié à son système informatique. Plusieurs programmes peuvent être utilisés pour lire ou écrire des données sur ces ports tels que picocom (utilitaire vraiment simple) minicom (utilitaire beaucoup plus complexe) ou gtkterm (utilitaire graphique, clone de hyperterminal). Le choix de l utilitaire est laissé a l étudiant mais à titre d exemple, voici comment travailler avec picocom. Pour démarrer picocom et configurer le port par la même occasion il faut utiliser la commande suivante : user@ele784head:~$ picocom b 115200 /dev/ttys0 Cette commande configure le port ttys0 (l équivalent du COM0 de Windows ou Dos) à 115200 bauds. Une fois que vous avez terminé, vous pouvez quitter l utilitaire en appuyant sur CTRL + a + q en même temps. En principe, c est tout ce que vous avez à connaitre pour travailler avec ce programme. Par contre, si vous voulez connaitre les autres options et commandes de picocom, je vous réfère à la page du manuel accessible avec la commande : user@ele784head:~$ man picocom Le protocole PXE Afin de minimiser les manipulations directes avec le système informatique, le protocole PXE («Preboot Execution Environment») sera utilisé dans ce laboratoire. Ce protocole permet, entre autre, à un système informatique de récupérer une image d un système et de le télécharger pour l exécuter. Avec ce protocole, un serveur DHCP est utilisé pour récupérer les informations de base comme l emplacement des fichiers nécessaires et ces derniers sont transférés à l aide du protocole TFTP. L ordinateur de compilation est donc configuré avec un serveur DHCP qui fonctionne uniquement avec le réseau ethernet des systèmes informatiques et d un serveur TFTP sur lequel vous copierez le noyau et le système de fichier que vous aurez généré. Sur le diagramme qui suit, vous pouvez voir un résumé des étapes qui sont automatiquement effectuées à chaque fois que le système informatique est démarré.

Système Informatique Ordinateur de compilation Requête DHCP Réponse DHCP (Information réseau et chemin du fichier pxelinux.0) Requête pour la récupération du fichier pxelinux.0 par TFTP Transfert du fichier pxelinux.0 par TFTP Exécution du fichier pxelinux.0 Requête pour la récupération du fichier de configuration par TFTP Transfert du fichier de configuration par TFTP Requête pour la récupération du noyau et du ramdisk indiqué par le fichier de configuration par TFTP Transfert du noyau et du ramdisk par TFTP Décompression du noyau et du ramdisk et exécution du noyau Figure 8 Séquence des échanges entre un client et un serveur avec le protocole PXE Mis à part de copier votre noyau et votre ramdisk au bon endroit sur l ordinateur de compilation (ce qui est effectué par le script mkrootfs.sh), vous n aurez pas à interagir dans cette étape. Les systèmes informatiques avec les caméras USB Le but du laboratoire #1 est de créer un noyau pour un système informatique qui sera utilisé, plus tard, afin de contrôler une caméra USB. Dans les lignes qui suivent, le matériel utilisé pour ces deux éléments vous sera présenté. Les systèmes informatiques ont été fixés dans une armoire qui sera dans le local du laboratoire. En temps normal, vous ne devriez pas avoir à les manipuler directement. Le système informatique Le système informatique utilisé comme destination («target»), est un «Single Board Computer» (SBC) de la compagnie Kontron. Il est équipé, en autre, des éléments suivants : Processeur Pentium III de Intel cadencé à 850 MHz 32 Mb RAM Interface Ethernet Carte vidéo Ports séries Ports USB Port parallèle Interface pour lecteur de disquette

Bus IDE Interface PS/2 Interface pour CompactFlash Les marques et modèles de chaque périphérique ont été intentionnellement omis puisque vous devrez en faire la recherche dans la première partie de ce laboratoire. Dans le cadre de ce projet, nous n aurons pas besoin de tous ces périphériques. Lorsque vous configurerez votre noyau, nous vous indiquerons les éléments qui devront être initialisés au démarrage. La caméra USB Figure 9 Système informatique utilisé dans le cadre de ce laboratoire La caméra utilisée est la Logitech QuickCam Orbit MP que vous pouvez voir sur l image suivante. Cette dernière permet, en plus de filmer, d être contrôlé afin d orienter la lentille vers un nouvel objectif. Le pilote que vous développerez dans le laboratoire #2 devra fournir les interfaces nécessaires afin de contrôler cette caméra en plus de permettre la prise de photo. Par contre, afin de tester le matériel dès la première partie de ce laboratoire, vous devrez compiler le module (pilote) UVC officiel. Ce dernier, à l aide du programme uvccapture, vous permettra de prendre une photo et valider le fonctionnement du matériel, mais il ne permet pas de diriger la caméra. Figure 10 La caméra Orbit MP de Logitech utilisée dans ce laboratoire

Les étapes du laboratoire #1 Dans cette section, il sera expliqué comment procéder afin d obtenir le résultat final du laboratoire #1. La première étape va consister à récolter certaines informations concernant le système informatique. Ensuite, ces informations seront utilisées pour configurer et compiler le noyau Linux. Par la suite, différents outils seront compilés pour finalement former une image compressée du système de fichier qui sera transmit au système informatique en même temps que le noyau. Récolte des informations La première étape du laboratoire sera de récolter les informations des périphériques que nous voulons initialiser avec le noyau Linux. Certains périphériques inclus sur le SBC ne seront pas nécessaires pour ce projet, ils seront donc laissés de côté. Par contre, rien ne vous empêche de les configurer. Toutefois, soyez certain qu une fois initialisé, ils ne causeront pas de problème. À l aide des documents fournis par le chargé de laboratoire, trouvez les informations suivantes : Modèle de l interface Ethernet Le type du bus USB (EHCI, ISP116X, OHCI, UHCI) Le chipset utilisé sur système informatique Quels bus sont disponibles (ISA, PCI, ) De plus, veuillez dresser une liste des périphériques standard présents sur le système informatique qui devront être initialisés (port série, port parallèle, etc ). Une petite fiche est présente à la fin de ce document. Cette dernière devra être complétée par l équipe et rendu au chargé de laboratoire à la date fixée au début de la session. Configuration du noyau Linux Une fois les informations récoltées, il faut configurer le noyau Linux en fonction de ces données. Pour ce faire commencez par vous placer dans le répertoire où les sources du noyau sont décompressées et ensuite, lancer la configuration avec les commandes suivantes : user@ele784head:~$ cd ~/ELE784/linux-2.6.21.1 user@ele784head:~$ make menuconfig Ceci affichera un menu avec lequel vous serez en mesure de sélectionner ou de désélectionner ce que vous voulez ajouter à votre noyau ou enlever à celui-ci. Certaines sections ont déjà été configurées mais vous devrez en configurer d autres. Une fois cette étape terminée, prenez le temps de naviguer dans les différents menus de ce programme de configuration afin de connaître la variété des options offertes par le noyau Linux. Vous pouvez toujours obtenir de l information sur une option en particulier en vous positionnant sur cette dernière et en choisissant «Help» dans le bas de l écran (pour sélectionner l une des trois options du bas («Select», «Exit» et «Help») utilisez la flèche de gauche et celle de droite sur le clavier ou encore la touche «tab»). Commencez par ajouter le support des ramdisk initial dans le noyau («Initial RAM filesystem and RAM disk (initramfs/initrd) support») ceci vous permettra d utiliser un ramdisk comme système de fichier principale avec tous les droits nécessaires au démarrage.

Ensuite, permettez l insertion et le retrait des modules et ajouter l option «Forced module unloading» au cas où vous auriez des problèmes dans les autres étapes du laboratoire. Choisissez la bonne famille d architecture dans le menu «Subarchitecture Type (XXXXXXXXXXXXX) --->» et le bon type de processeur dans le menu «Processor family (XXXXXXXXXXXXX) --->». Par la suite, selon ce que vous avez trouvez dans la section précédente, ajouter le support des bus dans le menu «Bus options (PCI, PCMCIA, EISA, MCA, ISA)» Il est maintenant temps de configurer les différentes composantes présents sur le SBC que vous avez trouvées dans la section précédente. Pour se faire suivez les étapes suivantes : Ajouter le bon support pour le périphérique réseau dans le menu «Device drivers / Network Device Support / Ethernet (10 or 100Mbit)» Ajouter le bon type de bus USB dans le noyau avec le menu «Device drivers / USB Support» Ajouter le support du chipset dans le menu «Device drivers / ATA/ATAPI/MFM/RLL support» Finalement dans le menu «Block devices --->», configurez votre noyau pour qu il permettre la création de 1 ramdisk avec une grandeur par défaut à 8192 bytes et des bloques de 1024 bytes. S il y a d autres périphériques que vous jugez bon d ajouter dans le noyau, faite le maintenant. Encore une fois, soyez certain qu ils n auront aucune influence nuisible sur le reste du système. Ajouter le support pour le système de fichier EXT2 («Second extended fs support») et les attribus étendu («Ext2 extended attributes») dans le menu «File systems --->». Finalement, ajouter le support pour le «NFS file system support» dans le menu «File systems/ Network File Systems». Ajouter tous les options possibles pour ce support. Compilation du noyau Linux La compilation du noyau Linux est très simple. Il suffit d utiliser la commande suivante : user@ele784head:~$ make Ceci démarrera la compilation qui sera, en fonction du nombre d utilisateur qui compile en même temps, plus ou moins longue. Une série d information défilera à l écran et il peut être intéressant d y jeter un coup d œil afin d être certain qu il n y est pas d erreur. Le résultat final sera un noyau compressé nommé bzimage situé dans le répertoire ~/ELE784/linux- 2.6.21.1/arch/i386/boot. Ce fichier sera copié plus tard, par le script mkrootfs.sh, dans le répertoire du serveur TFTP afin qu il puisse être utilisé, avec le protocole PXE, par votre système informatique.

Compilation de busybox Le but de busybox est de combiner dans un seul exécutable plusieurs utilitaires de base (fileutils, shellutils, etc ) que l ont retrouve avec une installation Linux normal. Il intègre uniquement les options les plus importantes de chaque utilitaire. Ceci permet d obtenir une installation occupant beaucoup moins d espace disque. Avec ce programme, nous obtenons donc tous les commandes que nous aurons besoin pour naviguer dans notre système et pour exécuter nos programmes de test. La compilation de cet outil s effectue avec les étapes suivantes : Placez-vous dans le bon répertoire et lancer la configuration de busybox avec les commandes suivantes : user@ele784head:~$ cd ~/ELE784/busybox-1.6.1 user@ele784head:~$ make menuconfig Ceci ouvrira un menu similaire à celui que vous avez vu pour la configuration du noyau Linux. L outil est déjà en bonne partie configuré mais, il reste certaines parties à configurer (il est important de noter que, de façon identique à la configuration du noyau Linux, il est possible d obtenir des informations sur chaque item d un menu et en le sélectionnant et en choisissant «Help» dans le bas de l écran) : o o Dans le menu «Coreutils» ajouter les commandes chgrp, chmod et chown qui sont utilisées pour gérer les droits des utilisateurs sur les fichiers. Ajouter aussi les commandes cp et rm qui sont utilisées pour copier et effacer des fichiers. Finalement ajouter la commande ls qui sert à lister le contenu d un répertoire (l équivalent du dir de Windows ou Dos). Dans le menu «Console utilities» ajouter la commande clear qui sert à effacer le contenu de l écran (équivalent du cls de Windows ou Dos). o o Dans le menu «Init utilities» ajouter le programme Init qui est le premier programme à être exécuter sur un système Linux. C est lui qui s occupe d initialiser le système une fois que le noyau est démarré. Dans le menu «Linux Module Utilities» ajouter les commandes insmod, rmmod et lsmod. Ces commandes servent à charger un module, à retirer un module et à obtenir la liste des modules chargés dans le système. o o Dans le menu «Linux System Utilities», ajouter la commande dmesg qui sert à afficher le log des messages du noyau. Cette commande vous sera utile pour vérifier si tout a bien été initialisé au démarrage du noyau. Dans le menu «Networking Utilities» ajouter le programme httpd qui est un serveur web que nous utiliserons afin de visualiser les images captées avec la caméra USB. De plus, il faut ajouter telnetd qui est le serveur telnet afin de pouvoir se connecter à distance sur le SBC

o Dans le menu «Process Utilities» ajouter la commande ps qui sert à obtenir la liste des programmes qui roule en arrière plan sur le système. Une fois configuré, il faut lancer la compilation avec la commande suivante : user@ele784head:~$ make Finalement, avec la compilation terminée, il faut lancer l installation locale. Pour ce faire il faut utiliser la commande suivante : user@ele784head:~$ make install Ceci copiera tous les fichiers nécessaires à busybox dans le sous répertoire _install et créera tous les liens vers l utilitaire principale. Je conseil fortement à tous les étudiants d aller jeter un coup d œil sur la structure de répertoire qui a été créée dans cette étape. Avec le script utilisé dans la dernière section, tous ces fichiers seront copiés dans le système de fichier final mais pour l instant, nous avons fini avec busybox. Compilation du module UVC Pour la compilation du module UVC, il n y a pas de manipulation particulière à effectuer, il faut simplement lancer la compilation avec les commandes suivantes : user@ele784head:~$ cd ~/ELE784/uvc user@ele784head:~$ make Ceci démarrera la compilation et, si votre noyau est bien configuré, il ne devrait pas y avoir de message d erreur. Si il y a une erreur, c est certainement parce qu il manque certains éléments à votre noyau. Il suffit alors de bien lire le message d erreur afin d identifier le problème et retournez à la configuration du noyau afin d ajouter les éléments qui manquent. Compilation du programme UVCCapture Encore une fois, cette étape est bien simple. Il suffit d utiliser les commandes suivantes pour compiler ce programme et d obtenir l exécutable uvccapture : user@ele784head:~$ cd ~/ELE784/uvccapture-0.4 user@ele784head:~$ make Compilation de pingwatchdog Ce programme est utilisé pour faire un «ping» au watchdog de la carte. Ce dernier, s il ne le reçoit pas, effectuera un reset sur le system. De cette manière, si vous avez des problèmes avec la configuration de votre système, ce dernier se réinitialisera par lui-même. Pour compiler ce programme, il suffit d effectuer la commande suivante : user@ele784head:~$ cd ~/ELE784/myWatchdog user@ele784head:~$ gcc pingwatchdog.c

Génération du fichier compressé À cette étape, nous avons tout ce qu il nous faut pour travailler avec le système informatique. Voici un résumé de ce que nous avons obtenu : Un noyau Linux dans le répertoire ~/ELE784/linux-2.6.21.1/arch/i386/boot Un exécutable avec plusieurs liens pointant vers lui pour busybox dans le répertoire ~/ELE784/busybox-1.6.1/_install Un module pour la caméra compatible UVC dans le répertoire ~/ELE784/uvc Un programme pour utiliser avec ce module dans le répertoire ~/ELE784/uvccapture-0.4 Un programme pour faire les «ping» au watchdog Il faut maintenant former la série de répertoires de base utilisée par un système Linux et y ajouter tout ces éléments (à l exception du noyau qui sera transmis séparément) afin d obtenir le système de fichier final. Ce dernier sera compressé et sera par la suite envoyé au système informatique pour être utilisé comme ramdisk. Pour ce faire, un script (mkrootfs.sh) a été créé. Pour l exécuter, il faut utiliser la commande suivante : user@ele784head:~$ sudo ~/ELE784/scripts/mkrootfs/mkrootfs.sh Lorsque ce script aura terminé d être exécuté, vous devriez avoir le noyau et l image du ramdisk dans le répertoire du serveur TFTP. Il ne vous reste plus qu à démarrer la carte et de vérifier que votre noyau fonctionne convenablement.

Création du répertoire ELE784 Si, par un malheureux hasard, vous trouvez que votre répertoire $HOME/ELE784 devient trop corrompue (trop de modifications ont été effectuées pour que vous puissiez revenir en arrière), il est possible de le recréer. Par contre, il faut faire attention car toutes les données contenues dans ce répertoire et ses sous répertoires seront perdues. Donc, avant d effectuer ces étapes, copier tous les fichiers que vous ne voulez pas perdre. Ceci est très important car dans les systèmes UNIX/Linux, il n est pas possible de récupérer un fichier qui a été effacé. Une fois les fichiers que vous ne voulez pas perdre bien copier dans un autre répertoire que $HOME/ELE784, effectuer les étapes suivantes : user@ele784head:~$ cd ~ user@ele784head:~$ rm rf ELE784 user@ele784head:~$ cp../ele784.tar.gz. user@ele784head:~$ tar zxvf ELE784.tar.gz user@ele784head:~$ rm ELE784.tar.gz Ceci effacera l ancien $HOME/ELE784 pour ensuite le recréer à l aide de l archive compressée ELE784.tar.gz. Noyau et ramdisk «dummy» Afin de tester si votre système informatique est alimenté. Un noyau «dummy» et un ramdisk «dummy» ont été créé. Ce noyau n initialise presque aucun périphérique et permet uniquement de voir certaines informations défilées sur le port série. De plus, puisque le watchdog ne sera jamais réinitialisé, le système bouclera constamment dans sont cycle de démarrage. Pour utiliser ces fichiers, utiliser les commandes suivantes : user@ele784head:~$ cd ~ user@ele784head:~$ cp../bzimage.dummy ~/system/bzimage user@ele784head:~$ cp../ramdisk.img.gz.dummy ~/system/ramdisk.img.gz Si votre système n est pas en cycle de démarrage, effectuer la commande reboot pour le faire redémarrer.

Récoltes des informations Cette fiche devra être complétée par l équipe et remis au chargé de laboratoire avant la date indiquée au début du laboratoire. Modèle de l interface Ethernet : Le type du bus USB : Le chipset utilisé sur système informatique : Quels bus sont disponibles: Quels sont les autres périphériques présents sur le SBC?