Eu compilei um kernel Linux personalizado no BusyBox. O BusyBox init
não suporta níveis de execução. Quando o kernel é inicializado no BusyBox, ele primeiro executa o init
que procura o nível de execução especificado em /etc/inittab
. BusyBox init
funciona muito bem sem /etc/inittab
. Quando não inittab
é encontrado, ele tem o seguinte comportamento:
::sysinit:/etc/init.d/rcS
Esta parte é muito clara para mim, mas gostaria de saber como gerenciar daemons que iniciam a rede, criam portas seriais ou iniciam java
processos. Eu procurei nos scripts que residem, /etc/init.d/
mas não entendo como gerenciá-los. Estou procurando um bom tutorial ou solução para controlar esses serviços eu mesmo sem uma ferramenta automatizada buildroot
. Eu quero entender como esses scripts funcionam e como criar dispositivos /dev/
(agora eu só tenho console
e ttyAM0
).
S[0-99]script_name
A sintaxe do nome do arquivo será executadaS10*
antesS2*
e interromperá o script.S20*
corre atrásS10*
, se você quer algo para vir antesS10
que você precisa para chamá-loS01*
,S02*
etc. NBD.É uma péssima idéia alterar seu fs na pasta "target". Isso ocorre porque as alterações
output/target/
não sobrevivem aomake clean
comando.No manual buildroot, descreveu como fazê-lo corretamente
Você deve criar dir em algum lugar que sobreponha parcialmente o sistema de arquivos. Por exemplo, você pode criar o diretório "sua sobreposição" no diretório buildroot, onde você cria essa estrutura
your-overlay/etc/init.d/<any_file>
Então você deve definir o caminho para essa sobreposição em defconfig
System configuration > Root filesystem overlay directories
(ou encontre BR2_ROOTFS_OVERLAY)
Além disso, o caminho recomendado para essa sobreposição é
board/<company>/<boardname>/rootfs-overlay
fonte