Installation von Raspbian von NOOBS ohne Anzeige

88

Ich versuche, Raspbian von NOOBS zu installieren, aber ich habe keinen anderen Bildschirm / keine andere Tastatur als meinen Laptop-Bildschirm / meine Laptop-Tastatur. Ich finde genügend Informationen zur Verwendung eines Laptop-Bildschirms / einer Laptop-Tastatur für einen Pi, aber dann muss bereits ein Betriebssystem installiert sein. Ich habe jedoch kein Betriebssystem installiert, da meine SD-Karte NOOBS enthält und ich Raspbian mit NOOBS installieren möchte.

Wie kann ich das nur mit meinem Laptop-Bildschirm und meiner Tastatur machen? Ich verwende Windows 7 auf meinem Laptop.

ProgramFOX
quelle
13
Warum die Mühe. Wenn Sie keinen Bildschirm oder keine Tastatur haben, was planen Sie mit NOOBS zu tun? Laden Sie einfach Raspbian herunter und installieren Sie es auf der SD-Karte. NOOBS ist nur Platzverschwendung.
Milliways

Antworten:

117

Dies funktioniert nicht mehr, da sshnicht aktiviert ist.

Die Installation und Konfiguration für den Headless-Betrieb mit SSH ist nur über den Bildschirm und die Tastatur des Laptops (vor und nach der Installation) mit NOOBS möglich (sie nennen es "Silent Install"). Es ist kein separater Bildschirm oder eine separate Tastatur / Maus erforderlich . Es erfordert jedoch einen SD-Kartenleser am Laptop (eingebautes oder externes USB).

Das einzige, was auf der Raspberry Pi-Seite benötigt wird, ist eine Ethernet- Verbindung (zu SSH von einem Host-System). Alternativ können mit spezieller Hardware (USB-zu-Seriell-Adapter) einige GPIO- Pins am Raspberry Pi verwendet werden. [3]

Dazu können Sie einige Ordner löschen, zwei Dateien auf der SD-Karte bearbeiten und einige symbolische Links /etc/init.deinfügen (erstellen Sie zuerst eine Sicherungskopie des SD-Karteninhalts, wenn Sie nur die SD-Karte mit NOOBS haben). Das Sicherheitsbewusste möchte möglicherweise das Standardkennwort vor der Installation ändern.

Voraussetzungen:

  • Ein Host-Computer, auf dem ein SSH-Client ausgeführt und das Dateisystem auf der SD-Karte des Raspberry Pi ( ext4 ) gelesen / geschrieben werden kann . Das Betriebssystem kann Windows, Mac oder Linux sein. Dies kann ein Computer sein, auf dem normalerweise Windows ausgeführt wird, der jedoch über ein DVD-Laufwerk verfügt, sodass Ubuntu im Testmodus mit einer Live-CD gestartet werden kann .

  • Eine Ethernet-Verbindung zum Raspberry Pi, auf die der Host-Computer über TCP / IP zugreifen kann (der Host-Computer kann selbst Ethernet oder eine drahtlose Verbindung verwenden).

  • Ein Texteditor auf dem Hostsystem, der Unix -Zeilenendezeichen korrekt verarbeiten kann . Zum Beispiel UltraEdit unter Windows, das ich zum Testen verwendet habe. Notepad ++ und Vim unter Windows sollten ebenfalls in Ordnung sein.

  • Ein SD-Kartenleser (um während des Vorgangs wichtige Änderungen an der SD-Karte vorzunehmen, sowohl vor der Installation als auch nach der Installation).

Wie man

Vorinstallieren

