BUILDROOTを使用して画面なしでsshに接続して使用する方法


12

顔検出アルゴリズムのパフォーマンスを向上させるためにラズベリーpi(B +)の最小限のシステムを構築したい...私が見つけたBuildRoot:構成については、自分で構成を行う必要はなく、代わりに提供されたものを使用しました1 :

make raspberrypi_defconfig
make

今、私はpiを接続するためのHDMIケーブルを持っていません...ラップトップに接続すると、赤いLEDがオンになり、緑色のLEDが点滅し始めます。つまり、PIがSDカードを正しく読み取っていることを意味します。 buildrootを使用していますが、piでsshを有効にする方法や、piアドレスを表示する方法がわかりません。これは重複のないことに注意してください画面でなくsshの準備を 溶液中で、彼らが提供しているため

起動時にsshを有効にするには、SDイメージのブートパーティションのboot.rcをバックアップし、boot_enable_ssh.rcに置き換えます。

まあ私はboot.rcというファイルを持っていません

ubuntu 14.04を使用してsdカードにアクセスできます。ブートフォルダーからlsを実行すると、次のようになります。

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

また、cmdline.txtに10.42.0.5を追加して静的IPを使用しようとしましたが、その後、このアドレスでpiに接続できません。だから私は2つの問題があります:

  1. buildrootを使用しているときにpiアドレスに接続する方法: ソリューションへのリンク
  2. buildrootとwitout HDMIを使用してsshを使用してpiを設定および接続する方法。

ところで、イーサネットケーブルを使用してpiに接続しています

ありがとう:)

更新:最初の問題の解決策へのリンクを追加しました。イーサネットネットワークをスキャンした後、piアドレスが表示されます。

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

今私が持っている問題は、sshがpi witout HDMIに接続できるようにする方法です(Buildrootを使用)

piをsshしようとすると(buildrootは使用されるシステムのホスト名です):

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

sshが有効になっていないためだと思います!!!


AFAIKはデフォルトでSSHが有効になっています…ところで、イーサネットポートまたはUSB WiFiアダプターを使用していますか?
wb9688

AFAIKの意味?いいえ、イーサネットケーブルを使用しています
The Beast

A s F ar A s I K今...!Ubuntuを実行しているPCでは、Xが0〜255の範囲でsudo nmap -sP 192.168.0.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'指定されているネットワークアドレスを微調整する必要がある場合があります。これにより192.168.x.0/24、LAN用に予約されたプライベートクラスCアドレスの範囲がカバーされます。これは、Piのイーサネットインターフェイスが持つ一意のMACアドレスの結果をフィルター処理します...
SlySven

1
@SlySvenを代わりに使用しsudo nmap -sP 10.42.0/24て、1台のホストが稼働している(それは私のラップトップです)が、他のデバイスが検出されない 注:私のイーサネットアドレスは10.42.0.1で、コマンドsudo nmap -sP 10.42.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'は空の出力を出します
The Beast

1
@ wb9688はい、私はraspbianをインストールするときにそれを使用しており、ssh@10.42.0.5その静的IPを選択した後で簡単に接続します
ビースト

回答:


3

あなたがやったことがすべてだったmake raspberrypi_defconfig && makeとしても、有用な実行中のシステムを得るためには、まだやらなければならないことがたくさんあります。

BuildRootのデフォルト設定では、BusyBoxを除いてすべてオフになっています。BuildRootにコンパイルしたいことを伝えなかったため、sshサーバーは応答していません!

make menuconfigまず、BuildRootディレクトリで実行します。opensshを有効にするには、ターゲットパッケージ、ネットワークアプリケーション、opensshに移動します。

これをPiのモニターなしで動作させるのはおそらく非常に難しいでしょう。sshが動作するようになれば、最終バージョンでそれを使用する必要はありませんが、モニターなしで起動の問題を診断することは本当に難しいでしょう。自分でHDMIケーブルまたはHDMI-> DVIコンバーターを購入し、ローカルコンソールを使用します。


1
デバッグするには、USB-TTL UARTケーブルを入手することもお勧めします。これは、buildroot 2016.05 rpi2イメージでのみ機能します。OPがセットアップするのに十分なはずx11vncです。
Ciro Santilli新疆改造中心法轮功六四事件

3

序文:Raspberry PI 2にbuildroot-2017.02.3を使用しており、openshを有効にしていmake menuconfigます。さらに変更を加えないと、生成されたデフォルトで/etc/ssh/sshd_configはrootログインが許可されないため、sshログインは機能しません。

オプションA:ユーザーを追加する

