GNU/Linux >> Belajar Linux >  >> Linux

Membuat dan mengontrol skrip start up di BusyBox

Untuk buildroot, semua skrip Anda harus ditempatkan di $path_to_buildroot/output/target/etc/init.d sebelum membangun gambar. Dalam kasus saya, direktori ini berisi rcS dan beberapa skrip bernama S[0-99]script_name. Jadi, Anda dapat membuat skrip start\stop Anda sendiri.

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

dan misalnya jaringan S40:

#!/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 $?

Merupakan ide buruk untuk mengubah fs Anda di folder "target". Ini karena perubahan pada output/target/ tidak selamat dari make clean perintah.

Dalam manual buildroot dijelaskan bagaimana melakukannya dengan benar

Anda harus membuat dir di suatu tempat yang sebagian melapisi sistem file. Misalnya, Anda dapat membuat dir "your-overlay" di direktori buildroot tempat Anda membuat struct ini

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

Maka Anda harus mengatur path ke overlay ini di defconfig

System configuration > Root filesystem overlay directories

(atau, temukan BR2_ROOTFS_OVERLAY)

Selain itu, jalur yang disarankan untuk overlay ini adalah board/<company>/<boardname>/rootfs-overlay


Linux
  1. Cara membuat skrip Bash menggunakan variabel eksternal dan skrip yang disematkan

  2. Cara membuat dan menghapus grup pengguna di Linux

  3. Buat dan lepaskan peran di PostgreSQL

  1. Buat database baru dan gunakan di MySQL/MariaDB

  2. Pam – Bendera Kontrol yang Diperlukan Dan Cukup?

  3. Buat File Sebagai Pengguna Dan Grup Yang Berbeda?

  1. Bash-it – Bash Framework untuk Mengontrol Skrip dan Alias ​​Anda

  2. Cara Membuat dan Menggunakan Fakta Kustom di Ansible

  3. Cara membuat Grup Keamanan (SG) dan Daftar Kontrol Akses Jaringan (NACL) di AWS