Um beispielsweise Raspbian (die empfohlene Option) automatisch zu installieren, wenn der Raspberry Pi mit eingelegter SD-Karte mit Strom versorgt wird, gehen Sie offline wie folgt vor (auf dem Hostsystem, Windows, Mac oder Linux):

  1. Laden Sie NOOBS herunter und bereiten Sie es vor ( NOOBS 1.3.10 , veröffentlicht am 09.09.2014, ist ein Download von 704 MB) auf eine ausreichend große SD-Karte mit 4 GB oder mehr.

    Dies kann die Verwendung von SDFormatter mit der Option "FORMAT SIZE ADJUSTMENT" beinhalten, die auf "ON" gesetzt ist, um die gesamte SD-Karte als eine große FAT32-formatierte Partition zu formatieren. Einzelheiten finden Sie auf der verlinkten Seite.

  2. Im osOrdner auf der SD - Karte mit NOOBS, löschen Sie alle Ordner außer Raspbian(Ordner Arch, RaspBMC, Pidora, OpenELEC, RISC_OS, und data_partitionfür NOOBS 1.3.7. Und nur Data_Partitionfür NOOBS 1.3.10).

  3. Bearbeiten Sie die Datei \os\Raspbian\flavours.json, sodass sie nur die gewünschte Version von Raspbian, "Raspbian", enthält (nicht "Raspbian - Boot to Scratch").

    Vor:

       {
         "flavours": [
           {
             "name": "Raspbian - Boot to Scratch",
             "description": "A version of Raspbian that boots straight into Scratch"
           },
           {
             "name": "Raspbian",
             "description": "A Debian wheezy port, optimised for the Raspberry Pi"
           }
         ]
       }
    

    Nach:

       {
         "flavours": [
           {
             "name": "Raspbian",
             "description": "A Debian wheezy port, optimised for the Raspberry Pi"
           }
         ]
       }
    

    Löschen Sie die zusätzlichen Dateien, die Ihr Texteditor möglicherweise erstellt (z. B. eine .bak-Datei).

  4. Bearbeiten Sie die Datei recovery.cmdline(im SD- rootKartenordner), um sie silentinstallan die Argumentliste anzuhängen .

    Vorher (kann je nach NOOBS-Version abweichen):

     runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline
    

    Nachher (kann je nach NOOBS-Version abweichen):

     runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline silentinstall
    

    Löschen Sie die zusätzlichen Dateien, die Ihr Texteditor möglicherweise erstellt (z. B. eine .bak-Datei).

  5. Optional:

    Um die Option zum Anschließen eines Fernsehgeräts an den Videoausgang offen zu halten, fügen Sie display=3Folgendes hinzu (3 für PAL, 4 für NTSC):

     runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline silentinstall display=3
    
  6. Optional: Ändern Sie den Standardbenutzernamen und das Standardkennwort, indem Sie Folgendes bearbeiten \os\Raspbian\os.json:

    Vor:

       {
         "name": "Raspbian",
         "url": "http://www.raspbian.org/",
         "version": "wheezy",
         "release_date": "2014-01-07",
         "kernel": "3.10",
         "description": "A community-created port of Debian wheezy, optimised for the Raspberry Pi",
         "username": "pi",
         "password": "raspberry"
       }
    

    Nach:

       {
         "name": "Raspbian",
         "url": "http://www.raspbian.org/",
         "version": "wheezy",
         "release_date": "2014-01-07",
         "kernel": "3.10",
         "description": "A community-created port of Debian wheezy, optimised for the Raspberry Pi",
         "username": "pi",
         "password": "DerSkalMangeFlereJobsTilI2014tOverHeleVerden11111111111111111111df11111111111111111111"
       }
    

    Löschen Sie die zusätzlichen Dateien, die Ihr Texteditor möglicherweise erstellt (z. B. eine .bak-Datei).

  7. Legen Sie die SD-Karte in den Raspberry Pi ein, verbinden Sie sie mit einem Ethernet-Kabel, damit das Host-System mit dem SSH-Client sie sehen kann und DHCP für den Raspberry Pi verfügbar ist (zum Beispiel haben die meisten NAT- Router einen DHCP-Server aufgebaut im). Trennen Sie das System möglicherweise vom Internet, bis das Kennwort geändert wurde.

  8. Schalten Sie den Raspberry Pi ein, um die Installation zu starten. Und warte! Dies kann eine Weile dauern, etwa eine halbe Stunde oder länger. Um sicher zu sein, lassen Sie es ein paar Stunden in Ruhe. Bei Verwendung von NOOBS 1.3.10 wurde eine Installationszeit von 19 Minuten und 20 Sekunden gemessen (vom Einschalten bis zum ersten erfolgreichen Ping). Die Stromaufnahme betrug 400 - 480 mA und fiel nach dem ersten erfolgreichen Ping auf 370 mA.

