Come connettersi e usare ssh senza uno schermo usando BUILDROOT


12

Voglio costruire un sistema minimo per raspberry pi (B +) per migliorare le prestazioni del mio algoritmo di rilevamento del volto ... Ho trovato BuildRoot: per la configurazione ho scoperto che non è necessario eseguire la configurazione da solo e invece ho usato il fornito uno :

make raspberrypi_defconfig
make

Ora non ho un cavo HDMI per collegare il pi ... quando lo si collega al mio laptop il led rosso è acceso e il led verde inizia a lampeggiare: ciò significa che il pi sta leggendo correttamente la scheda SD È la prima volta che sto usando buildroot e non so come abilitare ssh per il pi o come visualizzare l'indirizzo pi. Nota che questo non è un duplicato di Preparare per ssh senza una schermata perché nella soluzione fornita

Per abilitare ssh all'avvio, eseguire il backup boot.rc sulla partizione di avvio sull'immagine SD e sostituirlo con boot_enable_ssh.rc

Beh, non ho un file chiamato boot.rc

Sono in grado di accedere alla scheda SD usando Ubuntu 14.04, eseguendo ls dalla cartella di avvio mostra questo:

bootcode.bin  cmdline.txt  config.txt  fixup.dat  start.elf  zImage

ho anche provato ad usare un ip statico aggiungendo 10.42.0.5 a cmdline.txt ma dopo non posso collegarmi al pi con questo indirizzo. Quindi ho due problemi:

  1. Come connettersi all'indirizzo pi quando si utilizza buildroot: collegamento alla soluzione
  2. Come impostare e connettersi al pi usando ssh usando buildroot e senza HDMI.

A proposito sto usando un cavo Ethernet per connettermi al pi

Grazie :)

AGGIORNAMENTO : ho aggiunto il collegamento alla soluzione per il primo problema Ora l'indirizzo pi appare dopo aver scansionato la rete Ethernet:

nmap -sP 10.42.0.0/24
Nmap scan report for 10.42.0.5
Host is up (0.00076s latency).

Ora il problema che ho è come abilitare ssh per essere in grado di connettersi al pi senza HDMI (usando Buildroot)

Quando si tenta di ssh il pi (buildroot è il nome host di sistema utilizzato):

ssh buildroot@10.42.0.5
ssh: connect to host 10.42.0.5 port 22: Connection refused

Lo penso perché ssh non è abilitato !!!


AFAIK è abilitato SSH per impostazione predefinita ... A proposito, stai usando la porta Ethernet o un adattatore WiFi USB?
wb9688,

cosa significa AFAIK? No, sto usando un cavo Ethernet
The Beast,

A s F ar A s I K ora ...! Sul PC con Ubuntu provare sudo nmap -sP 192.168.0.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'potrebbe essere necessario modificare l'indirizzo di rete specificato da 192.168.x.0/24dove X è compreso tra 0-255 incluso, che ti coprirebbe per l'intervallo di indirizzi privato di Classe C riservato alle LAN. Questo filtra i risultati per l'indirizzo MAC univoco che l'interfaccia Ethernet sul Pi avrà ...
SlySven

1
@SlySven ho usato invece sudo nmap -sP 10.42.0/24dammi 1 host è attivo (è il mio laptop) ma nessun altro dispositivo rilevato !!! Nota: il mio indirizzo Ethernet è 10.42.0.1 e il comando sudo nmap -sP 10.42.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'fornisce un output vuoto
The Beast

1
@ wb9688 si l'ho usato durante l'installazione di raspbian e mi sono connesso facilmente ssh@10.42.0.5dopo aver scelto quell'ip statico
The Beast

Risposte:


3

Se tutto ciò che hai fatto è stato make raspberrypi_defconfig && make, hai ancora molto lavoro da fare per ottenere un utile sistema in esecuzione.

La configurazione predefinita di BuildRoot prevede la disattivazione di tutto tranne BusyBox. Il server SSH non risponde perché non hai detto a BuildRoot di volerlo compilare!

Inizia eseguendo make menuconfignella directory BuildRoot. OpenSH può essere abilitato accedendo a Pacchetti di destinazione, Applicazioni di rete, OpenSH.

Probabilmente sarà molto difficile farlo funzionare senza un monitor sul Pi. Non è necessario utilizzarlo nella versione finale, una volta che ssh funziona, ma sarà davvero difficile diagnosticare i problemi di avvio senza un monitor. Comprati un cavo HDMI o un convertitore HDMI -> DVI e usa la console locale.


