GNU/Linux >> Znalost Linux >  >> Linux

Vytvářejte a řiďte spouštěcí skripty v BusyBoxu

Pro buildroot musí být všechny vaše skripty umístěny v $path_to_buildroot/output/target/etc/init.d před build image.V mém případě tento adresář obsahuje rcS a několik skriptů s názvem S[0-99]script_name. Můžete si tedy vytvořit svůj vlastní start\stop skript.

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

a například 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 $?

Je špatný nápad měnit fs ve složce "target". Důvodem jsou změny v output/target/ nepřežijí make clean příkaz.

V buildroot manuálu je popsáno, jak to udělat správně

Měli byste někde vytvořit adresář, který částečně překrývá souborový systém. Například můžete vytvořit adresář "vaše překrytí" v adresáři buildroot, kde vytvoříte tuto strukturu

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

Pak byste měli nastavit cestu k tomuto překrytí v defconfig

System configuration > Root filesystem overlay directories

(nebo vyhledejte BR2_ROOTFS_OVERLAY)

Doporučená cesta pro tuto překryvnou vrstvu je také board/<company>/<boardname>/rootfs-overlay


Linux
  1. Jak vytvořit Bash skripty pomocí externích proměnných a vložených skriptů

  2. Jak vytvořit a odstranit uživatelskou skupinu v Linuxu

  3. Vytvořit soubor jako jiný uživatel a skupina?

  1. Vytvořte novou databázi a použijte ji v MySQL/MariaDB

  2. Pam – povinná a dostatečná kontrolní vlajka?

  3. Vytvářejte a rušte role v PostgreSQL

  1. Bash-it – Bash Framework pro ovládání vašich skriptů a aliasů

  2. Jak vytvářet a používat vlastní fakta v Ansible

  3. Jak vytvořit skupinu zabezpečení (SG) a seznam řízení přístupu k síti (NACL) v AWS