GNU/Linux >> Linux Esercitazione >  >> Linux

Crea e controlla gli script di avvio in BusyBox

Per buildroot tutti i tuoi script devono essere inseriti in $path_to_buildroot/output/target/etc/init.d prima di creare l'immagine. Nel mio caso questa directory contiene rcS e alcuni script denominati S[0-99]script_name. Quindi puoi creare il tuo 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

e ad esempio 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 $?

È una cattiva idea cambiare il tuo fs nella cartella "target". Questo perché le modifiche in output/target/ non sopravvivere al make clean comando.

Nel manuale di buildroot viene descritto come farlo correttamente

Dovresti creare una directory da qualche parte che sovrapponga parzialmente il file system. Ad esempio puoi creare dir "your-overlay" in buildroot dir dove crei questa struct

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

Quindi dovresti impostare il percorso di questo overlay in defconfig

System configuration > Root filesystem overlay directories

(oppure trova BR2_ROOTFS_OVERLAY)

Inoltre, il percorso consigliato per questo overlay è board/<company>/<boardname>/rootfs-overlay


Linux
  1. Come creare script Bash utilizzando variabili esterne e script incorporati

  2. Come creare ed eliminare un gruppo di utenti in Linux

  3. Crea un nuovo database e usalo in MySQL/MariaDB

  4. Pam – Bandiera di controllo richiesta e sufficiente?

  5. Creare un file come utente e gruppo diversi?

Come creare e ripristinare snapshot VM in VirtualBox

Come creare e utilizzare file di scambio su Linux

Avvio e spegnimento

Crea e gestisci un sottodominio

Crea ed elimina un lavoro Cron

Crea e configura un utente in MSSQL