1
Per il debug, consiglierei anche di ottenere un cavo UART da USB a TTL. Funziona solo sull'immagine buildroot 2016.05 rpi2. Dovrebbe essere sufficiente per la configurazione di OP x11vnc.
Ciro Santilli 2 病毒 审查 六四 事件 法轮功

3

Prefazione: sto usando buildroot-2017.02.3 per un Raspberry PI 2 e ho abilitato openssh da make menuconfig. Senza ulteriori modifiche, il login ssh non funziona, perché il default generato /etc/ssh/sshd_confignon consente il login root.

Opzione A: aggiungere un utente

Puoi aggiungere utenti tramite buildroot. Le seguenti voci del manuale potrebbero essere d'aiuto:

In sostanza, si crea un file di testo che definisce l'utente in una sintassi speciale in questo modo:

foo -1 foo -1 =bar /home/foo /bin/sh - no_comment

e buildroot raccontare in make menuconfig> System Configuration> user tablesdove trovare il file tabella utente. Il contenuto di esempio sopra creerebbe un utente aggiuntivo foocon password bar(il login è attivato). Questo utente può accedere subito tramite ssh, poiché non è root.

Opzione B: autorizza accesso root

Quando si utilizza una scheda SD per il sistema (ad esempio su un lampone), è possibile semplicemente montare la scheda sul PC, modificare /media/<pathToYourSD>/etc/ssh/sshd_config(sudo richiesto) e individuare la linea

#PermitRootLogin prohibit-password

e passare a

PermitRootLogin yes

Ciò consente a root di accedere tramite ssh. Nota che ho impostato una password per root. Non sono sicuro che funzioni senza password. Se non sei in grado di montare la tua scheda SD, dovresti scrivere degli script post build che apportano la stessa modifica descritta, ma sull'host build (prima che il rootfs sia compresso).


1

Nessun router + cavo Ethernet normale + RPI 2 + Buildroot 2016.05 + host Ubuntu 16.04

Ha funzionato dopo aver diviso questo problema in due parti:

  1. far funzionare Ethernet SSH con Raspbian e una connessione diretta via cavo (che ha già un demone sshd correttamente configurato in esecuzione) /raspberrypi//a/54394/33424

  2. scopri come eseguire una corretta configurazione sshd su QEMU + buildroot: /programming//a/39301480/895245

    Sulla scheda reale, non hai una finestra QEMU da modificare /etc/ssh/sshd_configovviamente, quindi dovrai:

    • modificarlo sull'host prima di eseguire il flash (o BR2_ROOTFS_OVERLAYmontare output/images/sdcard.imgcon /ubuntu//a/496576/52975 o giocare con output/target)
    • connettersi tramite seriale UART. Prima o poi, vorrai farlo funzionare, poiché è il modo migliore per eseguire il debug della distro buildroot sulla scheda.

.configè semplicemente raspberrypi2_defconfig+ opensshabilitato con make menuconfig.

Quindi solo:

ssh "root@$(cat /var/lib/misc/dnsmasq.leases | cut -d ' ' -f 3)"

TTL sull'immagine utilizzato solo per l'alimentazione.


0

So che questo è piuttosto vecchio ma ho avuto esattamente lo stesso problema. Ho dovuto modificare il file di configurazione sshd in /etc/ssh. Ho modificato quel file montando la scheda SD su un altro sistema. Dovrai consentire a root di accedere usando ssh (qualcosa come PermitRootLogin yes ).



-1

Ecco come ho fatto una configurazione pi senza testa:

  1. scaricato etcher e l'ultimo software raspbian da raspberrypi.org

  2. Ho usato etcher per masterizzare il file sulla mia scheda SD

  3. etcher espelle automaticamente la scheda SD, inserendola nuovamente nel computer

  4. creato un file con niente in esso, chiamato ssh (assicurarsi che nessuna estensione sia abilitata quando salvata)

  5. l'ho inserito nel mio Raspberry Pi, ho collegato Ethernet da RPi al router e ho inserito il micro usb nel RPi.

  6. Infornò l'RPi, aspettò 1-2 minuti.

  7. è andato alla mia pagina del router (digita il tuo router ip, dovrebbe essere sul router stesso

  8. Ho cercato i dispositivi collegati, ho trovato il mio indirizzo IP raspberry pi.

  9. annotare l'indirizzo IP e il terminale aperto

  10. nel terminale scrivi: ssh pi @ YOURRPIiphere!

  11. sostituire YOURRPIiphere con l'indirizzo IP rpis

  12. premere invio e digitare la password predefinita, raspberry

  13. per configurare l'RPi sudo raspi-config, modificare le impostazioni, riavviare!

Spero che questo aiuto!


1
OP sta usando Buildroot, non prefabbricato Raspbian
Jeremiah Rose
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.