SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Rapport de Mini Projet
« Systèmes embarqués »
Réduction d’un système d’exploitation
Embarqué avec « Busybox »
UNIVERSITÉ ABDELAMLEK ESSADI
FACULTE DES SCIENCES ET TECHNIQUES DE TANGER
MASTER : « SYSTEMES INFORMATIQUES ET RESEAUX »
 Réalisé par : Encadré par :
 ROUZI Ayoub Mr. Abdelhakim ANOUAR
 SALAMA Abdelhakim
 FADILI Mustafa
 ELMALKAOUI Yassine
MASTER-SIR R a p p o r t | 2
MASTER-SIR R a p p o r t | 3
SOMMAIRE
 Introduction………………………..........................................................................................................
 Etape1 :
 Obtenir les sources : …………………....................................................................................
 Initialisation d'une configuration minimale …………………………………………………………
 Etape 2:
 Configuration de la compilation ..........................................................................................
 Configurer votre noyau …………………………………..................................................................
 Etape 3 :
 Configuration des modules…….............................................................................................
 La compilation de noyau ……................................................................................................
 Etape 4 : BusyBox :
 Installation de BusyBox …..................................................................................................
 Compilation de BusyBox …………………………………...........................................................
 Conclusion
MASTER-SIR R a p p o r t | 4
INTRODUCTION
Pourquoi vouloir compiler un nouveau noyau ? Ce n'est en général pas nécessaire, car
le noyau par défaut reconnaît la plupart des configurations. En outre différents noyaux
sont disponibles. Vous devriez chercher s'il n'existe pas de paquet contenant un noyau
qui corresponde à votre matériel. Cependant, il peut être utile de compiler un nouveau
noyau dans les cas suivants :
 Gérer des périphériques spéciaux, ou des conflits de périphériques dans les
noyaux par défaut.
 Activer des options qui ne sont pas incluses dans le noyau par défaut, permettre
la gestion de la mémoire haute par exemple.
 Optimiser le noyau en enlevant les pilotes inutiles, ce qui peut accélérer le
démarrage de la machine ;
 Créer un noyau monolithique à la place d'un noyau modulaire ;
 Utiliser une version de développement du noyau ;
 Mieux connaître le noyau Linux.
MASTER-SIR R a p p o r t | 5
Buts du TP :
Construire un petit système embarqué à partir de rien, en 40 minutes :
- Configuration et compilation du noyau Linux
- Création du système de fichiers racine
- Compilation et installation de Busybox
- Création des fichiers spéciaux pour les périphériques
- Scripts de démarrage du système : systèmes de fichier virtuels, réseau
Pour cela on va partir du principe de commencer à partir d'un environnement
de bureau complet sous GNU/Linux (Debian, Fedora...) et supprimer tous les éléments in
utiles.
Busybox: outils générique :
 Le projet BusyBox (http: / /www.busybox.net ) a démarré il y a quelques
années dans le sillage du projet Debian . Le but du projet était de fournir
un ensemble complet de fonctionnalités « GNU/Linux- like » tout en
optimisant l'empreinte mémoire (mémoire vive et flash) en vue de
l'installation sur un système cible réduit. En clair il s'agit de remplacer les
commandes classiques (bash, ls, cp, vi, etc.) dont la majorité proviennent
du projet GNU (http: / /www.gnu.org ) par des versions simplifiées mais
efficaces.
 La plupart des outils Unix en ligne de commande avec un seul exécutable !
 Fait moins d'1 Mo (compilé statiquement avec glibc moins de 500 Ko).
 Configuration aisée des fonctionnalités à inclure
 Le meilleur choix pour Initrds avec des scripts complexes
MASTER-SIR R a p p o r t | 6
Etape1 : Obtenir les sources :
Les sources sont disponibles sur http://www.kernel.org. Vous pouvez les télécharger avec
des outils graphiques ou en ligne de commande, qui font appel à : HTTP, FTP, RSYNC, ou
Git.
Figure1: site web officielle
 Il est recommandé de vérifier la signature d'une archive tar téléchargée. Reportez-
vous à kernel.org/signature pour avoir des informations sur la manière de le faire.
 Décompressez l'archive et entrez dans le dossier qui a été créé:
