Ich möchte ein minimales System für Himbeer-Pi (B +) erstellen, um die Leistung meines Gesichtserkennungsalgorithmus zu verbessern ... Ich habe festgestellt BuildRoot
: Für die Konfiguration habe ich festgestellt, dass es nicht erforderlich ist, die Konfiguration selbst vorzunehmen, und stattdessen habe ich das bereitgestellte verwendet einer :
make raspberrypi_defconfig
make
Jetzt habe ich kein HDMI-Kabel zum Anschließen des Pi ... Beim Anschließen an meinen Laptop leuchtet die rote LED und die grüne LED beginnt zu blinken. Das bedeutet, dass der Pi die SD-Karte richtig liest. Es ist das erste Mal, dass ich Ich verwende Buildroot und weiß nicht, wie ich SSH für den Pi aktivieren oder wie ich die Pi-Adresse anzeigen soll. Beachten Sie, dass dies kein Duplikat von Prepare for ssh ohne Bildschirm ist, da in der von ihnen bereitgestellten Lösung
Um ssh beim Start zu aktivieren, sichern Sie boot.rc auf der Bootpartition auf dem SD-Image und ersetzen Sie es durch boot_enable_ssh.rc
Nun, ich habe keine Datei namens boot.rc
Ich kann mit Ubuntu 14.04 auf die SD-Karte zugreifen. Führen Sie ls aus dem Boot-Ordner aus. Zeigen Sie Folgendes:
bootcode.bin cmdline.txt config.txt fixup.dat start.elf zImage
Ich habe auch versucht, eine statische IP durch Hinzufügen von 10.42.0.5 zu cmdline.txt zu verwenden, aber danach kann ich mit dieser Adresse keine Verbindung zum Pi herstellen. Ich habe also zwei Probleme:
- So stellen Sie bei Verwendung von buildroot eine Verbindung zur pi-Adresse her: Link zur Lösung
- So richten Sie den pi mit ssh mit buildroot und ohne HDMI ein und stellen eine Verbindung zum pi her.
Übrigens benutze ich ein Ethernet-Kabel, um eine Verbindung zum Pi herzustellen
Vielen Dank :)
UPDATE : Ich habe den Link zur Lösung für das erste Problem hinzugefügt. Jetzt wird die Pi-Adresse nach dem Scannen des Ethernet-Netzwerks angezeigt:
nmap -sP 10.42.0.0/24
Nmap scan report for 10.42.0.5
Host is up (0.00076s latency).
Jetzt ist das Problem, das ich habe, wie ssh aktiviert werden kann , um eine Verbindung zum pi ohne HDMI herzustellen (mit Buildroot)
Beim Versuch, den pi zu ssh (buildroot ist der verwendete Systemhostname):
ssh [email protected]
ssh: connect to host 10.42.0.5 port 22: Connection refused
Ich denke es, weil ssh es nicht aktiviert ist !!!
sudo nmap -sP 192.168.0.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
Sie möglicherweise die angegebene Netzwerkadresse anpassen, indem192.168.x.0/24
X irgendwo zwischen 0 und einschließlich 255 liegt, was Sie für den privaten Adressbereich der Klasse C abdeckt, der für LANs reserviert ist. Dies filtert die Ergebnisse für die eindeutige MAC-Adresse, die die Ethernet-Schnittstelle auf dem Pi haben wird ...sudo nmap -sP 10.42.0/24
gib mir 1 Host ist aktiv (es ist mein Laptop), aber keine anderen Geräte erkannt !!! Hinweis: Meine Ethernet-Adresse ist 10.42.0.1 und der Befehlsudo nmap -sP 10.42.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
gibt eine leere Ausgabe[email protected]
nachdem Sie diese statische IP ausgewählt habenAntworten:
Wenn Sie nur getan haben
make raspberrypi_defconfig && make
, müssen Sie noch viel tun, um ein nützliches laufendes System zu erhalten.In der Standardkonfiguration von BuildRoot ist alles außer BusyBox deaktiviert. Der SSH-Server antwortet nicht, weil Sie BuildRoot nicht mitgeteilt haben, dass Sie ihn kompilieren möchten!
Beginnen Sie mit der Ausführung
make menuconfig
in Ihrem BuildRoot-Verzeichnis. Openssh kann aktiviert werden, indem Sie zu Zielpaketen, Netzwerkanwendungen und openssh navigieren.Es wird wahrscheinlich sehr schwierig sein, dies ohne einen Monitor auf dem Pi zum Laufen zu bringen. Sie müssen es in der endgültigen Version nicht mehr verwenden, sobald ssh funktioniert, aber es wird sehr schwierig sein, Startprobleme ohne Monitor zu diagnostizieren. Kaufen Sie sich ein HDMI-Kabel oder einen HDMI -> DVI-Konverter und verwenden Sie die lokale Konsole.
quelle
x11vnc
.Vorwort: Ich verwende buildroot-2017.02.3 für einen Raspberry PI 2 und aktiviere openssh von
make menuconfig
. Ohne weitere Änderungen funktioniert die SSH-Anmeldung nicht, da die generierte Standardeinstellung/etc/ssh/sshd_config
keine Root-Anmeldung zulässt.Option A: Benutzer hinzufügen
Sie können Benutzer über Buildroot hinzufügen. Die folgenden manuellen Einträge könnten helfen:
Im Wesentlichen erstellen Sie eine Textdatei, die Ihren Benutzer in einer speziellen Syntax wie folgt definiert:
foo -1 foo -1 =bar /home/foo /bin/sh - no_comment
und tell buildroot in
make menuconfig
>System Configuration
>user tables
wo Ihre Benutzertabellendatei zu finden. Der obige Beispielinhalt würde einen zusätzlichen Benutzerfoo
mit Passwort erstellenbar
(Login ist aktiviert). Dieser Benutzer kann sich sofort über ssh anmelden, da er kein Root ist.Option B: Root-Login zulassen
Wenn Sie eine SD-Karte für das System verwenden (z. B. eine Himbeere), können Sie die Karte einfach in Ihren PC einbinden, bearbeiten
/media/<pathToYourSD>/etc/ssh/sshd_config
(Sudo erforderlich) und die Leitung suchen#PermitRootLogin prohibit-password
und wechseln zu
PermitRootLogin yes
Dadurch kann sich root über ssh anmelden. Beachten Sie, dass ich ein Passwort für root festgelegt habe. Ich bin mir nicht sicher, ob dies ohne Passwort funktioniert. Wenn Sie Ihre SD-Karte nicht mounten können, müssen Sie Post-Build-Skripte schreiben, die die gleichen Änderungen wie beschrieben vornehmen, jedoch auf dem Build-Host (bevor das rootfs gepackt wird).
quelle
Kein Router + normales Ethernet-Kabel + RPI 2 + Buildroot 2016.05 + Ubuntu 16.04-Host
Nachdem ich dieses Problem in zwei Teile geteilt habe, hat es funktioniert:
Ethernet SSH funktioniert mit Raspbian und einer direkten Kabelverbindung (auf der bereits ein ordnungsgemäß eingerichteter sshd-Daemon ausgeführt wird) /raspberrypi//a/54394/33424
Erfahren Sie, wie Sie eine ordnungsgemäße sshd-Konfiguration unter QEMU + buildroot durchführen: /programming//a/39301480/895245
Auf der realen Platine müssen Sie
/etc/ssh/sshd_config
natürlich kein QEMU-Fenster ändern , daher müssen Sie entweder:BR2_ROOTFS_OVERLAY
mounten oder mit spielen )output/images/sdcard.img
output/target
.config
ist einfachraspberrypi2_defconfig
+openssh
aktiviert mitmake menuconfig
.Dann einfach:
TTL auf Bild wird nur zur Stromversorgung verwendet.
quelle
Ich weiß, dass dies ziemlich alt ist, aber ich hatte genau das gleiche Problem. Ich musste die sshd-Konfigurationsdatei in bearbeiten
/etc/ssh
. Ich habe diese Datei bearbeitet, indem ich die SD-Karte auf einem anderen System gemountet habe. Sie müssen root erlauben, sich mit ssh anzumelden (so etwas wie PermitRootLogin yes ).quelle
SSH ist standardmäßig aktiviert - versuchen Sie es
[email protected]
(oder[email protected]
wenn Sie wirklich verzweifelt sind!). Einfachssh 10.42.0.5
könnte sich auch lohnen.Verwenden Sie Passwörter oder
ssh
um eine Verbindung herzustellen?quelle
So habe ich ein kopfloses Pi-Setup gemacht:
Etcher und die neueste Raspbian-Software von raspberrypi.org heruntergeladen
Ich habe Etcher verwendet, um die Datei auf meine SD-Karte zu brennen
Etcher wirft die SD-Karte automatisch aus und legt sie wieder in Ihren Computer ein
hat eine Datei mit nichts darin erstellt, die ssh heißt (stellen Sie sicher, dass beim Speichern keine Erweiterung aktiviert ist)
steckte es in mein Himbeer-Pi, verband das Ethernet von RPi mit Router und artachierte den Micro-USB mit dem RPi.
Feuerte das RPi ab und wartete 1-2 Minuten.
ging zu meiner Router-Seite (geben Sie die IP Ihres Routers ein, sollte sich auf Ihrem Router selbst befinden
Ich habe nach angeschlossenen Geräten gesucht und meine Himbeer-Pi-IP-Adresse gefunden.
Notieren Sie sich die IP-Adresse und das geöffnete Terminal
im Terminal schreiben: ssh pi @ YOURRPIiphere!
Ersetzen Sie YOURRPIiphere durch die IP-Adresse von rpis
Drücken Sie die Eingabetaste und geben Sie das Standardkennwort Himbeere ein
Um das RPi zu konfigurieren, machen Sie sudo raspi-config, bearbeiten Sie Ihre Einstellungen, starten Sie neu!
Hoffe diese Hilfe!
quelle