Résumé rapide des commandes les plus courantes : - { ... } : bloc d'instructions - & : n'exécute CMD que si le retour précédent est OK - | : n'exécute CMD que si le retour précédent est ERR - ! : inverse le code de retour de CMD, et peut être combiné à &,| - te VAR=VAL => retourne TRUE si VAR=VAL dans l'env. - in : spécifie l'init auquel on donne la main - ec : echo - rd : passe en mode prompt clavier, en affichant le message. Ne retourne jamais d'erreur. Le prompt compte les niveaux pour s'y retrouver avec les {} :-) - mt : mount ; um : umount - mv : mount --move ; bi : mount --bind - ex : exécute dans un sous-process (system()) - /path/prog args : idem. - rx xxx yyy : execute yyy dans chroot xxx; - md : mkdir ; ln : lien - bl,ch,fi : devices block, char, fifo - pr xxx yyy : pivot_root : root -> xxx/yyy ; xxx->root C'est une conf opérationnelle de boot avec un linuxrc dans un initrd et un .preinit sur un CD. Par défaut, le kernel charge /sbin/init à partir de l'initrd. Ce dernier est un lien qui pointe vers le script /.linuxrc, référençant lui-même /linuxrc comme interpréteur. Le résultat est que l'on exécute : /linuxrc < /sbin/init ce qui revient à /linuxrc < /.linuxrc Il est possible de forcer le chemin de linuxrc par 'init=/xxxxx' au boot. Ensuite, le script linuxrc monte le CD puis exécute soit /sbin/init, soit le nom en regard de la ligne 'in xxxx' dans la conf, soit xxxx si 'init2=xxxx' est précisé sur la ligne de commande, soit enfin le paramètre de 'in' fourni au clavier en mode prompt si "RDSHELL=1" est passé au noyau. Le /sbin/init du CD utilise par défaut /.preinit (qu'on aurait pu appeler en direct par 'init=' venant d'un kernel sans initrd, ou 'init2=' venant d'un initrd équipé du linuxrc décrit ci-dessus). Si le paramètre "RAMCOPY=1" est passé au kernel, alors le script recopie tout le CD en RAM, puis le démonte. Si le paramètre "AUTORUN=1" est passé au kernel, alors il tentera de monter une disquette en ext2 puis en fat, pour y exécuter /autorun dans un sous-processus. Si le paramètre "INITSHELL=1" est passé au kernel, alors l'utilisateur récupère un prompt. Enfin, le script transfère l'exécution à /sbin/init-sysv, ou au binaire désigné par 'in' dans le script, ou par celui désigné par le paramètre "INIT=xxx" passé au kernel.