BUILDROOT를 사용하여 화면없이 ssh를 연결하고 사용하는 방법


12

라즈베리 파이 (B +)가 얼굴 감지 알고리즘의 성능을 향상시키기 위해 최소 시스템을 구축하고 싶습니다 ... 발견했습니다 BuildRoot: 구성을 위해 구성을 직접 수행 할 필요가 없으며 대신 제공된 것을 사용했습니다. 하나 :

make raspberrypi_defconfig
make

이제 파이를 연결하는 HDMI 케이블이 없습니다 ... 파이프를 내 노트북에 연결할 때 빨간색 LED가 켜지고 녹색 LED가 깜박이기 시작합니다. 즉, pi가 SD 카드를 올바르게 읽고 있음을 의미합니다. buildroot 사용하고 있으며 pi에 ssh를 사용하는 방법이나 pi 주소를 표시하는 방법을 모르겠습니다. 화면에없는 ssh 준비 의 사본이 아닙니다 . 솔루션에서 제공 한 솔루션이기 때문입니다.

시작시 ssh를 활성화하려면 SD 이미지의 부팅 파티션에서 boot.rc를 백업하고 boot_enable_ssh.rc로 바꾸십시오.

글쎄, boot.rc라는 파일이 없다.

부팅 폴더에서 ls를 실행하면 ubuntu 14.04를 사용하여 SD 카드에 액세스 할 수 있습니다.

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

나는 또한 cmdline.txt에 10.42.0.5를 추가하여 정적 IP를 사용하려고 시도했지만 그 후에이 주소로 pi에 연결할 수 없습니다. 그래서 두 가지 문제가 있습니다.

  1. buildroot를 사용할 때 pi 주소에 연결하는 방법 : 솔루션에 연결
  2. buildroot 및 witout HDMI를 사용하여 ssh를 사용하여 pi를 설정하고 연결하는 방법

Btw 이더넷 케이블을 사용하여 파이에 연결하고 있습니다.

감사 :)

업데이트 : 첫 번째 문제에 대한 솔루션 링크를 추가했습니다. 이제 이더넷 네트워크를 스캔 한 후 pi 주소가 나타납니다.

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

이제 내가 가진 문제는 ssh 를 사용하여 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를 사용하도록 설정되어 있습니다. BTW 이더넷 포트 또는 일부 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/241 개의 호스트가 작동합니다 (내 랩톱입니다). 그러나 다른 장치는 감지되지 않았습니다! 참고 : 내 이더넷 주소는 10.42.0.1이며 명령 sudo nmap -sP 10.42.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'은 빈 출력을 제공합니다
The Beast

1
@ wb9688 예 라즈 비안을 설치할 때 사용했고, ssh@10.42.0.5정적 IP를 선택한 후 쉽게 연결할 수 있습니다
The Beast

답변:


3

당신이 한 모든 것이라면 make raspberrypi_defconfig && make, 유용한 실행 시스템을 얻기 위해해야 ​​할 일이 여전히 많습니다.

BuildRoot의 기본 구성은 BusyBox를 제외한 모든 항목을 끄는 것입니다. BuildRoot에 컴파일하고 싶다고 말하지 않았기 때문에 ssh 서버가 응답하지 않습니다!

make menuconfigBuildRoot 디렉토리에서 실행 하여 시작하십시오 . Openssh는 대상 패키지, 네트워킹 응용 프로그램, openssh로 이동하여 활성화 할 수 있습니다.

Pi의 모니터 없이는이 작업을 수행하기가 매우 어려울 것입니다. 일단 ssh가 작동하면 최종 버전에서 사용할 필요는 없지만 모니터없이 시작 문제를 진단하기는 정말 어려울 것입니다. HDMI 케이블 또는 HDMI-> DVI 변환기를 구입하고 로컬 콘솔을 사용하십시오.


1
디버깅하려면 USB to TTL UART 케이블을 사용하는 것이 좋습니다. 그것은 buildroot 2016.05 rpi2 이미지에서만 작동합니다. OP가 설정하기에 충분해야합니다 x11vnc.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

3

