 première partie de la création d un mini lecteur de salon arriver à lancer ls le but de l atelier était de comprendre les étapes d amorcage d un systeme gnu linux le lecteur de salon n est qu un prétexte pour arriver à cette finalité il nous faut arrivé à lancer un ogg123 et un mixeur audio sur un systeme le plus minimaliste possible le système complet pesant une quinzaine de mo à la fin nous allons pour cela copier fichier par fichier ce que nous aurons besoin depuis un systeme gnu linux fonctionnel je pars du principe que vous avez un système fonctionnel et que les commandes de base sont connus nous avons une partition vide d au moins 20mo monté dans mnt hd le document se base sur une slackware 91 mais tout autre distribution version donnera des résultats semblable le noyau copie du noyau le noyau est le première élément lancé après le programme d amorçage il est nécessaire de le copier sur la partition libre le noyau se trouve usuellement dans boot et à un nom du type vmlinuz mkdir mnt hd boot cp l boot vmlinuzide2422 mnt hd boot vmlinuz l option l de cp permet de copier le fichier cible et non d éventuel lien symbolique merci dontpanic pour l astuce il est courant que les distributions utilisent initrd initrd est un petit système de fichier permettant de charger des modules au noyau cela permet de compiler en modules la prise en charge de son système de fichier ext3 reiserfs si vous utilisez initrd il est nécessaire de le copier cp l boot initrdimgide2422 mnt hd boot initrdimg configuration du programme d amorçage une fois le noyau copier et éventuellement le initrd il nous faut configurer le programme d amorçage lilo editer etc liloconf ajouter à la fin une section du type il est préférable de s inspirer de sa configuration de gnu linux actuelle vi etc liloconf image mnt hd boot vmlinuz root dev hda3 seulement si vous utilisez initrd initrd boot initrdimg label microlinux readonly lilo added linux added microlinux le readonly est ici obligatoire en effet nous éteindrons la machine de façon brutale grub  vi boot grub menulst title microlinux root hd 05 kernel boot vmlinuz root dev hda6 ro seulement si vous utilisez initrd initrd boot initrdimg savedefault le ro est ici obligatoire en effet nous éteindrons la machine de façon brutale premier test nous redémarrons sur cette partition nous ne devrions pas aller plus loin que les lignes suivantes warning unable to open an initial console kernel panic no init found try passing init option to kernel init comme l indique le message précédent le noyau n est pas capable de trouver le programme init il nous faut l ajouter mkdir mnt hd sbin cp sbin init mnt hd sbin au démarrage nous avons le message suivant warning unable to open an initial console attention si vous avez encore le message disans que init n est pas trouvable voir le paragraphe ls pour copier les bibliothèques manquantes le périphérique console créons le périphérique console sous unix tout est fichier même les périphériques ces fichiers sont spéciaux il utilise un numéro majeur et mineur pour communiquer aux systèmes d exploitation il existe deux types de fichiers spéciaux les blocs b et les caractères c la différence avec les deux c est la présence d un buffer pour les périphériques en mode bloc pour récupérer ces numéros et créer les fichiers il suffit de faire ls l dev console crw 1 root tty 5 1 may 8 1019 dev console mknod mnt hd dev console c 5 1 au démarrage nous avons le message suivant init version 284 booting init no inittab file found init can t open etc ioctlsave owronly no such file or directory enter runlevel 3 init can t open etc ioctlsave owronly no such file or directory init entering runlevel 3 init no more processes left in this runlevel il nous faut donc le fichier de configuration inittab mkdir mnt hd etc vi mnt hd etc inittab id 3 initdefault si sysinit bin ls c11235 respawn sbin agetty 38400 tty1 linux le fichier est composer de ligne divisé en quatre partie séparer par des la première est un identifiant de ligne de deux caractères la deuxième correspond au runlevel il peut en avoir plusieurs la troisième correspond à l action initdefault runlevel wait attend que le processus soit fini pour continuer respawn redemarre le processus quand il se termine la quatrième définit le programme lancé notre première application ls comme vous pouvez le voir nous cherchons à lancer un ls il nous font donc le copier mkdir mnt hd bin cp bin ls mnt hd bin au démarrage nous avons init version 284 booting init cannot execute bin ls init entering runlevel 3 init cannot execute sbin agetty init cannot execute sbin agetty init cannot execute sbin agetty init cannot execute sbin agetty init cannot execute sbin agetty init cannot execute sbin agetty init cannot execute sbin agetty init cannot execute sbin agetty init cannot execute sbin agetty init cannot execute sbin agetty init id c1 respawning too fast disabled for 5 minutes init no more processes left in this runlevel etrangement il ne trouve pas ls revenons au système valide pour voir ce qu il se passe nous allons utiliser la commande chroot celleci permet de modifier la racine cela permet de lancer une commande comme si nous avons démarrer sur une partition différente chroot mnt hd bin ls chroot bin ls no such file or directory il nous manque quelque chose regardons du côté des bibliothèques partagées et copions celle qui manque pour cela nous allons utiliser la commande ldd ldd mnt hd bin ls librtso1 lib librtso1 0x40019000 libcso6 lib libcso6 0x4002c000 libpthreadso0 lib libpthreadso0 ox40162000 lib ldlinuxso2 lib ldlinuxso2 0x40000000 mkdir mnt hd lib cp l lib librt232so mnt hd lib il faut faire pareil avec les 3 autres bibliotheques chroot mnt hd bin ls bin boot dev etc lib sbin redémarrons pour tester init version 284 booting bin boot dev etc lib sbin init entering runlevel 3 init cannot execute sbin agetty init cannot execute sbin agetty init cannot execute sbin agetty init cannot execute sbin agetty init cannot execute sbin agetty init cannot execute sbin agetty init cannot execute sbin agetty init cannot execute sbin agetty init cannot execute sbin agetty init id c1 respawning too fast disabled for 5 minutes init no more processes left in this runlevel donc ls fonctionne correctement la suite dans le deuxième atelier sur le sujet première partie de la création d un mini lecteur de salon arriv quel superbe article c est exactement ce que je voulais faire mais avec le peu de connaissance que j ai c était mal parti enfin j avais dans l idée de ma lancer dans un lfs mais ça me semblait arriver à une distribution un peu trop importante je vous remercievivement la suite  première partie de la création d un mini lecteur de salon arriv dites moi si je ne suis pas bien reveillé mais je n arrive pas à trouver la seconde partie de cet article merci de m indiquer où je pourrais la trouver cordialement 40tude première partie de la création d un mini lecteur de salon arriv l atelier n a jamais été réalisé il n y a donc pas malheureusement de seconde partie première partie de la création d un mini lecteur de salon arriv merci pour cet article en effet malgrés l absence de fin de ce projet il me permet de comprendre l utilisation du systeme linux dans une application dedié le miens étant de faire un linux orienté mao midi a partir d un vieux pentium 400 avec 128 mo de ram oui oui c est possible  première partie de la création d un mini lecteur de salon arriv le but était au début de comprendre comment fonctionne le démarrage a vrai dire la 1er fois que j avais fait cela c etait pour un lecteur mp3 de base pour salon le tout fonctionnant avec un script bash maison et mpg123 c était plus pour apprendre que pour une réel utilisation il existe déjà des distributions spécialisés dans la mao mais je suppose que tu es déjà au courant bon courage pour la suite   système  