Ich habe also einen Fehler in einem Skript in meinem Verzeichnis init.d und unter dem Strich ... Ich kann den Pi nicht vollständig booten.
Wie kann ich in Runlevel 1 (Einzelbenutzermodus) booten, um den Fehler zu beheben?
Ich habe also einen Fehler in einem Skript in meinem Verzeichnis init.d und unter dem Strich ... Ich kann den Pi nicht vollständig booten.
Wie kann ich in Runlevel 1 (Einzelbenutzermodus) booten, um den Fehler zu beheben?
Antworten:
Das ist nicht gerade eine Möglichkeit, Runlevel 1 aufzurufen, aber es gibt eine Boot-Option im abgesicherten Modus in der Himbeer-Pi-Firmware. Um es zu aktivieren, müssen Sie beim Booten einen Jumper zwischen Pin 5 und 6 am P1 (GPIO) -Header einfügen.
Wenn Sie dies tun, ignoriert der Bootloader die config.txt
Datei (mit Ausnahme der avoid_safe_mode
Option, mit der diese Funktion deaktiviert werden kann) und versucht kernel_emergency.img
stattdessen zu booten (falls verfügbar) kernel.img
.
Standardmäßig kernel_emergency.img
ist ein spezieller Notfall integriert initramfs
, der auf diesem Busybox-basierten Betriebssystem gestartet wird, damit Sie die Probleme in Ihrem Betriebssystem manuell beheben können (oder die Kernel-Startparameter ändern, um Runlevel 1 beim nächsten Start auszuführen). Denken Sie daran, laufen , sync
bevor herunterzufahren , da reboot
oder shutdown
Befehle möglicherweise nicht.
am Ende der Zeile hinzufügen
init=/bin/sh
Klicken Sie auf OK und dann auf Esc, um zu starten. Sie werden über eine Befehlszeile gestartet
# /etc/init.d/mountall.sh
(das wird etwas tun)
# mount -n -o remount,rw /
(Dies wird erneut bereitgestellt, damit Sie Änderungen vornehmen können.)
Jetzt sollten Sie in der Lage sein, die Konfiguration init.d zu bearbeiten.
Einige der anderen Antworten hier sind jetzt falsch:
Der PIN - Methode Jumper GPIO wurde entfernt von den vorgelagerten OS, so dass es funktioniert jetzt nur , wenn Sie ein NOOBS Bild verwenden
Raspbian Jessies Wechsel zu systemd bricht den init=/bin/sh
Hack. Wenn Sie dies tun, beschwert es sich,can't access tty: job control turned off
Glücklicherweise gibt es eine funktionierende Lösung, die einen echten Einzelbenutzerzugriff ermöglicht: Fügen Sie direkt nach dem Parameter ein Leerzeichen und ein 1
am Ende von hinzu .cmdline.txt
rootwait
Das Hold-Shift-Startmenü ist mit dem Standard-Raspbian-Jessie-OS-Image nicht vorhanden. Sie müssen dies also tun, indem /boot/cmdline.txt
Sie es von einem anderen Computer aus bearbeiten, wenn Sie das NOOBS-Image nicht verwenden.
Ich konnte keine Möglichkeit finden, den Pi zum Booten in Runlevel 1 zu zwingen, also habe ich eine Fedora-Live-Festplatte gestartet, die ich herumgelegt hatte, und das Terminal verwendet, um das betreffende Skript aus dem Verzeichnis /etc/init.d zu entfernen
Wenn Sie von Windows aus auf Linux-Partitionsdateien für SD-Karten zugreifen und diese ändern möchten, können Sie dies mit einem dieser Dienstprogramme tun .
Booten Sie Runlevel 1
$ sudo init 1
Nach dem Booten in Runlevel 1
$ passwd
HINWEIS: 1 bis Runlevel, die Datei ändert /etc/inittab
von id:2:initdefault:
einer ähnlich etwas wie:id:1:initdefault: