Então, eu tenho um bug em um script no meu diretório init.d e na linha de fundo ... Não consigo inicializar completamente o pi.
Como posso inicializar no nível de execução 1 (modo de usuário único) para corrigir o erro?
Então, eu tenho um bug em um script no meu diretório init.d e na linha de fundo ... Não consigo inicializar completamente o pi.
Como posso inicializar no nível de execução 1 (modo de usuário único) para corrigir o erro?
Respostas:
Essa não é exatamente uma maneira de entrar no nível de execução 1, mas existe a opção de inicialização "modo de segurança" no firmware do raspberry Pi. Para habilitá-lo, você deve inserir um jumper entre os pinos 5 e 6 no cabeçalho P1 (GPIO) durante a inicialização.
Se você fizer isso, o carregador de inicialização ignorará o config.txt
arquivo (exceto a avoid_safe_mode
opção que pode ser usada para desativar esse recurso) e tentará inicializar kernel_emergency.img
(se disponível) em vez de kernel.img
.
O padrão kernel_emergency.img
possui uma initramfs
compilação de emergência especial e ele inicializa neste sistema operacional baseado no busybox para que você possa corrigir os problemas manualmente no seu sistema operacional (ou alterar os parâmetros de inicialização do kernel para executar o nível de execução 1 na próxima inicialização). Lembre-se de correr sync
antes de desligar uma vez reboot
ou shutdown
comandos podem não funcionar.
adicione no final da linha
init=/bin/sh
pressione ok e, em seguida, Esc para inicializar ...... ele inicializará você em uma linha de comando
# /etc/init.d/mountall.sh
(isso vai fazer alguma coisa)
# mount -n -o remount,rw /
(isso remontará / para que você possa fazer alterações)
agora você deve poder editar o init.d config ......
Várias das outras respostas aqui agora estão incorretas:
O método de pino de jumper GPIO foi removido do SO upstream, portanto, só funciona agora se você estiver usando uma imagem NOOBS
A mudança de Jessie para o systemd quebra o init=/bin/sh
hack. Quando você faz isso, ele reclama,can't access tty: job control turned off
Felizmente, existe uma solução que funciona, que realmente oferece acesso único a um usuário: adicione um espaço e um 1
no final de cmdline.txt
, logo após o rootwait
parâmetro.
O menu de inicialização hold-Shift não existe na imagem padrão do Raspbian Jessie OS; portanto, você precisará fazer isso editando /boot/cmdline.txt
em outro computador se não estiver usando a imagem NOOBS.
Não consegui encontrar uma maneira de forçar o pi a inicializar no nível de execução 1, então iniciei um disco ao vivo do fedora que eu tinha instalado e usei o terminal para remover o script em questão do diretório /etc/init.d
Se você deseja acessar e alterar os arquivos de partição Linux do cartão SD no Windows, pode fazê-lo com um desses utilitários .
Inicialize no nível de execução 1
$ sudo init 1
Após a inicialização no nível de execução 1
$ passwd
NOTA: para executar o nível 1, altere o arquivo /etc/inittab
de id:2:initdefault:
para algo semelhante como:id:1:initdefault: