He compilado un kernel de Linux personalizado en BusyBox. BusyBox init
no admite niveles de ejecución. Cuando el kernel se inicia en BusyBox, primero se ejecuta init
y busca el nivel de ejecución especificado /etc/inittab
. BusyBox init
funciona bien sin él /etc/inittab
. Cuando no inittab
se encuentra, tiene el siguiente comportamiento:
::sysinit:/etc/init.d/rcS
Esta parte es muy clara para mí, pero me gustaría saber cómo administrar demonios que inician redes, crean puertos seriales o inician java
procesos. He buscado en los scripts que residen /etc/init.d/
pero no entiendo cómo administrarlos. Estoy buscando un buen tutorial o solución para controlar estos servicios yo mismo sin una herramienta automatizada como buildroot
. Quiero entender cómo funcionan estos scripts y cómo crear dispositivos /dev/
( en este momento solo tengo console
y ttyAM0
).
S[0-99]script_name
La sintaxis del nombre de archivo se ejecutaráS10*
antesS2*
y romperá el script.S20*
carreras despuésS10*
, si quieren algo para venir antes deS10
lo necesario para llamarloS01*
,S02*
etc. NBD.Es una mala idea cambiar su fs en la carpeta "target". Esto se debe a que los cambios
output/target/
no sobreviven almake clean
comando.En el manual de buildroot se describe cómo hacerlo correctamente
Debe crear un directorio en algún lugar que superponga parcialmente el sistema de archivos. Por ejemplo, puede crear el directorio "your-overlay" en el directorio buildroot donde crea esta estructura
your-overlay/etc/init.d/<any_file>
Entonces debe establecer la ruta a esta superposición en defconfig
System configuration > Root filesystem overlay directories
(o, encuentre BR2_ROOTFS_OVERLAY)
Además, la ruta recomendada para esta superposición es
board/<company>/<boardname>/rootfs-overlay
fuente