Nach der Installation

  1. Finde irgendwie die IP-Adresse des Raspberry Pi (von DHCP zugewiesen). Erraten Sie beispielsweise aus dem IP-Adressbereich, den ein DHCP-Server in einem NAT-Router verwendet, und senden Sie einen Ping-Befehl an diese Adressen. .

    Wireshark kann auch für diesen Zweck verwendet werden, insbesondere wenn es sich in einer Umgebung mit vielen Geräten befindet. Dies ist viel einfacher, wenn die MAC-Adresse des Raspberry Pi bekannt ist. Sie können sie vorübergehend in Schritt 4 erhalten.

    Dieser Schritt ist nicht erforderlich, wenn in Schritt 4 unten eine feste IP-Adresse festgelegt wurde.

  2. Pingen Sie vom Host aus, um zu testen, ob eine Verbindung besteht.

  3. SSH ist für Raspbian in NOOBS Version 1.3.7 nicht standardmäßig aktiviert - trotz der Behauptung einiger Seiten. (Es kann für Arch Linux unterschiedlich sein.) Aber es ist für Raspbian in NOOBS Version 1.3.10, und dieser Schritt nicht mehr erforderlich sein (jedoch getätigte Raspberry Pi mit einer SD - Karte geliefert werden kann , mit einer älteren Version von NOOBS, und es kann sich lohnen, den 700-MB-Download zu speichern).

    Der einfachste Weg, es zu aktivieren, ist in Olis Antwort auf Prepare for ssh ohne Bildschirm (auf dieser Site) beschrieben und besteht darin, die symbolischen Links in /etc/init.d(in root) zu ändern .

    Zum Beispiel reicht es aus, von der Ubuntu 13.04 LiveCD mit einem USB-Kartenleser auf dem Host-System zu booten und diese Befehle im Terminal auszugeben :

     sudo su
     cd /media/ubuntu/root
     for i in 2 3 4 5; do sudo ln -s /etc/init.d/ssh etc/rc$i.d/S02ssh; done
    
  4. Optional: Legen Sie eine feste IP-Adresse fest, wenn dies einfacher ist und die Art des Netzwerks dies zulässt. In einem Heimnetzwerk kann dies durch Zuweisen einer IP-Adresse außerhalb des IP-Adressbereichs geschehen, der vom DHCP-Server eines NAT-Routers verwendet wird, z. B. 192.168.0.93.

    In der Datei cmdline.txt(im Ordner bootaußerhalb des Stammverzeichnisses der SD-Karte) fügen Sie am Ende der langen Zeile Folgendes hinzu:

    ip=192.168.0.93
    

    Das Endergebnis könnte ungefähr so ​​aussehen:

    dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait ip=192.168.0.93
    

    Wie bei Schritt 3 wäre die zu bearbeitende Datei /media/ubuntu/root/boot/cmdline.txt.

    Hinweis: Ohne zusätzliche Parameter nach der IP-Adresse besteht keine Verbindung zum Internet und daher schlägt Schritt 11 fehl.

  5. Wenn die LiveCD-Methode für Schritt 3 und 4 verwendet wurde: Beenden Sie Ubuntu (um die Änderungen zu speichern und die SD-Karte zu entfernen).

  6. Starten Sie den Raspberry Pi mit eingelegter SD-Karte.

  7. Stellen Sie eine SSH-Verbindung zum Raspberry Pi her, indem Sie die in Schritt 1 oder Schritt 4 festgelegte IP-Adresse verwenden (z. B. PuTTY unter Windows), und melden Sie sich an:

    login as: pi
    [email protected]'s password: raspberry    (or the password that was set in os.json, see 6 in *Pre-install*.)
    
  8. Ändern Sie ein neues Passwort:

        su pi
        passwd
    
  9. Optional: Nehmen Sie eine weitere Konfiguration des Raspberry Pi vor

        sudo raspi-config
    
  10. Optional: Aktivieren Sie die TV-Ausgabe

    • Geöffnet config.txtin vi :

        sudo vi /boot/config.txt
      
    • Kommentieren Sie diese Zeile aus (NOOBS hat möglicherweise eine zusätzliche Zeile mit dieser aktivierten Option eingefügt), sodass sie lautet ( # am Zeilenanfang einfügen ):

        #hdmi_force_hotplug=1
      
    • Kommentieren Sie diese Zeile aus ( 2gilt für PAL; verwenden Sie sie 0für NTSC), damit sie lautet (entfernen Sie das #am Zeilenanfang):

        sdtv_mode=2
      
    • :wq

    • Starten Sie neu, um den Effekt zu sehen:

        sudo shutdown -r now
      
  11. Sogar Raspbian, das mit NOOBS 1.3.10 ausgeliefert wurde, weist die sehr schwerwiegende Shellshock- Sicherheitslücke in Bash auf , und Sie möchten nicht, dass der Raspberry Pi ungepatcht bleibt.

    Um zu testen, ob der Raspberry Pi für Shellshock anfällig ist, führen Sie folgende Schritte aus:

    env x='() { :;}; echo "WARNING: SHELLSHOCK DETECTED"' bash --norc -c ':' 2>/dev/null;
    

    Gehen Sie wie folgt vor, um die Repositorys zu aktualisieren und Bash zu aktualisieren:

    sudo su
    apt-get update && apt-get install --only-upgrade bash
    

Beim Testen habe ich Folgendes verwendet:

  1. NOOBS 1.3.7 und NOOBS 1.3.10.

  2. UltraEdit unter Windows verarbeitet problemlos Textdateien mit Unix-Zeilenenden.

  3. Windows XP 64-Bit (ja, ich weiß)


Quellen:

  1. NOOBS bei GitHub , Unterabschnitt So installieren Sie ein Betriebssystem automatisch

  2. Raspberry Pi headless unter Debian Linux ausführen (dies setzt jedoch voraus, dass SSH standardmäßig aktiviert ist, was bei Version 1.3.7 von NOOBS nicht der Fall ist).

  3. Neue Out-of-Box-Software (NOOBS) für die kopflose Installation auf einem Raspberry Pi . YouTube-Video. Zum Anschließen an die TX / RX-Pins des GPIO wird spezielle Hardware (USB-Kabel mit integriertem USB-Seriell-Wandler) verwendet. Eigentlich ist es so, als würde man ein altmodisches Dump-Terminal an den Raspberry Pi anschließen.

  4. Raspberry Pi Remote-Verbindungen - ohne Netzwerk! . Beschreibt, wie Sie einen Computer mit einem normalen Ethernet-Kabel direkt an den Raspberry anschließen (eine spezielle Frequenzweiche ist nicht erforderlich) und wie Sie eine statische IP-Adresse für den Raspberry Pi festlegen (in diesem Beispiel wird jedoch eine Verbindung außerhalb des aktuellen Subnetzes und damit ausgeschlossen) Verbindung zum Internet).

  5. Mounten des Root-Dateisystems über NFS (nfsroot) in der Nähe von "Dieser Parameter teilt dem Kernel mit". Formale Dokumentation zum Festlegen einer statischen IP-Adresse wie in Quelle 4 und 8, andere Parameter, die eine Verbindung zum Internet ermöglichen sollen, aber es ist nicht klar, was genau diese Parameter sein sollen ...

  6. Einrichten von Ethernet in der Nähe von "Methode 1: Bearbeiten von /boot/cmdline.txt". Beispiel für die weiter fortgeschrittenen Verwendungen von "ip =", aus denen möglicherweise abgeleitet werden kann, wie diese so eingerichtet werden, dass eine Verbindung zum Internet möglich ist.

Peter Mortensen
quelle
2
Ja, tolle Antwort! Auf jeden Fall das Kopfgeld wert! Einige interessante Dinge hier :)
Piotr Kula
Hinweis: Bei Verwendung der statischen IP-Adressmethode besteht keine Verbindung zum Internet, da die Gateway-Adresse usw. nicht eingerichtet ist. Daher funktioniert der Shellshock-Patch nicht. Es kann jedoch verwendet werden, um den Vorgang zu starten, indem die MAC-Adresse gefunden wird, während die Verbindung mit der statischen IP-Adressmethode hergestellt wurde. Geben Sie "ifconfig" ein und notieren Sie die MAC-Adresse (Feld "HWaddr" in der Zeile mit "eth0"). Die MAC-Adresse kann mit einem DHCP-Server verwendet werden, um immer dieselbe IP-Adresse zu verwenden (reservieren Sie eine bestimmte IP-Adresse für eine bestimmte MAC-Adresse), um effektiv eine statische IP-Adresse zu erhalten.
Peter Mortensen
(Zum Bearbeiten: in der Nähe von "kann durch vorübergehende Verwendung von Schritt 4 unten erhalten werden.")
Peter Mortensen
1
@PeterMortensen Das habe ich inzwischen herausgefunden. Vielen Dank für die Bestätigung. Beachten Sie, dass die Partition hexadezimal sein muss C(FAT32 LBA), sonst bootet der Raspberry Pi nicht.
FUZxxl
1
Erstaunliche Antwort! Bitte werfen Sie einen Blick auf diese Frage: raspberrypi.stackexchange.com/questions/61351/… es hängt irgendwie mit diesem Thema zusammen. Ich benötige Hilfe, um sicherzustellen, dass die Netzwerkspiegel während der Installation deaktiviert sind. Danke.
Drew
9