tar xvfJ linux-*.tar.*
MASTER-SIR R a p p o r t | 7
Etape 2: Configuration & compilation(KALI)
Cette étape est la plus cruciale dans la personnalisation du noyau. Elle lui permettra de
s'adapter au mieux aux spécificités de votre matériel.
En définissant correctement les options dans le fichier .config, votre noyau et votre
ordinateur fonctionneront plus efficacement.
Récupérer le fichier de configuration (.config) du noyau sur lequel le système tourne,
pour démarrer
C’est un fichier masquer donc il faut taper la commande : ls -la
Donc on va copier la nouvelle version qu’on a téléchargée et le mettre dans le fichier de
configuration avec la commande :
cp /boot/config-4.4.0-21-generic .config
Configurer votre noyau
En alternative, vous pouvez utiliser la commande plus moderne :
make config
Ceci démarrera avec un fichier .config
Figure2: donne un nom a la machine
MASTER-SIR R a p p o r t | 8
On va donner un nom pour notre host :
Figure3: démarrage de configuration
A cette partie on va choisir juste les configurations qui ont besoin :
A cette partie on va choisir juste les configurations qui ont besoin :
MASTER-SIR R a p p o r t | 9
On continue comme cela :
On va ajouter les modules qu’on veut et ignorer les autres:
Comme vous voyez dans les photos précédentes, Il se peut que des questions soient
posées. C'est dans le cas où les options du kernel à installer sont nouvelles par rapport à
celui en cours d'exécution. Laisser les choix par défaut.
En validant simplement les questions.
MASTER-SIR R a p p o r t | 10
Adaptez votre configuration et enregistrez votre nouvelle configuration. Il est conseillé
d'en faire une copie en dehors de votre dossier des sources, car vous pouvez être
conduit à réitérer le processus maintes et maintes fois avant d'avoir pleine satisfaction.
« NOTE ! » :
La même chose que l’on a fait dans Kali Linux et les mêmes étapes précédentes ont
étaient répétés dans Debian, On va juste montrer la partie d’installation des modules sur
une autre distribution pour généraliser et montrer que le noyau peut être configurée,
compilé et installer sur n’importe quel distribution Linux avec les mêmes étapes.
Partie décompression :
Figure4 : décompression de l’archive
La configuration :
MASTER-SIR R a p p o r t | 11
Etape 3 : La compilation de noyau
Le temps de compilation peut aller de 15 minutes à plusieurs heures. Ceci dépend du
nombre d'options/modules sélectionnés et des capacités du processeur.
Initialisation d'une configuration minimale du noyau :
Exécutez par la commande $ make
Figure5 : démarrage de compilation
MASTER-SIR R a p p o r t | 12
Ajout de paramètres spécifiques au système embarqué :
On peut lancer plus de processus make pour aller plus vite.
Si on a 8 cœurs sur le CPU, utiliser l'option -j avec nb cœurs + 1 :
Exécutez par la commande make -j9
Figure4 : choisir le nombre de processus utilisé
Le fichier .config
Toute votre configuration noyau est en fait stockée dans le fichier .config. Si vous
téléchargez un autre noyau et que vous placez votre fichier .config dans le répertoire
racine des sources vous n'aurez pas à tout refaire, alors n'oubliez pas de le sauvegarder
précieusement (ailleurs que dans les sources).
Création d'un système de fichiers racine
Création d'un fichier vide de 320 Ko :
Formatage d'un fichier en ext2 :
MASTER-SIR R a p p o r t | 13
Etape 4 : Installation Compilation de BusyBox :
 Busybox est un logiciel permettant d’implémenter des commandes standards sous
Linux. On peut concevoir cet outil comme une couche logicielle au-dessus du noyau :
 Récupération des sources sur http://busybox.net
 Configuration de busybox : make menuconfig
 Choisir une exécutable statique, compilée nativement.
 Compilation de busybox : make
 Pré-installation de busybox (dans le sous-répertoire _install/) : make install
 Résultat : un exécutable de 500 Ko implémentant toutes les commandes nécessaires !
On va décompresser le package de busybox :
MASTER-SIR R a p p o r t | 14
On va par la suite configurer le busyBox avec la commande : « make menuconfig »
On compile le package:
MASTER-SIR R a p p o r t | 15
Voilà le résultat de compilation :
On installe le module :
Montage de l'image root du système de fichiers :
C
Copie de la structure de fichiers busybox :
C
MASTER-SIR R a p p o r t | 16
« rsync -a busybox/_install/ /mnt/rootfs/ »
« chown -R root:root /mnt/rootfs/ »
Synchroniser les modifications dans l'image du système de fichiers monté :
« sync »
Configuration du réseau
Nous avons choisi de placer le support de la carte ethernet dans la
partie dynamique du noyau (les modules). Il faut donc copier l'arborescence des
modules sur le réper toire cible par la commande suivante:
On peut ensuite initialiser le réseau à l'aide de la commande ifconfig.:
MASTER-SIR R a p p o r t | 17
Utilisation de BUILDROOT
Il faut alors spécifier les différentes options de compilation. Après l'installation il suffit de
taper « make » pour obtenir l'écran de configuration. Cet écran sera ensuite
obtenu grâce à la commande « make menuconfig ».
• La chaîne de compilation croisée dans le répertoire build_arm/staging_dir
• Le root filesystem sur build_arm/root
• Une image EXT2 et CRAMFS du root filesystem soit rootfs.arm.ext2 et rootfs.arm.cramfs
MASTER-SIR R a p p o r t | 18
Création du script de démarrage /etc/init.d/rcS :
Occupons-nous à présent des scripts de démarrage.
Ce script se charge de monter l’arborescence de Linux en lecture/écriture, de
façon à pouvoir utiliser notre OS, configurer l’adresse localhost…
Il est utilisé par la commande /sbin/init de Busybox lors du démarrage du
système.
ATTENTION!Ce script doit être rendu exécutable par la commande chmod +x.
 Fichier /etc/init.d/rcS :
MASTER-SIR R a p p o r t | 19
CONCLUSION :
Durant la réalisation de ce projet on a pu acquérir une petite expérience
dans le monde des noyaux (Kernels) et on a réalisé une configuration
d’un nouveau noyau conçu complétement pour l’utilisation qui s’adapte
avec nos besoins.
Comme résultat, on a réalisé les taches suivantes :
- Optimisation de la procédure de démarrage du système
- Réduction drastique de l'utilisation mémoire (utilisation de ucLibc et
Busybox)
- Optimisation du noyau en fonction des fonctionnalités nécessaires
(pilotes de périphériques, réseau ou non, etc...).
MASTER-SIR R a p p o r t | 20
Bibliographie :
Bibliographie
• L'ouvrage Linux embarqué 2ème édition paru aux éditions Eyrolles
en septembre 2005 dont la présentation est accessible depuis :
http://pficheux.free.fr.
• L'article Embarquez Linux! Ou Linux everywhere paru dans Linux :
http://pficheux.free.fr/articles/ lmf/linux_everywher
• La page de Patrice Kadionik concernant les systèmes embarqués sur
http://www.enseirb.fr/~ka dionik/embedded/embedded.html
• Le site du projet BusyBox sur
http://www.busybox.net
• Le site du projet uClibc sur
http://www.uclibc.org
• Le site du projet buildroot sur
http://buildroot.uclibc.org
• Document NFS-Rootmini-HOWTO sur:
http: / /www. tldp.org/HOWTO/NFS-Root.html

Contenu connexe

Tendances

Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRRapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRAHMEDAKHACHKHOUCH
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiqueOussama Yoshiki
 
Rapport Stage ingénieur
Rapport Stage ingénieurRapport Stage ingénieur
Rapport Stage ingénieurMhamdi Imed
 
Automatisation d'une maison intelligente via une application android
Automatisation d'une maison intelligente via une application androidAutomatisation d'une maison intelligente via une application android
Automatisation d'une maison intelligente via une application androidAbderrahim Bouharaoua
 
Embarqués temps réel
Embarqués temps réelEmbarqués temps réel
Embarqués temps réelmikhailether
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Addi Ait-Mlouk
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfWahideArabe
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux fehmi arbi
 
Rapport PFE : Cloud Insights
Rapport PFE : Cloud InsightsRapport PFE : Cloud Insights
Rapport PFE : Cloud Insightsahmed oumezzine
 
Programmation de systèmes embarqués : Systèmes temps réel et PRUSS
Programmation de systèmes embarqués : Systèmes temps réel et PRUSSProgrammation de systèmes embarqués : Systèmes temps réel et PRUSS
Programmation de systèmes embarqués : Systèmes temps réel et PRUSSECAM Brussels Engineering School
 
Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Faycel Chaoua
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Ahmed Makni
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrigeAmineMouhout1
 
Ghada Hajeji - Rapport de stage Ouvrier @ SOTRAPIL
Ghada Hajeji - Rapport de stage Ouvrier @ SOTRAPILGhada Hajeji - Rapport de stage Ouvrier @ SOTRAPIL
Ghada Hajeji - Rapport de stage Ouvrier @ SOTRAPILGhada HAJEJI
 

Tendances (20)

Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRRapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 
Rapport Stage ingénieur
Rapport Stage ingénieurRapport Stage ingénieur
Rapport Stage ingénieur
 
Automatisation d'une maison intelligente via une application android
Automatisation d'une maison intelligente via une application androidAutomatisation d'une maison intelligente via une application android
Automatisation d'une maison intelligente via une application android
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
 
Rapport de PFE
Rapport de PFERapport de PFE
Rapport de PFE
 
Embarqués temps réel
Embarqués temps réelEmbarqués temps réel
Embarqués temps réel
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdf
 
Rapport de stage du fin d'étude
Rapport de stage du fin d'étudeRapport de stage du fin d'étude
Rapport de stage du fin d'étude
 
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux Rapport pfe 2017 Système de gestion des rendez-vous médicaux
Rapport pfe 2017 Système de gestion des rendez-vous médicaux
 
Rapport PFE : Cloud Insights
Rapport PFE : Cloud InsightsRapport PFE : Cloud Insights
Rapport PFE : Cloud Insights
 
Programmation de systèmes embarqués : Systèmes temps réel et PRUSS
Programmation de systèmes embarqués : Systèmes temps réel et PRUSSProgrammation de systèmes embarqués : Systèmes temps réel et PRUSS
Programmation de systèmes embarqués : Systèmes temps réel et PRUSS
 
Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2Manuel des TP : Atelier systèmes 2
Manuel des TP : Atelier systèmes 2
 
Rapport pfe
Rapport pfeRapport pfe
Rapport pfe
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
Les systèmes embarqués arduino
Les systèmes embarqués arduinoLes systèmes embarqués arduino
Les systèmes embarqués arduino
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
Ghada Hajeji - Rapport de stage Ouvrier @ SOTRAPIL
Ghada Hajeji - Rapport de stage Ouvrier @ SOTRAPILGhada Hajeji - Rapport de stage Ouvrier @ SOTRAPIL
Ghada Hajeji - Rapport de stage Ouvrier @ SOTRAPIL
 