서문 : Raspberry PI 2에 buildroot-2017.02.3을 사용하고에서 openssh를 활성화했습니다 make menuconfig. 추가 변경 없이는 생성 된 기본값 /etc/ssh/sshd_config이 루트 로그인을 허용하지 않기 때문에 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(스도 필요)하고 라인을 찾을 수 있습니다.

#PermitRootLogin prohibit-password

로 변경

PermitRootLogin yes

이것은 루트가 ssh를 통해 로그인 할 수있게합니다. root의 비밀번호를 설정했습니다. 암호없이 작동하는지 확실하지 않습니다. sd 카드를 마운트 할 수없는 경우, 설명 된 것과 동일한 수정을 수행하지만 빌드 호스트 (rootfs가 압축되기 전에)에 빌드 후 스크립트를 작성해야합니다.


1

라우터 없음 + 일반 이더넷 케이블 + RPI 2 + Buildroot 2016.05 + Ubuntu 16.04 호스트

이 문제를 두 부분으로 나눈 후에 작동했습니다.

  1. Raspbian을 사용하는 이더넷 SSH 및 직접 케이블 연결 (이미 올바르게 설정된 sshd 데몬이 실행 중) /raspberrypi//a/54394/33424

  2. QEMU + buildroot에서 올바른 sshd 구성을 수행하는 방법에 대해 알아보십시오. https : //.com/a/39301480/895245

    실제 보드 /etc/ssh/sshd_config에는 물론 수정할 QEMU 창이 없으므로 다음 중 하나를 수행해야합니다.

    • (하나 깜박하기 전에 호스트에서 수정 BR2_ROOTFS_OVERLAY마운트 output/images/sdcard.img/ubuntu//a/496576/52975 , 또는 놀이 output/target)
    • UART 시리얼을 통해 연결하십시오. 보드에서 buildroot 배포판을 디버깅하는 가장 좋은 방법이므로이 작업을 조만간 수행해야합니다.

.configraspberrypi2_defconfig+ openssh활성화되어 make menuconfig있습니다.

그런 다음 :

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

이미지의 TTL은 전원에만 사용됩니다.


0

나는 이것이 조용한 오래된 것을 알고 있지만 정확히 같은 문제가있었습니다. 에서 sshd 구성 파일을 편집해야했습니다 /etc/ssh. 다른 시스템에 SD 카드를 마운트하여 해당 파일을 편집했습니다. ssh를 사용하여 root가 로그인하도록 허용해야합니다 ( PermitRootLogin yes 와 같은 것 ).



-1

이것이 내가 헤드리스 파이 설정을 한 방법입니다.

  1. raspberrypi.org에서 etcher 및 최신 raspbian 소프트웨어를 다운로드했습니다.

  2. etc.를 사용하여 파일을 내 SD 카드에 굽습니다.

  3. etcher는 sd 카드를 자동으로 배출하여 다시 컴퓨터에 넣습니다.

  4. 아무것도 포함하지 않은 파일을 ssh라고 만들었습니다 (저장시 확장명이 활성화되어 있지 않아야 함)

  5. 내 라즈베리 파이에 RPi에서 라우터로 이더넷을 연결하고 RPi에 마이크로 USB를 연결했습니다.

  6. RPi를 시작하고 1-2 분 동안 기다렸습니다.

  7. 내 라우터 페이지로 이동했습니다 (라우터 ip를 입력하십시오. 라우터 자체에 있어야합니다)

  8. 연결된 장치를 찾고 내 라즈베리 파이 IP 주소를 찾았습니다.

  9. IP 주소를 기록하고 열린 터미널

  10. 터미널 쓰기 : ssh pi @ YOURRPIiphere!

  11. YourRPIiphere를 rpis ip 주소로 교체하십시오

  12. Enter 키를 누르고 기본 암호, 라즈베리를 입력하십시오

  13. RPi를 구성하려면 sudo raspi-config를 수행하고 설정을 편집 한 후 재부팅하십시오!

이 도움을 바랍니다!


1
OP는 사전 구축 된 라스 비안이 아닌 Buildroot를 사용하고 있습니다
Jeremiah Rose
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.