Chcę zbudować minimalny system dla Raspberry pi (B +), aby poprawić wydajność mojego algorytmu wykrywania twarzy ... Znalazłem BuildRoot
: dla konfiguracji stwierdziłem, że konfiguracja nie jest konieczna sama, a zamiast tego użyłem dostarczonego jeden:
make raspberrypi_defconfig
make
Teraz nie mam kabla HDMI do podłączenia pi ... podczas podłączania go do laptopa czerwona dioda świeci, a zielona dioda zaczyna migać: oznacza to, że pi prawidłowo odczytuje kartę SD To pierwszy raz Używam buildroot i nie wiem, jak włączyć ssh dla pi ani jak wyświetlić adres pi. Zauważ, że nie jest to kopia Przygotuj się na ssh bez ekranu, ponieważ w dostarczonym przez nich rozwiązaniu
Aby włączyć ssh podczas uruchamiania, wykonaj kopię zapasową boot.rc na partycji rozruchowej obrazu SD i zamień ją na boot_enable_ssh.rc
Nie mam pliku o nazwie boot.rc
Jestem w stanie uzyskać dostęp do karty SD za pomocą Ubuntu 14.04, uruchamiając ls z folderu rozruchowego pokaż to:
bootcode.bin cmdline.txt config.txt fixup.dat start.elf zImage
Próbowałem również użyć statycznego adresu IP, dodając 10.42.0.5 do cmdline.txt, ale potem nie mogę połączyć się z pi za pomocą tego adresu. Mam więc dwa problemy:
- Jak połączyć się z adresem pi podczas korzystania z buildroot: Link to Solution
- Jak skonfigurować i podłączyć do pi za pomocą ssh przy użyciu buildroot i bez HDMI.
Przy okazji używam kabla Ethernet do połączenia z pi
Dzięki :)
AKTUALIZACJA : dodałem link do rozwiązania pierwszego problemu. Teraz adres pi pojawia się po przeskanowaniu sieci Ethernet:
nmap -sP 10.42.0.0/24
Nmap scan report for 10.42.0.5
Host is up (0.00076s latency).
Teraz mam problem, jak włączyć ssh, aby móc połączyć się z pi bez HDMI (przy użyciu Buildroot)
Podczas próby ssh pi pi (buildroot to używana nazwa hosta systemu):
ssh [email protected]
ssh: connect to host 10.42.0.5 port 22: Connection refused
Myślę, że ponieważ ssh nie jest włączony !!!
sudo nmap -sP 192.168.0.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
zmodyfikować adres sieciowy podany192.168.x.0/24
gdzie X znajduje się między 0-255 włącznie, co obejmowałoby prywatny zakres adresów klasy C zarezerwowany dla sieci LAN. Filtruje to wyniki dla unikalnego adresu MAC, który będzie miał interfejs Ethernet na Pi ...sudo nmap -sP 10.42.0/24
daj mi 1 host jest włączony (to mój laptop), ale nie wykryto innych urządzeń !!! Uwaga: mój adres ethernetowy to 10.42.0.1, a poleceniesudo nmap -sP 10.42.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
daje pusty wynik[email protected]
po wybraniu tego statycznego adresu IPOdpowiedzi:
Jeśli wszystko, co zrobiłeś
make raspberrypi_defconfig && make
, to nadal masz dużo pracy, aby uzyskać przydatny system operacyjny.Domyślna konfiguracja BuildRoot służy do wyłączania wszystkiego oprócz BusyBox. Serwer ssh nie odpowiada, ponieważ nie powiedziałeś BuildRoot, że chcesz go skompilować!
Zacznij od uruchomienia
make menuconfig
w katalogu BuildRoot. Openssh można włączyć, przechodząc do pakietów docelowych, aplikacji sieciowych, openssh.Prawdopodobnie będzie to bardzo trudne do uruchomienia bez monitora na Pi. Nie musisz używać go w ostatecznej wersji, gdy zaczniesz działać ssh, ale naprawdę trudno będzie zdiagnozować problemy z uruchomieniem bez monitora. Kup sobie kabel HDMI lub konwerter HDMI -> DVI i skorzystaj z lokalnej konsoli.
źródło
x11vnc
.Przedmowa: Używam buildroot-2017.02.3 dla Raspberry PI 2 i włączonego openssh z
make menuconfig
. Bez dalszych zmian logowanie ssh nie działa, ponieważ wygenerowane ustawienie domyślne/etc/ssh/sshd_config
nie zezwala na logowanie roota.Opcja A: Dodaj użytkownika
Możesz dodawać użytkowników poprzez buildroot. Pomocne mogą być następujące wpisy ręczne:
Zasadniczo tworzysz plik tekstowy, który definiuje użytkownika w specjalnej składni, takiej jak:
foo -1 foo -1 =bar /home/foo /bin/sh - no_comment
i powiedzieć buildroot w
make menuconfig
>System Configuration
>user tables
gdzie znaleźć plik tabeli użytkownika. Powyższa przykładowa treść utworzyłaby dodatkowego użytkownikafoo
z hasłembar
(logowanie jest aktywowane). Ten użytkownik może od razu zalogować się przez ssh, ponieważ nie jest rootem.Opcja B: Zezwalaj na logowanie root
Kiedy używasz karty SD w systemie (np. Na malinie), możesz po prostu zamontować kartę na komputerze, edytować
/media/<pathToYourSD>/etc/ssh/sshd_config
(wymagane sudo) i zlokalizować linię#PermitRootLogin prohibit-password
i zmień na
PermitRootLogin yes
Pozwala to rootowi zalogować się przez ssh. Pamiętaj, że ustawiłem hasło dla roota. Nie jestem pewien, czy to działa bez hasła. Jeśli nie możesz zamontować karty SD, musisz napisać skrypty po kompilacji, które wykonują tę samą modyfikację, jak opisano, ale na hoście kompilacji (przed spakowaniem rootfów).
źródło
Brak routera + zwykły kabel Ethernet + RPI 2 + Buildroot 2016.05 + host Ubuntu 16.04
Udało mi się to po podzieleniu tego problemu na dwie części:
uzyskaj Ethernet SSH współpracujący z Raspbian i bezpośrednie połączenie kablowe (które już ma poprawnie skonfigurowanego demona sshd) /raspberrypi//a/54394/33424
dowiedz się, jak wykonać poprawną konfigurację sshd na QEMU + buildroot: /programming//a/39301480/895245
Na prawdziwej planszy
/etc/ssh/sshd_config
oczywiście nie masz okna QEMU do modyfikacji , więc musisz:BR2_ROOTFS_OVERLAY
zamontujoutput/images/sdcard.img
z /ubuntu//a/496576/52975 , albo graj zoutput/target
).config
jest po prosturaspberrypi2_defconfig
+openssh
włączone za pomocąmake menuconfig
.Więc po prostu:
TTL na obrazie służy tylko do zasilania.
źródło
Wiem, że to jest stare, ale miałem dokładnie ten sam problem. Musiałem edytować plik konfiguracyjny sshd
/etc/ssh
. Edytowałem ten plik, instalując kartę SD w innym systemie. Musisz zezwolić rootowi na zalogowanie się za pomocą ssh (coś takiego jak PermitRootLogin tak ).źródło
SSH jest domyślnie włączony - spróbuj
[email protected]
(lub[email protected]
jeśli naprawdę jesteś zdesperowany!). Zwykły teżssh 10.42.0.5
może się opłacać.Używasz haseł lub
ssh
łączysz się?źródło
Oto jak wykonałem konfigurację bezgłowego pi:
pobrałem etcher i najnowsze oprogramowanie raspbian z raspberrypi.org
Użyłem etchera do wypalenia pliku na mojej karcie SD
etcher automatycznie wysuwa kartę SD, ponownie umieszcza ją w komputerze
utworzył plik bez niczego, o nazwie ssh (upewnij się, że żadne rozszerzenie nie jest włączone po zapisaniu)
wrzuciłem go do mojego Raspberry Pi, podłączyłem ethernet z RPi do routera i podłączyłem micro USB do RPi.
Odpaliłem RPi, czekałem 1-2 minuty.
poszedł na stronę mojego routera (wpisz adres IP routera, powinien znajdować się na samym routerze
Szukałem podłączonych urządzeń, znalazłem mój adres IP Raspberry Pi.
zapisz adres IP i otwarty terminal
w terminalu napisz: ssh pi @ YOURRPIiphere!
zastąp YOURRPIiphere adresem rpis ip
naciśnij enter i wpisz domyślne hasło, malina
aby skonfigurować RPi do sudo raspi-config, edytuj ustawienia, uruchom ponownie!
Miałem nadzieję, że ta pomoc!
źródło