Similaire à Rapport systéme embarqué busybox

Rapport Kernel Linux - Configuration – Compilation & installation
Rapport Kernel Linux - Configuration –  Compilation & installationRapport Kernel Linux - Configuration –  Compilation & installation
Rapport Kernel Linux - Configuration – Compilation & installationAyoub Rouzi
 
Rapport openembedded
Rapport openembeddedRapport openembedded
Rapport openembeddedAyoub Rouzi
 
Exposé open embedded
Exposé open embeddedExposé open embedded
Exposé open embeddedAyoub Rouzi
 
utilisation des core dump sous linux
utilisation des core dump sous linuxutilisation des core dump sous linux
utilisation des core dump sous linuxThierry Gayet
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un AlfrescoPASCAL Jean Marie
 
Presentation kernel - Kernel Linux - Configuration – Compilation & installation
Presentation kernel - Kernel Linux - Configuration –  Compilation & installationPresentation kernel - Kernel Linux - Configuration –  Compilation & installation
Presentation kernel - Kernel Linux - Configuration – Compilation & installationAyoub Rouzi
 
Maintenance du système Linux
Maintenance du système LinuxMaintenance du système Linux
Maintenance du système LinuxEL AMRI El Hassan
 
system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)ninanoursan
 
Install arch ultrabook full luks ssd
Install arch ultrabook full luks ssdInstall arch ultrabook full luks ssd
Install arch ultrabook full luks ssdAnthony Le Goff
 
Alphorm.com Formation Nagios et Cacti : Installation et Administration
Alphorm.com Formation Nagios et Cacti : Installation et AdministrationAlphorm.com Formation Nagios et Cacti : Installation et Administration
Alphorm.com Formation Nagios et Cacti : Installation et AdministrationAlphorm
 
Chargez un noyau linux sans reboot avec kexec
Chargez un noyau linux sans reboot avec kexecChargez un noyau linux sans reboot avec kexec
Chargez un noyau linux sans reboot avec kexecThierry Gayet
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Jérôme Petazzoni
 
Installation de systemes d'exploitation via reseau avec serva
Installation de systemes d'exploitation via reseau avec servaInstallation de systemes d'exploitation via reseau avec serva
Installation de systemes d'exploitation via reseau avec servaPape Moussa SONKO
 
Etude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxEtude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxThierry Gayet
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linuxKhalid ALLILI
 
SOLARIS 10 - Exercise - FR - 2008
SOLARIS 10 - Exercise - FR - 2008SOLARIS 10 - Exercise - FR - 2008
SOLARIS 10 - Exercise - FR - 2008Sonny Brabez
 

Similaire à Rapport systéme embarqué busybox (20)

Rapport Kernel Linux - Configuration – Compilation & installation
Rapport Kernel Linux - Configuration –  Compilation & installationRapport Kernel Linux - Configuration –  Compilation & installation
Rapport Kernel Linux - Configuration – Compilation & installation
 
Noyau
NoyauNoyau
Noyau
 
Rapport openembedded
Rapport openembeddedRapport openembedded
Rapport openembedded
 
Exposé open embedded
Exposé open embeddedExposé open embedded
Exposé open embedded
 
utilisation des core dump sous linux
utilisation des core dump sous linuxutilisation des core dump sous linux
utilisation des core dump sous linux
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
 
Presentation kernel - Kernel Linux - Configuration – Compilation & installation
Presentation kernel - Kernel Linux - Configuration –  Compilation & installationPresentation kernel - Kernel Linux - Configuration –  Compilation & installation
Presentation kernel - Kernel Linux - Configuration – Compilation & installation
 
Maintenance du système Linux
Maintenance du système LinuxMaintenance du système Linux
Maintenance du système Linux
 
system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)system de gestion Nfs (Network File System)
system de gestion Nfs (Network File System)
 
Boot
BootBoot
Boot
 
Install arch ultrabook full luks ssd
Install arch ultrabook full luks ssdInstall arch ultrabook full luks ssd
Install arch ultrabook full luks ssd
 
Alphorm.com Formation Nagios et Cacti : Installation et Administration
Alphorm.com Formation Nagios et Cacti : Installation et AdministrationAlphorm.com Formation Nagios et Cacti : Installation et Administration
Alphorm.com Formation Nagios et Cacti : Installation et Administration
 
Chargez un noyau linux sans reboot avec kexec
Chargez un noyau linux sans reboot avec kexecChargez un noyau linux sans reboot avec kexec
Chargez un noyau linux sans reboot avec kexec
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)
 
Snort implementation
Snort implementationSnort implementation
Snort implementation
 
Installation de systemes d'exploitation via reseau avec serva
Installation de systemes d'exploitation via reseau avec servaInstallation de systemes d'exploitation via reseau avec serva
Installation de systemes d'exploitation via reseau avec serva
 
