J'ai compilé un noyau Linux personnalisé dans BusyBox. BusyBox init
ne prend pas en charge les niveaux d'exécution. Lorsque le noyau démarre dans BusyBox, il s'exécute d'abord init
pour rechercher le niveau d'exécution spécifié dans /etc/inittab
. BusyBox init
fonctionne très bien sans /etc/inittab
. Quand aucun inittab
n'est trouvé, il a le comportement suivant:
::sysinit:/etc/init.d/rcS
Cette partie est très claire pour moi, mais j'aimerais savoir comment gérer les démons qui démarrent la mise en réseau, créent des ports série ou démarrent des java
processus. J'ai regardé dans les scripts qui résident /etc/init.d/
mais je ne comprends pas comment les gérer. Je recherche un bon tutoriel ou une bonne solution pour contrôler ces services moi-même sans outil automatisé comme buildroot
. Je veux comprendre comment ces scripts fonctionnent et comment créer des périphériques /dev/
(pour l'instant je n'ai que console
et ttyAM0
).
S[0-99]script_name
la syntaxe du nom de fichier s'exécuteraS10*
avantS2*
et interrompra le script.S20*
court aprèsS10*
, si vous voulez quelque chose à venir avant queS10
vous devez l' appelerS01*
,S02*
etc. NBD.C'est une mauvaise idée de changer votre fs dans le dossier "cible". En effet, les modifications apportées
output/target/
ne survivent pas à lamake clean
commande.Dans le manuel de buildroot décrit comment le faire correctement
Vous devez créer un répertoire quelque part qui superpose partiellement le système de fichiers. Par exemple, vous pouvez créer le répertoire "your-overlay" dans le répertoire buildroot où vous créez cette structure
your-overlay/etc/init.d/<any_file>
Ensuite, vous devez définir le chemin d'accès à cette superposition dans defconfig
System configuration > Root filesystem overlay directories
(ou trouvez BR2_ROOTFS_OVERLAY)
De plus, le chemin recommandé pour cette superposition est
board/<company>/<boardname>/rootfs-overlay
la source