GNU/Linux >> Tutoriales Linux >  >> Linux

Crear y controlar scripts de inicio en BusyBox

Para buildroot, todos sus scripts deben colocarse en $path_to_buildroot/output/target/etc/init.d antes de construir la imagen. En mi caso, este directorio contiene rcS y algunos scripts llamados S[0-99]script_name. Para que pueda crear su propia secuencia de comandos 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

y por ejemplo 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 $?

Es mala idea cambiar su fs en la carpeta "objetivo". Esto se debe a cambios en output/target/ no sobrevivas al make clean comando.

En el manual de buildroot se describe cómo hacerlo correctamente

Debe crear un directorio en algún lugar que se superponga parcialmente al sistema de archivos. Por ejemplo, puede crear el directorio "su superposición" en el directorio buildroot donde crea esta estructura

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

Luego debe establecer la ruta a esta superposición en defconfig

System configuration > Root filesystem overlay directories

(o busque BR2_ROOTFS_OVERLAY)

Además, la ruta recomendada para esta superposición es board/<company>/<boardname>/rootfs-overlay


Linux
  1. Cómo crear scripts Bash usando variables externas y scripts incrustados

  2. Cómo crear y eliminar un grupo de usuarios en Linux

  3. Cree una nueva base de datos y utilícela en MySQL/MariaDB

  4. Pam – ¿Bandera de control requerida y suficiente?

  5. ¿Crear un archivo como un usuario y grupo diferente?

Cómo crear y restaurar instantáneas de máquinas virtuales en VirtualBox

Cómo crear y usar un archivo de intercambio en Linux

Arranque y apagado

Crear y administrar un subdominio

Crear y eliminar un trabajo cron

Crear y configurar un usuario en MSSQL