Etude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU LinuxEtude DéTailléé de la pile réseau sous GNU Linux
Etude DéTailléé de la pile réseau sous GNU Linux
 
OpenNMS
OpenNMSOpenNMS
OpenNMS
 
PostgreSQL sous linux
PostgreSQL sous linuxPostgreSQL sous linux
PostgreSQL sous linux
 
SOLARIS 10 - Exercise - FR - 2008
SOLARIS 10 - Exercise - FR - 2008SOLARIS 10 - Exercise - FR - 2008
SOLARIS 10 - Exercise - FR - 2008
 

Plus de Ayoub Rouzi

Khdemti.com: We revolutionize the way project owners and freelancers work tog...
Khdemti.com: We revolutionize the way project owners and freelancers work tog...Khdemti.com: We revolutionize the way project owners and freelancers work tog...
Khdemti.com: We revolutionize the way project owners and freelancers work tog...Ayoub Rouzi
 
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...Ayoub Rouzi
 
Reseaux mobiles: Rapport Projet : « Lien radio »
Reseaux mobiles: Rapport Projet : « Lien radio »Reseaux mobiles: Rapport Projet : « Lien radio »
Reseaux mobiles: Rapport Projet : « Lien radio »Ayoub Rouzi
 
Cahier des charges: Traiteur industriel des produits agro-Alimentaires culina...
Cahier des charges: Traiteur industriel des produits agro-Alimentaires culina...Cahier des charges: Traiteur industriel des produits agro-Alimentaires culina...
Cahier des charges: Traiteur industriel des produits agro-Alimentaires culina...Ayoub Rouzi
 
Application Android: Projet assurance
Application Android: Projet assuranceApplication Android: Projet assurance
Application Android: Projet assuranceAyoub Rouzi
 
Rapport DVWA: File Upload
Rapport DVWA: File UploadRapport DVWA: File Upload
Rapport DVWA: File UploadAyoub Rouzi
 
Rapport DVWA: CSRF
Rapport DVWA: CSRFRapport DVWA: CSRF
Rapport DVWA: CSRFAyoub Rouzi
 
Ateliers d’une application Web vulnérable
Ateliers d’une application Web vulnérable Ateliers d’une application Web vulnérable
Ateliers d’une application Web vulnérable Ayoub Rouzi
 
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Ayoub Rouzi
 
WannaCry / Wannacrypt Ransomware
WannaCry / Wannacrypt RansomwareWannaCry / Wannacrypt Ransomware
WannaCry / Wannacrypt RansomwareAyoub Rouzi
 
Mobile ip - IT entités fonctionnelles de Mobile IP
Mobile ip - IT entités fonctionnelles de Mobile IPMobile ip - IT entités fonctionnelles de Mobile IP
Mobile ip - IT entités fonctionnelles de Mobile IPAyoub Rouzi
 
Résumé projet Smart Traffic Managment System Real Time (STMSRT)
Résumé projet Smart Traffic Managment System Real Time (STMSRT)Résumé projet Smart Traffic Managment System Real Time (STMSRT)
Résumé projet Smart Traffic Managment System Real Time (STMSRT)Ayoub Rouzi
 
Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...
Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...
Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...Ayoub Rouzi
 
Smart traffic managment system real time (stmsrt)
Smart traffic managment system real time (stmsrt)Smart traffic managment system real time (stmsrt)
Smart traffic managment system real time (stmsrt)Ayoub Rouzi
 
Freelance,Travail traditionnel, Entrepreneuriat...Quel choix a suivre ?
Freelance,Travail traditionnel, Entrepreneuriat...Quel choix a suivre ?Freelance,Travail traditionnel, Entrepreneuriat...Quel choix a suivre ?
Freelance,Travail traditionnel, Entrepreneuriat...Quel choix a suivre ?Ayoub Rouzi
 
Programmation des cartes Arduino - Se familiariser avec la programmation Simple
Programmation des cartes Arduino - Se familiariser avec la programmation SimpleProgrammation des cartes Arduino - Se familiariser avec la programmation Simple
Programmation des cartes Arduino - Se familiariser avec la programmation SimpleAyoub Rouzi
 
Projet Radare de Recule - MANIPULATION AVEC L’ARDUINO
Projet Radare de Recule - MANIPULATION AVEC L’ARDUINOProjet Radare de Recule - MANIPULATION AVEC L’ARDUINO
Projet Radare de Recule - MANIPULATION AVEC L’ARDUINOAyoub Rouzi
 
Kernel Linux - Configuration de Wyse - TP wyse x30
Kernel Linux - Configuration de Wyse - TP wyse x30Kernel Linux - Configuration de Wyse - TP wyse x30
Kernel Linux - Configuration de Wyse - TP wyse x30Ayoub Rouzi
 

Plus de Ayoub Rouzi (20)

Khdemti.com: We revolutionize the way project owners and freelancers work tog...
Khdemti.com: We revolutionize the way project owners and freelancers work tog...Khdemti.com: We revolutionize the way project owners and freelancers work tog...
Khdemti.com: We revolutionize the way project owners and freelancers work tog...
 
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
 
