Vamos analisar a ferramenta grabserial que é util no processo estudo do processo de boot de um sistema Linux Embarcado. Com essa ferramenta, podemos encontrar pontos críticos e identificar aonde podemos atuar para redução e otimização do tempo de boot do sistema.
Instalação
Dependências : python-serial
sudo apt-get install python-serial wget https://github.com/tbird20d/grabserial/archive/v1.9.3.tar.gz tar -xvf grabserial-1.9.3.tar.gz cd grabserial-1.9.3 sudo python setup.py install
Utilização
- d = device Serial
- t = imprimir timestamp
- m = Sequência de strings marcar o começo do log
- e = total de segundos para captura
- o = nome do arquivo de saída
no meu caso, meu device serial esta em /dev/ttyUSB0 e estou criando o arquivo boot.log para gerar o registro do processo.
sudo grabserial -d /dev/ttyUSB0 -t -m "U-Boot" -e 30 -o boot.log

O tempo é registrado da seguinte forma:
[TEMPO_TOTAL TEMPO_ENTRE_MENSAGENS]
Com esse registro, podemos identificar os pontos aonde é mais facil interferir. Simplesmente desabilitar o tempo de espera no U-boot(setenv bootdelay -1) nos faz reduzir 1s do boot.
[0.126762 0.000521] Hit any key to stop autoboot: 0 [1.112250 0.985488] Booting from NAND...
Diversas mudanças podem ser feitas para reduzir o tempo mas iremos estuda-las em outros artigos.