Execute scripts de shell com -x para depurar o sistema v boot

0

Eu preciso depurar a parte do espaço de usuário do processo de inicialização e gostaria de executar todos os scripts com sh -x por padrão para que eu possa observar o que está acontecendo durante a inicialização.

É um sistema embarcado que usa o busybox para fornecer sh . /bin/sh é um link para buysbox .

É possível fazer uma mudança do interpretador do sistema, de sh para sh -x ?

    
por TheMeaningfulEngineer 17.08.2015 / 12:58

1 resposta

1

No meu sistema /bin/sh é um link para dash, então eu posso apenas substituir o link com um programa que executa /bin/dash -x e passa os parâmetros da linha de comando.

Se o seu /bin/sh é um binário. Em seguida, copie-o para /bin/sh.org e faça o mesmo acima, mas executando /bin/sh.org -x em vez de dash .

Você terá que fazer essas alterações como usuário root.

Se /bin/sh for um link para busybox , ainda é possível fazer o acima: mova busybox para busybox.org e crie um binário busybox que verifique se ele é invocado como sh (que é essencialmente o que o busybox original faz para ter suas várias identidades). Se assim for, insira -x antes do resto dos parâmetros da linha de comando e chame busybox , se não (ou seja, não é chamado como sh ), apenas chame busybox com os parâmetros da linha de comando conforme for.

No entanto, pode ser mais fácil fazer o download do código-fonte para busybox, alterar a origem para sempre assumir -x para sh invocação, compilar e instalar (faça um backup do binário busybox original).

    
por 17.08.2015 / 13:36

Tags