Reseaux mobiles: Rapport Projet : « Lien radio »
Reseaux mobiles: Rapport Projet : « Lien radio »Reseaux mobiles: Rapport Projet : « Lien radio »
Reseaux mobiles: Rapport Projet : « Lien radio »
 
Cahier des charges: Traiteur industriel des produits agro-Alimentaires culina...
Cahier des charges: Traiteur industriel des produits agro-Alimentaires culina...Cahier des charges: Traiteur industriel des produits agro-Alimentaires culina...
Cahier des charges: Traiteur industriel des produits agro-Alimentaires culina...
 
Application Android: Projet assurance
Application Android: Projet assuranceApplication Android: Projet assurance
Application Android: Projet assurance
 
Scheduler & SLA
Scheduler & SLAScheduler & SLA
Scheduler & SLA
 
Rapport DVWA: File Upload
Rapport DVWA: File UploadRapport DVWA: File Upload
Rapport DVWA: File Upload
 
Rapport DVWA: CSRF
Rapport DVWA: CSRFRapport DVWA: CSRF
Rapport DVWA: CSRF
 
Ateliers d’une application Web vulnérable
Ateliers d’une application Web vulnérable Ateliers d’une application Web vulnérable
Ateliers d’une application Web vulnérable
 
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
 
L'estime de soi
L'estime de soiL'estime de soi
L'estime de soi
 
WannaCry / Wannacrypt Ransomware
WannaCry / Wannacrypt RansomwareWannaCry / Wannacrypt Ransomware
WannaCry / Wannacrypt Ransomware
 
Mobile ip - IT entités fonctionnelles de Mobile IP
Mobile ip - IT entités fonctionnelles de Mobile IPMobile ip - IT entités fonctionnelles de Mobile IP
Mobile ip - IT entités fonctionnelles de Mobile IP
 
Résumé projet Smart Traffic Managment System Real Time (STMSRT)
Résumé projet Smart Traffic Managment System Real Time (STMSRT)Résumé projet Smart Traffic Managment System Real Time (STMSRT)
Résumé projet Smart Traffic Managment System Real Time (STMSRT)
 
Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...
Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...
Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...
 
Smart traffic managment system real time (stmsrt)
Smart traffic managment system real time (stmsrt)Smart traffic managment system real time (stmsrt)
Smart traffic managment system real time (stmsrt)
 
Freelance,Travail traditionnel, Entrepreneuriat...Quel choix a suivre ?
Freelance,Travail traditionnel, Entrepreneuriat...Quel choix a suivre ?Freelance,Travail traditionnel, Entrepreneuriat...Quel choix a suivre ?
Freelance,Travail traditionnel, Entrepreneuriat...Quel choix a suivre ?
 
Programmation des cartes Arduino - Se familiariser avec la programmation Simple
Programmation des cartes Arduino - Se familiariser avec la programmation SimpleProgrammation des cartes Arduino - Se familiariser avec la programmation Simple
Programmation des cartes Arduino - Se familiariser avec la programmation Simple
 
Projet Radare de Recule - MANIPULATION AVEC L’ARDUINO
Projet Radare de Recule - MANIPULATION AVEC L’ARDUINOProjet Radare de Recule - MANIPULATION AVEC L’ARDUINO
Projet Radare de Recule - MANIPULATION AVEC L’ARDUINO
 
Kernel Linux - Configuration de Wyse - TP wyse x30
Kernel Linux - Configuration de Wyse - TP wyse x30Kernel Linux - Configuration de Wyse - TP wyse x30
Kernel Linux - Configuration de Wyse - TP wyse x30
 