Die kurze Antwort lautet: Stellen Sie sicher, dass Sie die Offline-Installationsversion von NOOBS herunterladen, die Datei bearbeiten recovery.cmdlineund silentinstallam Ende der ersten Zeile hinzufügen .

Dadurch wird raspbian automatisch installiert und der Desktop nach Abschluss neu gestartet.

Mike Redrobe
quelle
2
Wenn Sie feststellen, dass recovery.cmdline am Ende eine leere Zeile hat, löschen Sie die Zeile, sonst funktioniert silentinstall nicht!
Mike Redrobe
8

Für ein Headless-Setup kann SSH aktiviert werden, indem eine Datei sshohne Erweiterung auf der Startpartition der SD-Karte abgelegt wird.

Wenn der Pi bootet, sucht er nach der sshDatei. Wenn es gefunden wird, ist SSH aktiviert und die Datei wird gelöscht. Der Inhalt der Datei spielt keine Rolle: Sie kann Text oder gar nichts enthalten.

Philip Mudenyo
quelle
Ist die Datei wirklich gelöscht? In diesem Fall wäre die Datei bei einem nachfolgenden Neustart nicht mehr vorhanden, und SSH wäre nicht aktiviert. Ist es wirklich nur ein Mechanismus zur einmaligen Verwendung und muss die sshDatei jedes Mal, wenn der Pi startet, manuell ersetzt werden? Das klingt nicht ganz richtig.
Greenonline
1
Ja, die Datei wird wirklich gelöscht. Nach dem Booten müssen Sie sich anmelden und normale Boot-Ups für ssh konfigurieren, sudo systemctl enable sshso dass sie beim nächsten Mal angezeigt werden.
Dave X
Bestätigt, dass die Datei beim Booten definitiv gelöscht wird.
Slm
5

