BUILDROOT kullanarak ssh'ı ekran olmadan bağlama ve kullanma


12

Ben yüz algılama algoritmasının performansını artırmak için ahududu pi (B +) için minimal bir sistem kurmak istiyorum ... Buldum BuildRoot: yapılandırma için ben yapılandırmayı kendim yapmak gerekli olmadığını buldum ve bunun yerine sağlanan kullandık bir :

make raspberrypi_defconfig
make

Şimdi pi'yi bağlamak için bir HDMI Kablosum yok ... dizüstü bilgisayarıma bağlarken kırmızı led yanıyor ve yeşil led yanıp sönmeye başlıyor: bu, pi'nin SD kartı doğru okuduğu anlamına geliyor. buildroot kullanıyorum ve pi için ssh etkinleştirmek veya pi adres görüntülemek nasıl bilmiyorum. Bu, ssh için hazırladıkları çözümde ekran olmadan ssh için bir kopyası olmadığını unutmayın.

Başlangıçta ssh'yi etkinleştirmek için SD görüntüsündeki önyükleme bölümünde boot.rc dosyasını yedekleyin ve boot_enable_ssh.rc ile değiştirin

Peki boot.rc adlı bir dosyam yok

Ben ubuntu 14.04 kullanarak sd kart erişmek mümkün, önyükleme klasöründen ls çalışan bunu göstermek:

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

Ayrıca cmdline.txt 10.42.0.5 ekleyerek statik bir ip kullanmaya çalıştım ama bundan sonra bu adress ile pi bağlanamıyor. Yani iki sorunum var:

  1. Buildroot kullanılırken pi adresine nasıl bağlanır: Çözüme Bağlantı
  2. Buildroot ve witout HDMI kullanarak ssh kullanarak pi nasıl kurulur ve bağlanır.

Btw Pi'ye bağlanmak için bir ethernet kablosu kullanıyorum

Teşekkürler :)

GÜNCELLEME : İlk sorun için çözüme bağlantı ekledim Şimdi ethernet ağını taradıktan sonra pi adresi görünüyor:

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

Şimdi sahip olduğum sorun, ssh'nin pi witout HDMI'ya (Buildroot kullanarak) bağlanabilmesi için nasıl etkinleştirileceği

Pi'yi ssh denerken (buildroot kullanılan sistem ana bilgisayar adıdır):

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

Bence ssh etkinleştirilmedi çünkü !!!


AFAIK varsayılan olarak SSH etkindir… BTW ethernet bağlantı noktasını veya bazı USB WiFi adaptörünü mü kullanıyorsunuz?
wb9688

AFAIK anlamı ne? Hayır, bir ethernet kablosu kullanıyorum
The Beast

A s F ar A s I K şimdi ...! Ubuntu çalıştıran PC'de , X'in 0-255 arasında bir yerde olduğu ve LAN'lar için ayrılmış özel C Sınıfı adres aralığı için sizi kapsayacak şekilde sudo nmap -sP 192.168.0.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'belirtilen ağ adresini değiştirmeniz gerekebilir 192.168.x.0/24. Bu,
Pi'deki

1
@SlySven bunun yerine sudo nmap -sP 10.42.0/24bana 1 ana bilgisayar (benim dizüstü bilgisayar) vermek verdim ama başka hiçbir cihaz tespit !!! Not: Ethernet adresim 10.42.0.1 ve komut sudo nmap -sP 10.42.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'boş bir çıktı veriyor
Beast

1
@ wb9688 evet ben raspbian yüklerken kullandım ve ssh@10.42.0.5bu statik ip seçtikten sonra kolayca bağlamak
Canavar

Yanıtlar:


3

Yaptığınız tek şey buysa make raspberrypi_defconfig && make, yararlı bir koşu sistemi elde etmek için yapacak çok işiniz var.

BuildRoot'un varsayılan yapılandırması, BusyBox dışında her şeyin kapatılması içindir. Ssh sunucusu yanıt vermiyor çünkü BuildRoot'a derlemek istediğinizi söylemediniz!

make menuconfigBuildRoot dizininizde çalışarak başlayın . Openssh, Hedef paketler, Ağ uygulamaları, openssh bölümüne giderek etkinleştirilebilir.

Pi üzerinde bir monitör olmadan bu çalışmaya başlamak muhtemelen çok zor olacak. Ssh çalıştıktan sonra son sürümde kullanmanıza gerek yoktur, ancak başlangıç ​​sorunlarını monitör olmadan teşhis etmek gerçekten zor olacaktır. Kendinize bir HDMI kablosu veya bir HDMI -> DVI dönüştürücü satın alın ve yerel konsolu kullanın.


1
Hata ayıklamak için USB - TTL UART kablosu almanızı da öneririm. Bu sadece buildroot 2016.05 rpi2 görüntüsü üzerinde çalışır. OP kurulumu için yeterli olmalıdır x11vnc.
Ciro Santilli 法轮功 病毒 审查 六四 事件 法轮功

3