Rapport systéme embarqué busybox

  • 1. Rapport de Mini Projet « Systèmes embarqués » Réduction d’un système d’exploitation Embarqué avec « Busybox » UNIVERSITÉ ABDELAMLEK ESSADI FACULTE DES SCIENCES ET TECHNIQUES DE TANGER MASTER : « SYSTEMES INFORMATIQUES ET RESEAUX »  Réalisé par : Encadré par :  ROUZI Ayoub Mr. Abdelhakim ANOUAR  SALAMA Abdelhakim  FADILI Mustafa  ELMALKAOUI Yassine
  • 2. MASTER-SIR R a p p o r t | 2
  • 3. MASTER-SIR R a p p o r t | 3 SOMMAIRE  Introduction………………………..........................................................................................................  Etape1 :  Obtenir les sources : …………………....................................................................................  Initialisation d'une configuration minimale …………………………………………………………  Etape 2:  Configuration de la compilation ..........................................................................................  Configurer votre noyau …………………………………..................................................................  Etape 3 :  Configuration des modules…….............................................................................................  La compilation de noyau ……................................................................................................  Etape 4 : BusyBox :  Installation de BusyBox …..................................................................................................  Compilation de BusyBox …………………………………...........................................................  Conclusion
  • 4. MASTER-SIR R a p p o r t | 4 INTRODUCTION Pourquoi vouloir compiler un nouveau noyau ? Ce n'est en général pas nécessaire, car le noyau par défaut reconnaît la plupart des configurations. En outre différents noyaux sont disponibles. Vous devriez chercher s'il n'existe pas de paquet contenant un noyau qui corresponde à votre matériel. Cependant, il peut être utile de compiler un nouveau noyau dans les cas suivants :  Gérer des périphériques spéciaux, ou des conflits de périphériques dans les noyaux par défaut.  Activer des options qui ne sont pas incluses dans le noyau par défaut, permettre la gestion de la mémoire haute par exemple.  Optimiser le noyau en enlevant les pilotes inutiles, ce qui peut accélérer le démarrage de la machine ;  Créer un noyau monolithique à la place d'un noyau modulaire ;  Utiliser une version de développement du noyau ;  Mieux connaître le noyau Linux.
  • 5. MASTER-SIR R a p p o r t | 5 Buts du TP : Construire un petit système embarqué à partir de rien, en 40 minutes : - Configuration et compilation du noyau Linux - Création du système de fichiers racine - Compilation et installation de Busybox - Création des fichiers spéciaux pour les périphériques - Scripts de démarrage du système : systèmes de fichier virtuels, réseau Pour cela on va partir du principe de commencer à partir d'un environnement de bureau complet sous GNU/Linux (Debian, Fedora...) et supprimer tous les éléments in utiles. Busybox: outils générique :  Le projet BusyBox (http: / /www.busybox.net ) a démarré il y a quelques années dans le sillage du projet Debian . Le but du projet était de fournir un ensemble complet de fonctionnalités « GNU/Linux- like » tout en optimisant l'empreinte mémoire (mémoire vive et flash) en vue de l'installation sur un système cible réduit. En clair il s'agit de remplacer les commandes classiques (bash, ls, cp, vi, etc.) dont la majorité proviennent du projet GNU (http: / /www.gnu.org ) par des versions simplifiées mais efficaces.  La plupart des outils Unix en ligne de commande avec un seul exécutable !  Fait moins d'1 Mo (compilé statiquement avec glibc moins de 500 Ko).  Configuration aisée des fonctionnalités à inclure  Le meilleur choix pour Initrds avec des scripts complexes
  • 6. MASTER-SIR R a p p o r t | 6 Etape1 : Obtenir les sources : Les sources sont disponibles sur http://www.kernel.org. Vous pouvez les télécharger avec des outils graphiques ou en ligne de commande, qui font appel à : HTTP, FTP, RSYNC, ou Git. Figure1: site web officielle  Il est recommandé de vérifier la signature d'une archive tar téléchargée. Reportez- vous à kernel.org/signature pour avoir des informations sur la manière de le faire.  Décompressez l'archive et entrez dans le dossier qui a été créé: tar xvfJ linux-*.tar.*
  • 7. MASTER-SIR R a p p o r t | 7 Etape 2: Configuration & compilation(KALI) Cette étape est la plus cruciale dans la personnalisation du noyau. Elle lui permettra de s'adapter au mieux aux spécificités de votre matériel. En définissant correctement les options dans le fichier .config, votre noyau et votre ordinateur fonctionneront plus efficacement. Récupérer le fichier de configuration (.config) du noyau sur lequel le système tourne, pour démarrer C’est un fichier masquer donc il faut taper la commande : ls -la Donc on va copier la nouvelle version qu’on a téléchargée et le mettre dans le fichier de configuration avec la commande : cp /boot/config-4.4.0-21-generic .config Configurer votre noyau En alternative, vous pouvez utiliser la commande plus moderne : make config Ceci démarrera avec un fichier .config Figure2: donne un nom a la machine
  • 8. MASTER-SIR R a p p o r t | 8 On va donner un nom pour notre host : Figure3: démarrage de configuration A cette partie on va choisir juste les configurations qui ont besoin : A cette partie on va choisir juste les configurations qui ont besoin :
  • 9. MASTER-SIR R a p p o r t | 9 On continue comme cela : On va ajouter les modules qu’on veut et ignorer les autres: Comme vous voyez dans les photos précédentes, Il se peut que des questions soient posées. C'est dans le cas où les options du kernel à installer sont nouvelles par rapport à celui en cours d'exécution. Laisser les choix par défaut. En validant simplement les questions.
  • 10. MASTER-SIR R a p p o r t | 10 Adaptez votre configuration et enregistrez votre nouvelle configuration. Il est conseillé d'en faire une copie en dehors de votre dossier des sources, car vous pouvez être conduit à réitérer le processus maintes et maintes fois avant d'avoir pleine satisfaction. « NOTE ! » : La même chose que l’on a fait dans Kali Linux et les mêmes étapes précédentes ont étaient répétés dans Debian, On va juste montrer la partie d’installation des modules sur une autre distribution pour généraliser et montrer que le noyau peut être configurée, compilé et installer sur n’importe quel distribution Linux avec les mêmes étapes. Partie décompression : Figure4 : décompression de l’archive La configuration :
  • 11. MASTER-SIR R a p p o r t | 11 Etape 3 : La compilation de noyau Le temps de compilation peut aller de 15 minutes à plusieurs heures. Ceci dépend du nombre d'options/modules sélectionnés et des capacités du processeur. Initialisation d'une configuration minimale du noyau : Exécutez par la commande $ make Figure5 : démarrage de compilation
  • 12. MASTER-SIR R a p p o r t | 12 Ajout de paramètres spécifiques au système embarqué : On peut lancer plus de processus make pour aller plus vite. Si on a 8 cœurs sur le CPU, utiliser l'option -j avec nb cœurs + 1 : Exécutez par la commande make -j9 Figure4 : choisir le nombre de processus utilisé Le fichier .config Toute votre configuration noyau est en fait stockée dans le fichier .config. Si vous téléchargez un autre noyau et que vous placez votre fichier .config dans le répertoire racine des sources vous n'aurez pas à tout refaire, alors n'oubliez pas de le sauvegarder précieusement (ailleurs que dans les sources). Création d'un système de fichiers racine Création d'un fichier vide de 320 Ko : Formatage d'un fichier en ext2 :
  • 13. MASTER-SIR R a p p o r t | 13 Etape 4 : Installation Compilation de BusyBox :  Busybox est un logiciel permettant d’implémenter des commandes standards sous Linux. On peut concevoir cet outil comme une couche logicielle au-dessus du noyau :  Récupération des sources sur http://busybox.net  Configuration de busybox : make menuconfig  Choisir une exécutable statique, compilée nativement.  Compilation de busybox : make  Pré-installation de busybox (dans le sous-répertoire _install/) : make install  Résultat : un exécutable de 500 Ko implémentant toutes les commandes nécessaires ! On va décompresser le package de busybox :
  • 14. MASTER-SIR R a p p o r t | 14 On va par la suite configurer le busyBox avec la commande : « make menuconfig » On compile le package:
  • 15. MASTER-SIR R a p p o r t | 15 Voilà le résultat de compilation : On installe le module : Montage de l'image root du système de fichiers : C Copie de la structure de fichiers busybox : C
  • 16. MASTER-SIR R a p p o r t | 16 « rsync -a busybox/_install/ /mnt/rootfs/ » « chown -R root:root /mnt/rootfs/ » Synchroniser les modifications dans l'image du système de fichiers monté : « sync » Configuration du réseau Nous avons choisi de placer le support de la carte ethernet dans la partie dynamique du noyau (les modules). Il faut donc copier l'arborescence des modules sur le réper toire cible par la commande suivante: On peut ensuite initialiser le réseau à l'aide de la commande ifconfig.:
  • 17. MASTER-SIR R a p p o r t | 17 Utilisation de BUILDROOT Il faut alors spécifier les différentes options de compilation. Après l'installation il suffit de taper « make » pour obtenir l'écran de configuration. Cet écran sera ensuite obtenu grâce à la commande « make menuconfig ». • La chaîne de compilation croisée dans le répertoire build_arm/staging_dir • Le root filesystem sur build_arm/root • Une image EXT2 et CRAMFS du root filesystem soit rootfs.arm.ext2 et rootfs.arm.cramfs
  • 18. MASTER-SIR R a p p o r t | 18 Création du script de démarrage /etc/init.d/rcS : Occupons-nous à présent des scripts de démarrage. Ce script se charge de monter l’arborescence de Linux en lecture/écriture, de façon à pouvoir utiliser notre OS, configurer l’adresse localhost… Il est utilisé par la commande /sbin/init de Busybox lors du démarrage du système. ATTENTION!Ce script doit être rendu exécutable par la commande chmod +x.  Fichier /etc/init.d/rcS :
  • 19. MASTER-SIR R a p p o r t | 19 CONCLUSION : Durant la réalisation de ce projet on a pu acquérir une petite expérience dans le monde des noyaux (Kernels) et on a réalisé une configuration d’un nouveau noyau conçu complétement pour l’utilisation qui s’adapte avec nos besoins. Comme résultat, on a réalisé les taches suivantes : - Optimisation de la procédure de démarrage du système - Réduction drastique de l'utilisation mémoire (utilisation de ucLibc et Busybox) - Optimisation du noyau en fonction des fonctionnalités nécessaires (pilotes de périphériques, réseau ou non, etc...).
  • 20. MASTER-SIR R a p p o r t | 20 Bibliographie : Bibliographie • L'ouvrage Linux embarqué 2ème édition paru aux éditions Eyrolles en septembre 2005 dont la présentation est accessible depuis : http://pficheux.free.fr. • L'article Embarquez Linux! Ou Linux everywhere paru dans Linux : http://pficheux.free.fr/articles/ lmf/linux_everywher • La page de Patrice Kadionik concernant les systèmes embarqués sur http://www.enseirb.fr/~ka dionik/embedded/embedded.html • Le site du projet BusyBox sur http://www.busybox.net • Le site du projet uClibc sur http://www.uclibc.org • Le site du projet buildroot sur http://buildroot.uclibc.org • Document NFS-Rootmini-HOWTO sur: http: / /www. tldp.org/HOWTO/NFS-Root.html