Skompilowałem niestandardowe jądro Linuksa w BusyBox. BusyBox init
nie obsługuje poziomów pracy. Kiedy jądro uruchamia się w BusyBox, najpierw wykonuje, init
który szuka określonego poziomu uruchamiania /etc/inittab
. BusyBox init
działa dobrze bez /etc/inittab
. Gdy nie inittab
zostanie znalezione, ma następujące zachowanie:
::sysinit:/etc/init.d/rcS
Ta część jest dla mnie bardzo jasna, ale chciałbym wiedzieć, jak zarządzać demonami, które uruchamiają sieć, tworzą porty szeregowe lub uruchamiają java
procesy. Zajrzałem do skryptów, które się w nich znajdują, /etc/init.d/
ale nie rozumiem, jak nimi zarządzać. Szukam dobrego samouczka lub rozwiązania do samodzielnego sterowania tymi usługami bez zautomatyzowanego narzędzia takiego jak buildroot
. Chcę zrozumieć, jak działają te skrypty i jak tworzyć urządzenia /dev/
(teraz mam tylko console
i ttyAM0
).
S[0-99]script_name
składnia pliku zostanie uruchomionaS10*
przedS2*
i zepsuje skrypt.S20*
biegnie poS10*
, jeśli chcesz coś przyjść wcześniejS10
trzeba to nazwaćS01*
,S02*
itp NBD.To zły pomysł na zmianę swojego fs w folderze „docelowym”. Jest tak, ponieważ zmiany w
output/target/
nie przetrwająmake clean
polecenia.W buildroot instrukcja opisała jak to zrobić poprawnie
Powinieneś stworzyć katalog gdzieś częściowo nakładający się system plików. Na przykład możesz utworzyć katalog „your-overlay” w katalogu buildroot, w którym utworzysz tę strukturę
your-overlay/etc/init.d/<any_file>
Następnie powinieneś ustawić ścieżkę do tej nakładki w defconfig
System configuration > Root filesystem overlay directories
(lub znajdź BR2_ROOTFS_OVERLAY)
Zalecana ścieżka dla tej nakładki to również
board/<company>/<boardname>/rootfs-overlay
źródło