Як підключити та використовувати ssh без екрана за допомогою BUILDROOT


12

Я хочу створити мінімальну систему для малинового пі (B +), щоб поліпшити продуктивність алгоритму виявлення моїх облич ... Я виявив BuildRoot: для конфігурації я виявив, що не потрібно робити конфігурацію сам, а замість цього я використав надану один:

make raspberrypi_defconfig
make

Тепер у мене немає кабелю HDMI для підключення пі ... при підключенні його до мого ноутбука червоний світлодіод увімкнено, а зелений світлодіод починає блимати: це означає, що пі правильно читає SD-карту. Це перший раз, коли я Я використовую buildroot, і я не знаю, як увімкнути ssh для pi або як відобразити адресу pi. Зауважте, що це не дублікат « Підготуватися до ssh без екрана», оскільки вони надали рішення

Щоб увімкнути ssh при запуску, створіть резервну копію boot.rc на завантажувальному розділі на зображенні SD та замініть його на boot_enable_ssh.rc

Ну, у мене немає файлу під назвою boot.rc

Я можу отримати доступ до sd-картки за допомогою ubuntu 14.04, запуск ls з папки завантаження показує це:

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

Я також намагався використовувати статичний ip, додавши 10.42.0.5 до cmdline.txt, але після цього я не можу підключитися до пі з цією адресою. Отже, у мене є два випуски:

  1. Як підключитися до пі-адреси під час використання buildroot: Посилання на рішення
  2. Як налаштувати та підключитися до pi за допомогою ssh за допомогою buildroot та witout HDMI.

До речі, я використовую кабель Ethernet для підключення до пі

Дякую :)

ОНОВЛЕННЯ : я додав посилання на рішення першого питання. Тепер пі-адреса з’являється після сканування мережі Ethernet:

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

Тепер у мене є питання, як дозволити ssh мати змогу підключитися до pi wout HDMI (за допомогою Buildroot)