Ich fand diese Anleitung am nützlichsten.

Ein wichtiges Update im Setup:

  • ssh ist auf den neuesten Bildern standardmäßig deaktiviert. Sie müssen eine neue Datei ssh in / boot erstellen (kann leer sein). Z.B

    touch /Volumes/boot/ssh

gameweld
quelle
2

So habe ich das gemacht:

  1. Entfernen Sie das Netzkabel vom Pi und nehmen Sie die SD-Karte heraus.

  2. Verwenden Sie einen Kartenleser (oder einen eingebauten, falls Ihr Laptop einen hat) und den SD-Adapter, um die Karte auf Ihrem Computer zu lesen.

  3. In recovery.cmdlinehinzufügen vncinstallzum Ende der Zeile. Quelle hier , Beispiel hier .

  4. Werfen Sie das Medium in Ihrem Betriebssystem sicher aus und entfernen Sie den Adapter.

  5. Legen Sie SD in Pi ein, verbinden Sie Pi mit Ethernet mit Ihrem Router, schalten Sie das Gerät ein und suchen Sie das Gerät in Ihrem Netzwerk. Wenn Sie nicht auf Ihren Router zugreifen können, um angeschlossene Geräte zu sehen, verwenden Sie ein Tool nmap, um Ihr Netzwerk zu scannen. zB nmap 192.168.1.0/24 -p 5900. Eine andere Sache, die Sie versuchen können, ist nslookup raspberrypioder ping raspberrypidie IP zu finden. Verwenden Sie vncviewer raspberrypioder vncviewer <IP>, um eine Verbindung zum Host herzustellen.

  6. Installieren Sie Raspbian über Ihre VNC-Verbindung.

  7. Nach der Installation wird das Gerät neu gestartet.

  8. Schalten Sie den Pi aus und stecken Sie die Karte wieder in Ihren Computer.

  9. Fügen Sie der Startpartition eine aufgerufene Datei hinzu ssh. Sie können dies touchunter Linux tun.

  10. SD sicher auswerfen und wieder in Pi einlegen und einschalten.

  11. Sie können jetzt SSH zum Pi ausführen.

  12. Ändern Sie das Passwort sofort mit passwd.

