web-dev-qa-db-fra.com

Créer et contrôler les scripts de démarrage dans Busybox

J'ai compilé un noyau de Linux personnalisé dans BupéraBox. Busybox init ne prend pas en charge les runlevels. Lorsque le noyau démarre dans Busybox, il exécute d'abord init qui recherche le niveau d'exécution spécifié dans /etc/inittab. Busybox init fonctionne juste bien sans /etc/inittab. Quand aucun inittab 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 des démons qui démarrent la mise en réseau, crée des ports série ou démarrer Java processus. J'ai regardé dans les scripts qui résident dans /etc/init.d/ Mais je ne comprends pas comment les gérer. Je cherche un bon tutoriel ou une bonne solution pour contrôler ces services sans outil automatisé comme buildroot. Je veux comprendre comment ces scripts fonctionnent et comment créer des appareils dans /dev/ (maintenant, je n'ai que console et ttyAM0).

11
Shantanu Banerjee

C'est une mauvaise idée de changer votre FS dans le dossier "cible". C'est parce que les changements de output/target/ Ne pas survivre à la make clean commande.

Dans le manuel Buildroot décrivé comment le faire correctement

Vous devez créer un dirt quelque part qui superposez partiellement le système de fichiers. Par exemple, vous pouvez créer dir "votre superposition" dans Buildroot Dir où vous créez cette structure

your-overlay/etc/init.d/<any_file>

Ensuite, vous devriez définir la voie à cette superposition dans defconfig

System configuration > Root filesystem overlay directories

(ou, trouvez br2_rootfs_overlay)

En outre, le chemin recommandé de cette superposition est board/<company>/<boardname>/rootfs-overlay

5
Kenjy Minamori