buildrootを介してユーザーを追加できます。次の手動入力が役立つ場合があります。

基本的に、次のような特別な構文でユーザーを定義するテキストファイルを作成します。

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

そして、tell buildrootでmake menuconfig> System Configuration> user tablesユーザー・テーブル・ファイルを検索する場所。上記のサンプルコンテンツはfoo、パスワードを使用して追加のユーザーを作成しますbar(ログインがアクティブ化されます)。このユーザーはrootではないため、すぐにssh経由でログインできます。

オプションB:ルートログインを許可する

システムにSDカードを使用する場合(例:ラズベリー)、カードをPCにマウントし、編集/media/<pathToYourSD>/etc/ssh/sshd_config(sudoが必要)して、行を見つけるだけです。

#PermitRootLogin prohibit-password

に変更

PermitRootLogin yes

これにより、rootはssh経由でログインできます。rootのパスワードを設定したことに注意してください。これがパスワードなしで機能するかどうかはわかりません。sdカードをマウントできない場合は、説明と同じ変更を行うビルド後のスクリプトを作成する必要がありますが、ビルドホスト(rootfsがパックされる前)で行います。


1

ルーターなし+通常のイーサネットケーブル+ RPI 2 + Buildroot 2016.05 + Ubuntu 16.04ホスト

この問題を2つの部分に分けた後、うまくいきました。

  1. Raspbianで動作するイーサネットSSHと直接ケーブル接続(すでに適切にセットアップされたsshdデーモンが実行されている)/raspberrypi//a/54394/33424

  2. QEMU + buildrootで適切なsshd構成を行う方法を学ぶ:https ://stackoverflow.com/a/39301480/895245

    実際のボードで/etc/ssh/sshd_configは、もちろん変更するQEMUウィンドウがないため、次のいずれかを行う必要があります。

    • フラッシュする前にホストで変更します(/ubuntu//a/496576/52975BR2_ROOTFS_OVERLAYマウントoutput/images/sdcard.imgするか、でプレイします)output/target
    • UARTシリアル経由で接続します。これは、ボード上のビルドルートディストリビューションをデバッグする最良の方法であるため、遅かれ早かれこれを機能させる必要があります。

.configraspberrypi2_defconfig+ で単にopenssh有効になりmake menuconfigます。

次にちょうど:

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

画像のTTLのみが電力に使用されます。


0

私はこれが静かな古いことを知っていますが、まったく同じ問題がありました。でsshd設定ファイルを編集する必要がありました/etc/ssh。別のシステムにSDカードをマウントして、そのファイルを編集しました。rootがsshを使用してログインできるようにする必要があります(PermitRootLogin yesのようなもの)。


-1

SSHはデフォルトで有効になっています-試してくださいpi@10.42.0.5(またはroot@10.42.0.5、本当に必死な場合は!)。プレーンssh 10.42.0.5も価値があるかもしれません。

パスワードまたはssh接続に使用していますか?


OPはRaspbianではなくbuildrootイメージを使用したいと考えています。raspbianを使用すると、raspberrypi.stackexchange.com / questions / 38 /…が機能します。
Ciro Santilli新疆改造中心法轮功六四事件

-1

これは私がヘッドレスpiセットアップをどのようにしたかです:

  1. etcherと最新のraspbianソフトウェアをraspberrypi.orgからダウンロード

  2. エッチャーを使用してファイルを私のsdカードに書き込みました

  3. etcherは自動的にsdカードを排出し、再びあなたのコンピュータに戻します

  4. sshと呼ばれる何もないファイルを作成しました(保存時に拡張機能が有効になっていないことを確認してください)

  5. それを私のラズベリーpiにポップし、RPiからルーターにイーサネットを接続し、マイクロUSBをRPiに接続しました。

  6. RPiを起動し、1〜2分待ちました。

  7. 私のルーターページに行きました(あなたのルーターのIPを入力してください、あなたのルーター自体にあるはずです)

  8. 接続されているデバイスを探し、ラズベリーのpi IPアドレスを見つけました。

  9. IPアドレスと開いたターミナルを書き留めます

  10. 端末の書き込み:ssh pi @ YOURRPIiphere!

  11. YOURRPIiphereをrpis IPアドレスに置き換えます

  12. Enterキーを押して、デフォルトのパスワードraspberryを入力します

  13. RPiを構成するには、sudo raspi-configを実行し、設定を編集して再起動します。

この助けを願っています!


1
OPは、ビルド済みのRaspbianではなくBuildrootを使用しています
Jeremiah Rose、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.