Я собрал собственное ядро Linux в BusyBox. BusyBox init
не поддерживает уровни запуска. Когда ядро загружается в BusyBox, оно сначала выполняется, init
которое ищет указанный уровень запуска в /etc/inittab
. BusyBox init
работает просто отлично без /etc/inittab
. Когда нет inittab
найдено, оно имеет следующее поведение:
::sysinit:/etc/init.d/rcS
Эта часть мне очень понятна, но я хотел бы знать, как управлять демонами, которые запускают сеть, создают последовательные порты или запускают java
процессы. Я посмотрел на сценарии, которые находятся внутри, /etc/init.d/
но я не понимаю, как ими управлять. Я ищу хороший учебник или решение для управления этими услугами самостоятельно без автоматизированного инструмента, как buildroot
. Я хочу понять, как работают эти скрипты и как создавать устройства /dev/
(сейчас у меня есть только console
и ttyAM0
).
S[0-99]script_name
Синтаксис имени файла запуститсяS10*
раньшеS2*
и сломает скрипт.S20*
работает послеS10*
, если вы хотите что - то прийти , прежде чемS10
вы должны назвать егоS01*
,S02*
и т.д. NBD.Это плохая идея, чтобы поменять фс в папке "target". Это потому, что изменения в
output/target/
не выживаютmake clean
команды.В руководстве buildroot описано, как это сделать правильно
Вы должны создать каталог где-то, что частично перекрывает файловую систему. Например, вы можете создать dir "your-overlay" в buildroot dir, где вы создаете эту структуру
your-overlay/etc/init.d/<any_file>
Затем вы должны установить путь к этому оверлею в defconfig
System configuration > Root filesystem overlay directories
(или найдите BR2_ROOTFS_OVERLAY)
Кроме того, рекомендуемый путь для этого наложения
board/<company>/<boardname>/rootfs-overlay
источник