Önsöz: Bir Raspberry PI 2 için buildroot-2017.02.3 kullanıyorum ve buradan openssh etkinleştirildi make menuconfig. Başka değişiklikler yapılmazsa, oluşturulan varsayılan /etc/ssh/sshd_configkök girişine izin vermediğinden ssh oturumu çalışmaz .

Seçenek A: Kullanıcı Ekleme

Buildroot aracılığıyla kullanıcı ekleyebilirsiniz. Aşağıdaki manuel girişler yardımcı olabilir:

Temel olarak, kullanıcıyı aşağıdaki gibi özel bir sözdiziminde tanımlayan bir metin dosyası oluşturursunuz:

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

ve söyle buildroot içinde make menuconfig> System Configuration> user tablesKullanıcı tablo dosyayı bulmak için nereye. Yukarıdaki örnek içerik foo, şifreyle ek bir kullanıcı oluşturur bar(oturum açma etkinleştirilir). Bu kullanıcı root olmadığı için hemen ssh ile giriş yapabilir.

Seçenek B: Kök Girişine İzin Ver

Sistem için bir SD kart kullandığınızda (örn. Ahududu üzerine), kartı PC'nize takabilir, düzenleyebilir /media/<pathToYourSD>/etc/ssh/sshd_config(sudo gereklidir) ve hattı bulabilirsiniz

#PermitRootLogin prohibit-password

ve değiştir

PermitRootLogin yes

Bu, root'un ssh ile giriş yapmasına izin verir. Kök için bir şifre ayarladığımı unutmayın. Bunun şifre olmadan çalışıp çalışmadığından emin değilim. SD kartınızı bağlayamazsanız, açıklandığı gibi aynı değişikliği yapan ancak derleme ana bilgisayarında (rootfs paketlenmeden önce) post-build komut dosyaları yazmanız gerekir.


1

Yönlendirici yok + normal Ethernet kablosu + RPI 2 + Buildroot 2016.05 + Ubuntu 16.04 ana bilgisayar

Bu sorunu iki bölüme ayırdıktan sonra çalıştım:

  1. Ethernet SSH'nin Raspbian ve doğrudan kablo bağlantısı (zaten düzgün kurulmuş bir sshd arka plan programı çalışıyor) ile çalışmasını sağlayın https://raspberrypi.stackexchange.com/a/54394/33424

  2. QEMU + buildroot üzerinde uygun bir sshd yapılandırması yapmayı öğrenin: https://stackoverflow.com/a/39301480/895245

    Gerçek tahtada, /etc/ssh/sshd_configelbette değiştirmek için bir QEMU pencereniz yoktur , bu nedenle aşağıdakilerden birini yapmanız gerekir:

    • (Ya yanıp sönen önce ana bilgisayarda değişiklik BR2_ROOTFS_OVERLAYmonte output/images/sdcard.imgile https://askubuntu.com/a/496576/52975 veya oynamak output/target)
    • UART seri üzerinden bağlanın. Bu er ya da geç çalışmasını isteyeceksiniz, çünkü tahtadaki dağıtım dağıtımınızı hata ayıklamanın en iyi yolu budur.

.configile basitçe raspberrypi2_defconfig+ opensshetkindir make menuconfig.

O zaman sadece:

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

Görüntüde TTL yalnızca güç için kullanılır.


0

Bu sessiz eski biliyorum ama tam olarak aynı sorunu vardı. İçinde sshd yapılandırma dosyasını düzenlemek zorunda kaldım /etc/ssh. SD kartını başka bir sisteme takarak bu dosyayı düzenledim. Kökün ssh kullanarak oturum açmasına izin vermeniz gerekir ( PermitRootLogin yes gibi bir şey ).



-1

Bu nasıl bir başsız pi kurulum yaptım:

  1. raspberrypi.org adresinden indirilen etcher ve en son raspbian yazılımı

  2. Dosyayı sd kartıma yazmak için etcher kullanıldı

  3. etcher sd kartı otomatik olarak çıkarır, tekrar bilgisayarınıza yerleştirir

  4. içinde hiçbir şey olmayan bir dosya yaptı, ssh olarak adlandırıldı (kaydedildiğinde hiçbir uzantının etkinleştirilmediğinden emin olun)

  5. benim ahududu pi içine attı, RPi gelen yönlendirici bağlı ethernet ve RPi mikro usb ti artached.

  6. RPi kadar ateş, 1-2 dakika bekledi.

  7. yönlendirici sayfama gitti (yönlendiricilerinizin ipini yazın, yönlendiricinizin üzerinde olmalıdır

  8. Bağlı cihazları aradım, ahududu pi ip adresimi buldum.

  9. ip adresini ve açık terminali yazın

  10. terminalde yazma: ssh pi @ YOURRPIiphere!

  11. YOURRPIiphere'i rpis ip adresiyle değiştirin

  12. enter tuşuna basın ve varsayılan şifreyi yazın, ahududu

  13. RPi do sudo raspi-config yapılandırmak için, ayarlarınızı düzenleyin, yeniden başlatın!

Bu yardımı umut ettim!


1
OP, Raspbian'ı değil, Buildroot kullanıyor
Jeremiah Rose
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.