Saya telah menyusun kernel linux khusus di BusyBox. BusyBox init
tidak mendukung runlevel. Ketika kernel melakukan booting di BusyBox, kernel tersebut pertama kali mengeksekusi init
yang mencari runlevel yang ditentukan di /etc/inittab
. BusyBox init
berfungsi dengan baik tanpa /etc/inittab
. Ketika tidak inittab
ditemukan, ia memiliki perilaku berikut:
::sysinit:/etc/init.d/rcS
Bagian ini sangat jelas bagi saya, tetapi saya ingin tahu bagaimana mengelola daemon yang memulai jaringan, membuat port serial, atau memulai java
proses. Saya telah melihat di skrip yang berada /etc/init.d/
tetapi saya tidak mengerti bagaimana mengelolanya. Saya mencari tutorial atau solusi yang bagus untuk mengontrol layanan ini sendiri tanpa alat otomatis seperti buildroot
. Saya ingin memahami cara kerja skrip ini dan cara membuat perangkat /dev/
(saat ini saya hanya punya console
dan ttyAM0
).
S[0-99]script_name
sintaks nama file akan berjalanS10*
sebelumS2*
dan memecahkan skrip.S20*
berjalan setelahS10*
, jika Anda ingin sesuatu yang datang sebelumS10
Anda perlu menyebutnyaS01*
,S02*
, dll NBD.Itu ide buruk untuk mengubah fs Anda di folder "target". Ini karena perubahan
output/target/
tidak bertahan darimake clean
perintah.Dalam manual buildroot dijelaskan cara melakukannya dengan benar
Anda harus membuat dir di suatu tempat yang sebagian overlay sistem file. Misalnya Anda dapat membuat dir "your-overlay" di dir buildroot tempat Anda membuat struct ini
your-overlay/etc/init.d/<any_file>
Maka Anda harus menetapkan path ke overlay ini di defconfig
System configuration > Root filesystem overlay directories
(atau, cari BR2_ROOTFS_OVERLAY)
Selain itu, jalur yang disarankan untuk hamparan ini adalah
board/<company>/<boardname>/rootfs-overlay
sumber