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 배포판을 디버깅하는 가장 좋은 방법이므로이 작업을 조만간 수행해야합니다.

.config로 raspberrypi2_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.