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