O que é init.d
O que é INIT
Em sistemas operacionais de computadores baseados em Unix, init (abreviação de inicialização) é o primeiro processo iniciado durante a inicialização do sistema de computador. Init é um processo de daemon (Processo em segundo plano, oculto para o usuário) que continua em execução até que o sistema seja encerrado. É o antepassado direto ou indireto de todos os outros processos e adota automaticamente todos os processos órfãos. O Init é iniciado pelo kernel usando um nome de arquivo codificado. Os scripts executados pelo Kernel são escritos na "linguagem de programação" shell script. Para facilitar o entendimento, veja o diagrama abaixo.
Clique na foto para expandi-la
Init.d no Linux e no Android
Linux: Em distros de Linux, o diretório do init pode ser encontrado no diretório "/etc/"
Os scripts tem uma grande importância nesses sistemas, já que boa parte da configuração do sistema pode ser encontrada nele. O mais comum é encontrar estrutura baseada em níveis (RunLevel) "RC*" (rc1.d, rc2.d, rc3.d, etc) onde cada um é uma etapa do sistema, ou um estado de boot, novamente, varia de inits. Clique aqui para saber mais e clique aqui para conhecer mais alguns init's.
Android: No Android, o suporte à leitura e execução de scripts no diretório init.d é desativado no kernel por padrão e sua ativação só é possível se usado um Kernel modificado. Em muitos casos, a ROM nem ao menos tem a pasta init.d em seu diretório (/system/etc/init.d)
Vantagens
Existem diversos scripts prontos que otimizam a forma que o Android executa processos. Scripts que otimizam sua internet, bateria e velocidade de processamento. Ao instalar um pacote de scripts como "TweakZV6", você terá diversos scripts executando e otimizando seu celular. Você também pode fazer seus próprios scripts se preferir.
Para meu sistema, eu fiz um shell script que forçava o reboot ao terminar etapas de inicialização (como gerar/ validar Dalvik Cache). Isso otimizou a velocidade do primeiro boot em 70% e do boot geral em 20%.
*Nota: Muitos scripts e técnicas usadas em scripts de init.d para ajustar o Android já foram
Verificando se seu celular executa os scripts.
Caso você esteja usando uma custom rom, é provável que seu celular já esteja com o suporte ao init.d. recomendo que verifique antes de fazer qualquer procedimento de instalação
Podemos testar se seu init.d está funcionando da seguinte maneira
1. Baixe o arquivo test_initd.zip <-- clique no nome
2. Extraindo o arquivo, você terá o nome do arquivo "00test". NÃO TENTE FLASHEAR O ZIP!
3. Cole o arquivo 00test no diretório /system/etc/init.d. Se não houver a pasta init.d é provável que seu Android não tenha compatibilidade. Caso queira, crie a pasta init.d
4. Mude as permissões da pasta init e do arquivo 00test para rwxrwxrwx
5. Reinicie
6. Se você ver um arquivo chamado Test.log no diretório /data, seu init.d está ativo e funcionando. Caso não veja, você deve testar o procedimento abaixo.
Ativando o init.d do seu celular
Atenção
1. Para seguir para o tutorial, o seu celular precisa de Root.
Se não sabe o que é Root, clique aqui
Se sabe o que é e quer fazer root, clique aqui
2. Os itens listados nesses tutorial podem brickar seu celular. Nós não nos responsabilizamos por danos. Se não sabe o que é Root, clique aqui
Se sabe o que é e quer fazer root, clique aqui
3. Talvez seja necessária a instalação do busybox.
Conclusão
É impossível falar de Linux sem saber que a explicação está superficial. Existem milhares de distros de Linux e ROMs de Android. Muitas distros utilizam outros inits (Systemd, Upstart, etc) e algumas empresas ativam o init.d de fábrica há anos (como é o caso da Samsung e da HTC). A intenção desse artigo é passar a base. Fique à vontade para usar os comentários, caso tenha dúvidas.
Nenhum comentário:
Todos os comentários são monitorados. Comentários ofensivos serão removidos e os respectivos usuários banidos.