SilverlightFox
quelle
1

Sogar ich hatte das gleiche Problem wie Sie. Ich habe das RCA- Display für NOOBS verwendet und es war nichts auf dem Bildschirm. Die einzige Option, die ich hatte, war die Verwendung meines Laptops, aber das muss zunächst mit PuTTY eingerichtet werden , um eine Verbindung zu Raspberry Pi über SSH herzustellen.

Die schnelle Lösung für Ihr Problem lautet: Laden Sie ein separates Bild von Raspbian von der offiziellen Website herunter und hängen Sie es nach der Formatierung auf der SD-Karte ein. Sie werden das Display leicht bekommen. Sie brauchen nur einen Cinch-Monitor (vielleicht liegt ein alter Fernseher herum).

Sanyam Khurana
quelle
1
Das OP erklärte: "Ich habe keinen anderen Bildschirm / Tastatur zur Verfügung als meinen Laptop-Bildschirm / Tastatur."
Peter Mortensen
Was ist die Standardeinstellung für RCA in Raspbian, PAL oder NTSC?
Peter Mortensen
1

Ich habe das detaillierte Setup eines Raspberry Pi ohne Bildschirm, Maus und Tastatur unter Wie starte ich Raspberry Pi ohne Bildschirm? .

Kush Rami
quelle
5
Willkommen bei Raspberry Pi! Während dies theoretisch die Frage beantworten mag, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
Steve Robillard