Os scripts init em /etc/init.d/ especificam algumas informações sobre o seu cabeçalho LSB, que em essência são apenas algumas linhas no início do script. O campo "Required-Start" de algum script permite que você especifique serviços que devem ser inicializados antes deste script. insserv
adiciona automaticamente scripts de inicialização sobre o cabeçalho do LSB.
Portanto, para resolver o problema:
- Nomeie seu script "X" usando o campo "Fornece" no cabeçalho do LSB.
- Adicione os runlevels nos quais o script deve ser iniciado e interrompido usando os campos "Default-Start" e "Default-Stop", respectivamente, no cabeçalho do LSB.
- Defina "X" para o campo "Required-Start" no cabeçalho LSB dos scripts com prioridade 01: hostname.sh, fake-hwclock e mountkernfs.sh.
- Adicione o serviço usando
sudo insserv name_of_your_script_file
(não o nome que você dá ao campo "Fornece")
Isso move todas as prioridades de script necessárias dos scripts envolvidos para que correspondam às dependências. No meu caso:
- S01X.sh
- S02mountkernfs.sh
- S02hostname.sh
- S02fake-hwclock
- S03udev
Fonte: link