Quindi ho un bug in uno script nella mia directory init.d e nella linea di fondo ... Non riesco ad avviare completamente il pi.
Come posso avviare in runlevel 1 (modalità utente singolo) in modo da poter correggere il bug?
Quindi ho un bug in uno script nella mia directory init.d e nella linea di fondo ... Non riesco ad avviare completamente il pi.
Come posso avviare in runlevel 1 (modalità utente singolo) in modo da poter correggere il bug?
Risposte:
Questo non è esattamente un modo per entrare nel runlevel 1, ma c'è un'opzione di avvio "modalità sicura" nel firmware di raspberry Pi. Per abilitarlo, è necessario inserire un ponticello tra i pin 5 e 6 sull'intestazione P1 (GPIO) durante l'avvio.
In tal caso, il bootloader ignorerà il config.txt
file (ad eccezione avoid_safe_mode
dell'opzione che può essere utilizzata per disabilitare questa funzione) e proverà ad avviarsi kernel_emergency.img
(se disponibile) invece di kernel.img
.
L'impostazione predefinita kernel_emergency.img
include speciali initramfs
build di emergenza e si avvierà su questo SO basato su busybox in modo da poter risolvere manualmente i problemi nel proprio SO (o modificare i parametri di avvio del kernel per eseguire runlevel 1 al prossimo avvio). Ricordarsi di eseguire sync
prima di spegnere dato reboot
o shutdown
comandi potrebbero non funzionare.
aggiungere alla fine della riga
init=/bin/sh
premi ok, quindi Esc per l'avvio ...... ti avvierà da una riga di comando
# /etc/init.d/mountall.sh
(questo farà qualcosa)
# mount -n -o remount,rw /
(questo verrà rimontato / in modo da poter apportare modifiche)
ora dovresti essere in grado di modificare la configurazione init.d ......
Molte delle altre risposte qui non sono corrette:
Il metodo pin jumper GPIO è stato rimosso dal sistema operativo a monte, quindi funziona solo se si utilizza un'immagine NOOBS
Il passaggio di Raspbian Jessie a systemd interrompe l' init=/bin/sh
hack. Quando lo fai, si lamenta,can't access tty: job control turned off
Fortunatamente, esiste una soluzione che funziona, che in realtà offre un vero accesso per singolo utente: aggiungi uno spazio e un 1
alla fine di cmdline.txt
, subito dopo il rootwait
parametro.
Il menu di avvio hold-Shift non esiste con l'immagine del sistema operativo Raspbian Jessie, quindi dovrai farlo modificando /boot/cmdline.txt
da un altro computer se non stai utilizzando l'immagine NOOBS.
Non sono riuscito a trovare un modo per forzare l'avvio di pi nel runlevel 1, quindi ho acceso un disco live fedora che avevo in giro e ho usato il terminale per rimuovere lo script in questione dalla directory /etc/init.d
Se si desidera accedere e modificare i file di partizione Linux della scheda SD da Windows, è possibile farlo con una di queste utilità .
Avvia nel runlevel 1
$ sudo init 1
Dopo l'avvio nel runlevel 1
$ passwd
NOTA: per eseguire il livello di esecuzione 1, modificare il file /etc/inittab
da id:2:initdefault:
qualcosa di simile come:id:1:initdefault: