GNU/Linux >> Tutoriels Linux >  >> Linux

Créer et contrôler des scripts de démarrage dans BusyBox

Pour buildroot tous vos scripts doivent être placés dans $path_to_buildroot/output/target/etc/init.d avant de construire l'image.Dans mon cas, ce répertoire contient rcS et quelques scripts nommés S[0-99]script_name. Vous pouvez donc créer votre propre script start\stop.

RCS :

#!/bin/sh

# Start all init scripts in /etc/init.d
# executing them in numerical order.
#
for i in /etc/init.d/S??* ;do

     # Ignore dangling symlinks (if any).
     [ ! -f "$i" ] && continue

     case "$i" in
    *.sh)
        # Source shell script for speed.
        (
        trap - INT QUIT TSTP
        set start
        . $i
        )
        ;;
    *)
        # No sh extension, so fork subprocess.
        $i start
        ;;
    esac
done

et par exemple S40network :

#!/bin/sh
#
# Start the network....
#

case "$1" in
  start)
    echo "Starting network..."
    /sbin/ifup -a
    ;;
  stop)
    echo -n "Stopping network..."
    /sbin/ifdown -a
    ;;
  restart|reload)
    "$0" stop
    "$0" start
    ;;
  *)
    echo $"Usage: $0 {start|stop|restart}"
    exit 1
esac

exit $?

C'est une mauvaise idée de changer votre fs dans le dossier "target". C'est parce que les changements dans output/target/ ne survivez pas au make clean commande.

Dans le manuel de buildroot décrit comment le faire correctement

Vous devez créer un répertoire quelque part qui recouvre partiellement le système de fichiers. Par exemple, vous pouvez créer le répertoire "votre superposition" 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 vers cette superposition dans defconfig

System configuration > Root filesystem overlay directories

(ou trouvez BR2_ROOTFS_OVERLAY)

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


Linux
  1. Comment créer des scripts Bash à l'aide de variables externes et de scripts intégrés

  2. Comment créer et supprimer un groupe d'utilisateurs sous Linux

  3. Créer une nouvelle base de données et l'utiliser dans MySQL/MariaDB

  4. Pam - Indicateur de contrôle requis et suffisant ?

  5. Créer un fichier en tant qu'utilisateur et groupe différents ?

Comment créer et restaurer des instantanés de machine virtuelle dans VirtualBox

Comment créer et utiliser un fichier d'échange sous Linux

Démarrage et arrêt

Créer et gérer un sous-domaine

Créer et supprimer une tâche Cron

Créer et configurer un utilisateur dans MSSQL