При спробі ssh pi (buildroot використовується ім'ям хоста системи):

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

Я думаю, тому що ssh це не включено !!!


AFAIK за умовчанням увімкнено SSH ... До речі, ви використовуєте порт Ethernet або USB-адаптер USB?
wb9688

що означає AFAIK? Ні, я використовую кабель Ethernet
The Beast

A s F ar A s I K зараз ...! На комп'ютері, на якому працює Ubuntu, sudo nmap -sP 192.168.0.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'можливо, вам доведеться налаштувати мережеву адресу, вказану 192.168.x.0/24там, де X знаходиться десь від 0 до 255 включно, що охоплюватиме вам приватний діапазон адрес класу C, зарезервований для локальних мереж. Це фільтрує результати унікальної MAC-адреси, яку матиме Ethernet-інтерфейс на Pi ...
SlySven

1
@SlySven я використовував замість цього sudo nmap -sP 10.42.0/24дайте мені 1 хост працює (це мій ноутбук), але інших пристроїв не виявлено !!! Примітка: моя адреса Ethernet - 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
The Beast

Відповіді:


3

Якщо все, що ви робили make raspberrypi_defconfig && make, це ще багато роботи, щоб отримати корисну працюючу систему.

Конфігурація BuildRoot за замовчуванням призначена для вимкнення всього, за винятком BusyBox. Ssh-сервер не відповідає, тому що ви не сказали BuildRoot, що хочете його компілювати!

Почніть з запуску make menuconfigв каталозі BuildRoot. Відкриття можна ввімкнути, перейшовши до цільових пакетів, мережевих додатків, openssh.

Напевно, буде дуже важко змусити це працювати без монітора на Pi. Не потрібно використовувати його в остаточній версії, як тільки ви працюєте ssh, але діагностувати проблеми із запуском без монітора буде дуже важко. Придбайте собі кабель HDMI або перетворювач HDMI -> DVI та використовуйте локальну консоль.


1
Для налагодження я також рекомендую отримати кабель USB до TTL UART. Це просто працює на зображенні buildroot 2016.05 rpi2. Потрібно вистачити для налаштування ОП x11vnc.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

3

Передмова: Я використовую buildroot-2017.02.3 для Raspberry PI 2 та увімкнено openssh з make menuconfig. Без додаткових змін вхід в ssh не працює, оскільки створений за замовчуванням /etc/ssh/sshd_configне дозволяє кореневий вхід.

Варіант A: Додати користувача

Ви можете додавати користувачів через buildroot. Наступні ручні записи можуть допомогти:

По суті, ви створюєте текстовий файл, який визначає вашого користувача у спеціальному синтаксисі, як:

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

і Телль Buildroot в make menuconfig> System Configuration> user tablesде знайти файл таблиці користувача. Вищевказаний вміст зразка створить додаткового користувача fooз паролем bar(вхід активовано). Цей користувач може ввійти через ssh одразу, оскільки він не має root.

Варіант B: Дозвіл на кореневий вхід

Коли ви використовуєте SD-карту для системи (наприклад, на малину), ви можете просто встановити карту на свій ПК, відредагувати /media/<pathToYourSD>/etc/ssh/sshd_config(потрібно судо) та знайти рядок

#PermitRootLogin prohibit-password

і змінити на

PermitRootLogin yes

Це дозволяє root входити через ssh. Зауважте, що я встановив пароль для root. Не впевнений, чи це працює без пароля. Якщо ви не в змозі змонтувати вашу SD-карту, вам доведеться писати сценарії створення збірки, які виконують ту саму модифікацію, що і описана, але на хості збирання (перед тим, як завантажуватимуться rootfs).


1

Немає маршрутизатора + звичайний кабель Ethernet + RPI 2 + Buildroot 2016.05 + хост Ubuntu 16.04

Зробив це, коли я розділив цю проблему на дві частини:

  1. отримуйте ethernet SSH, що працює з Raspbian, і пряме кабельне з'єднання (для якого вже належним чином настроєно встановлення sshd-демону) https://raspberrypi.stackexchange.com/a/54394/33424

  2. дізнайтеся, як правильно виконати конфігурацію sshd на QEMU + buildroot: https://stackoverflow.com/a/39301480/895245

    На реальній дошці у вас немає вікна QEMU для зміни /etc/ssh/sshd_configкурсу, тому вам потрібно буде:

    • змінити його на хості перед миготінням (будь-яким BR2_ROOTFS_OVERLAY встановити за output/images/sdcard.imgдопомогою https://askubuntu.com/a/496576/52975 , або грати з output/target)
    • підключитися через UART серійний. Ви хочете, щоб це рано чи пізно почало працювати, оскільки це найкращий спосіб налагодити ваш дистрибутив distroot на платі.

.config просто raspberrypi2_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 так ).


-1

SSH увімкнено за замовчуванням - спробуйте pi@10.42.0.5(абоroot@10.42.0.5 якщо ви справді відчайдушні!). Рівнина теж ssh 10.42.0.5може бути вартий.

Ви використовуєте паролі або sshпідключаєтесь?


ОП хоче використовувати зображення вбудованого коріння, а не Raspbian. З raspbian raspberrypi.stackexchange.com/questions/38 / ... робіт.
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

-1

Ось як я здійснив налаштування безголового пі:

  1. завантажено етчер та найновіше програмне забезпечення для розп'яття з raspberrypi.org

  2. Використовували etcher для запису файлу на мою SD-карту

  3. etcher автоматично викидає SD-карту, знову поміщає її у свій комп’ютер

  4. створив файл, в якому немає нічого, назвав його ssh (переконайтесь, що при збереженні не ввімкнено розширення)

  5. вискакував його в мій малиновий пі, підключив мережу Ethernet від RPi до маршрутизатора і з'єднав мікросхему RPI.

  6. Запустив RPI, зачекав 1-2 хвилини.

  7. зайшов на мою сторінку маршрутизатора (введіть маршрутизатор ip, має бути на самому маршрутизаторі

  8. Шукав підключені пристрої, знайшов мою малину pi ip адресу.

  9. запишіть ip-адресу та відкритий термінал

  10. в терміналі напишіть: ssh pi @ YOURRPIiphere!

  11. замініть YOURRPIiphere на rpis ip адресу

  12. натисніть Enter і введіть пароль за замовчуванням, малиновий

  13. щоб налаштувати RPi do sudo raspi-config, відредагуйте свої налаштування, перезавантажте!

Сподівався на цю допомогу!


1
ОП використовує Buildroot, не заздалегідь збудовану Raspbian
Jeremiah Rose
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.