Встановлення програми Raspbian з NOOBS без відображення


88

Я намагаюся встановити Raspbian з NOOBS, але у мене немає іншого екрана / клавіатури, крім екрана / клавіатури мого ноутбука. Я знаходжу достатньо інформації про використання екрана / клавіатури ноутбука для Pi, але тоді вам вже потрібно встановити ОС. Але в мене не встановлена ​​ОС, тому що моя SD-карта містить NOOBS, і я хочу встановити Raspbian за допомогою NOOBS.

Як я можу це зробити лише за допомогою екрана мого ноутбука та клавіатури? Я на своєму ноутбуці запускаю Windows 7.


13
Навіщо турбуватися. Якщо у вас немає екрана чи клавіатури, що ви плануєте робити з NOOBS? Просто завантажте Raspbian і встановіть на SD-карту. NOOBS - це лише марнотратство.
Міллівейс

Відповіді:


117

Це більше не працює, оскільки sshне ввімкнено.

Використовуючи лише екран і клавіатуру ноутбука (як до, так і після встановлення), установка та конфігурація для безголових операцій за допомогою SSH можлива за допомогою NOOBS (вони називають це "безшумна установка"). Для цього не потрібен окремий екран або клавіатура / миша. Однак для цього потрібен зчитувач SD-карт на ноутбуці (вбудований або зовнішній USB).

Єдине, що потрібно на стороні Raspberry Pi - це з'єднання Ethernet (до SSH в нього з хост-системи). Крім того, за допомогою спеціального обладнання (USB-до-серійного адаптера) можна використовувати декілька штифтів GPIO на Raspberry Pi. [3]

Це можна зробити, видаливши кілька папок, відредагувавши два файли на SD-картці та встановивши деякі символічні посилання /etc/init.d(зробіть резервну копію спочатку вмісту SD-картки, якщо у вас є лише SD-карта з NOOBS). Перш ніж встановити, безпека може захотіти змінити пароль за замовчуванням.

Передумови:

  • Хост-комп'ютер, здатний працювати з клієнтом SSH та читати / записувати файлову систему на SD-картці Raspberry Pi ( ext4 ). Операційною системою можуть бути Windows, Mac або Linux. Це може бути комп'ютер, на якому зазвичай працює Windows, але на якому є привід DVD, тому Ubuntu можна запустити в пробному режимі за допомогою LiveCD .

  • Підключення до Ethernet до Raspberry Pi та доступ до нього за допомогою хост-комп'ютера TCP / IP-також (хост-комп'ютер може сам використовувати Ethernet або бездротове з'єднання).

  • Текстовий редактор в хост-системі, який може правильно обробляти символи кінцевих рядків Unix . Наприклад, UltraEdit в Windows, який я використовував для тестування. Блокнот ++ та Vim для Windows також мають бути добре.

  • Зчитувач SD-карт (щоб зробити кардинальні зміни на SD-картці під час процесу, як попередньо встановити, так і після встановлення).

Як

Попередньо встановіть

Наприклад, щоб автоматично встановити Raspbian (рекомендований вибір), коли живлення застосовується до Raspberry Pi із вбудованою SD-карткою, виконайте такі дії в режимі офлайн (у хост-системі, Windows, Mac чи Linux):

  1. Завантажте та підготуйте NOOBS ( NOOBS 1.3.10 , випущена 2014-09-09, це завантаження 704 Мб) на достатньо великій SD-картці, 4 Гб або більше.

    Це може включати використання SDFormatter з опцією " ФОРМУВАННЯ РОЗМІРУ", встановленою на "УВІМКНЕНО", щоб відформатувати всю SD-карту як один великий розділ формату FAT32). Детальну інформацію див. На пов’язаній сторінці.

  2. В osпапці на SD - карті з недоносків, видаліть всі папки , за винятком Raspbian(папки Arch, RaspBMC, Pidora, OpenELEC, RISC_OS, і data_partitionдля нубов 1.3.7. І тільки Data_Partitionдля нубов 1.3.10).

  3. Відредагуйте файл \os\Raspbian\flavours.json, щоб він містив лише бажану версію Raspbian, "Raspbian" (не "Raspbian - Boot to Scratch").

    Перед:

       {
         "flavours": [
           {
             "name": "Raspbian - Boot to Scratch",
             "description": "A version of Raspbian that boots straight into Scratch"
           },
           {
             "name": "Raspbian",
             "description": "A Debian wheezy port, optimised for the Raspberry Pi"
           }
         ]
       }
    

    Після:

       {
         "flavours": [
           {
             "name": "Raspbian",
             "description": "A Debian wheezy port, optimised for the Raspberry Pi"
           }
         ]
       }
    

    Видаліть зайві файли (файли), які може створити ваш текстовий редактор (наприклад, .bak файл).

  4. Відредагуйте файл recovery.cmdlinerootпапці SD-карти ), щоб додати silentinstallдо списку аргументів.

    До цього (може відрізнятися залежно від версії NOOBS):

     runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline
    

    Після (може відрізнятися залежно від версії NOOBS):

     runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline silentinstall
    

    Видаліть зайві файли (файли), які може створити ваш текстовий редактор (наприклад, .bak файл).

  5. Необов’язково:

    Щоб відкрити опцію підключення телевізора до відеовиходу, також додайте display=3(3 для PAL, 4 для NTSC):

     runinstaller quiet vt.cur_default=1 coherent_pool=6M elevator=deadline silentinstall display=3
    
  6. Необов’язково: змінити ім'я користувача та пароль за замовчуванням, відредагувавши \os\Raspbian\os.json:

    Перед:

       {
         "name": "Raspbian",
         "url": "http://www.raspbian.org/",
         "version": "wheezy",
         "release_date": "2014-01-07",
         "kernel": "3.10",
         "description": "A community-created port of Debian wheezy, optimised for the Raspberry Pi",
         "username": "pi",
         "password": "raspberry"
       }
    

    Після:

       {
         "name": "Raspbian",
         "url": "http://www.raspbian.org/",
         "version": "wheezy",
         "release_date": "2014-01-07",
         "kernel": "3.10",
         "description": "A community-created port of Debian wheezy, optimised for the Raspberry Pi",
         "username": "pi",
         "password": "DerSkalMangeFlereJobsTilI2014tOverHeleVerden11111111111111111111df11111111111111111111"
       }
    

    Видаліть зайві файли (файли), які може створити ваш текстовий редактор (наприклад, .bak файл).

  7. Помістіть SD-карту в Raspberry Pi, підключіть її кабелем Ethernet таким чином, щоб хост-система з клієнтом SSH бачила її і таким чином DHCP був доступний Raspberry Pi (наприклад, більшість NAT -роутерів мають вбудований сервер DHCP в). Можливо, відключіть систему від Інтернету, поки пароль не буде змінено.

  8. Увімкніть Raspberry Pi, щоб розпочати встановлення. І чекай! Це може зайняти деякий час, наприклад, півгодини або більше. Щоб переконатися, залиште його в спокої на кілька годин. Час встановлення 19 хвилин і 20 секунд було виміряно при використанні NOOBS 1.3.10 (від включення живлення до першого успішного пінгу). Струм витягу становив 400 - 480 мА і впав до 370 мА після успіху першого пінгу.

Після встановлення

  1. Знайдіть IP-адресу Raspberry Pi (призначену DHCP) якось. Наприклад, відгадайте це з діапазону IP-адрес, що сервер DHCP в NAT-маршрутизаторі використовує та пінг цих адрес (моя налаштована для використання 192.168.0.100 - 192.168.0.255 і часто їй призначається 192.168.0.100 або 192.168.0.101) .

    Для цього також можна використовувати Wireshark , особливо якщо він знаходиться в середовищі з великою кількістю пристроїв. Це набагато простіше зробити, якщо MAC-адреса Raspberry Pi відома, і її можна отримати тимчасово, використовуючи етап 4 нижче.

    Цей крок не є необхідним, якщо фіксовану IP-адресу встановлено на кроці 4 нижче.

  2. Пінг від хоста, щоб перевірити, чи є з'єднання.

  3. SSH не включений за замовчуванням для Raspbian у версії 1.3.7 NOOBS - незважаючи на те, що деякі сторінки стверджують. (Це може бути різним для Arch Linux.) Тим НЕ менше, це є для Raspbian в NOOBS версії 1.3.10, і цей крок може бути зайвими (втім, будь-який купив Raspberry Pi може поставлятися з SD - картою з більш старою версією NOOBS, і можливо, варто зберегти завантаження 700 Мб).

    Найпростіший спосіб увімкнути це описаний у відповіді Олі на " Підготуватися до ssh без екрана (на цьому веб-сайті) і полягає у зміні символічних посилань на /etc/init.droot).

    Наприклад, завантаження з Ubuntu 13.04 LiveCD за допомогою зчитувача USB-карти в хост-системі та видача цих команд у терміналі буде достатньо:

     sudo su
     cd /media/ubuntu/root
     for i in 2 3 4 5; do sudo ln -s /etc/init.d/ssh etc/rc$i.d/S02ssh; done
    
  4. Необов’язково: встановіть фіксовану IP-адресу, якщо це полегшує та тип мережі дозволяє. У домашній мережі це може бути, призначивши IP-адресу поза межами діапазону IP-адрес, який використовується сервером DHCP маршрутизатора NAT, наприклад, 192.168.0.93.

    У файл cmdline.txt(у папці bootвід кореня картки SD) додайте це в кінці довгого рядка:

    ip=192.168.0.93
    

    Кінцевий результат може бути приблизно таким:

    dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p6 rootfstype=ext4 elevator=deadline rootwait ip=192.168.0.93
    

    Як і на кроці 3, файл для редагування буде /media/ubuntu/root/boot/cmdline.txt.

    Примітка: без додаткових параметрів після IP-адреси немає підключення до Інтернету, і тому крок 11 нижче не вдасться.

  5. Якщо для кроків 3 та 4 було використано метод LiveCD: Вимкнення Ubuntu (для запису змін та відключення SD-карти).

  6. Запустіть Raspberry Pi up із вставленою SD-карткою.

  7. SSH в Raspberry Pi, використовуючи IP-адресу, знайдену на кроці 1 або 4 (наприклад, за допомогою PuTTY для Windows) та увійдіть:

    login as: pi
    pi@192.168.0.100's password: raspberry    (or the password that was set in os.json, see 6 in *Pre-install*.)
    
  8. Змініть новий пароль:

        su pi
        passwd
    
  9. Необов’язково: зробіть подальшу конфігурацію Raspberry Pi

        sudo raspi-config
    
  10. Необов’язково: увімкніть вихід телевізора

    • Відкрити config.txtв vi :

        sudo vi /boot/config.txt
      
    • Доповнюйте цей рядок (можливо, NOOBS вставив додатковий рядок із цим увімкненим), тому він читається (вставити # на початку рядка):

        #hdmi_force_hotplug=1
      
    • Відменшуйте цей рядок ( 2призначений для PAL; використовувати 0для NTSC), тому він читає (видаліть #на початку рядка):

        sdtv_mode=2
      
    • :wq

    • Перезапустіть, щоб побачити ефект:

        sudo shutdown -r now
      
  11. Навіть Raspbian, що постачається разом з NOOBS 1.3.10, має дуже серйозну вразливість Shellshock, що є в Bash , і ви не хочете, щоб Raspberry Pi залишався без змін.

    Щоб перевірити, чи Raspberry Pi вразливий до Shellshock, видайте:

    env x='() { :;}; echo "WARNING: SHELLSHOCK DETECTED"' bash --norc -c ':' 2>/dev/null;
    

    Щоб оновити сховища та оновити Bash, видайте:

    sudo su
    apt-get update && apt-get install --only-upgrade bash
    

Тестуючи це, я використав:

  1. NOOBS 1.3.7 та NOOBS 1.3.10.

  2. UltraEdit у Windows, оскільки без проблем обробляє текстові файли з закінченнями рядків Unix.

  3. 64-розрядна версія Windows XP (так, я знаю)


Джерела:

  1. NOOBS на GitHub , підрозділ Як автоматично встановити ОС

  2. Запуск Raspberry Pi без голові з Debian Linux (Однак, це передбачає, що SSH увімкнено за замовчуванням, що не стосується версії 1.3.7 NOOBS).

  3. Нове програмне забезпечення Out Of Box (NOOBS) без головної установки на Raspberry Pi . Відео YouTube. Для підключення до штифтів TX / RX на GPIO використовується спеціальне обладнання (USB-кабель із вбудованим USB-послідовним перетворювачем). Ефективно, це як підключення старомодного сміттєвого терміналу до Raspberry Pi.

  4. Raspberry Pi Віддалені з'єднання - без мережі! . Описується, як підключити комп'ютер безпосередньо до Raspberry за допомогою звичайного кабелю Ethernet (спеціальний перехрест не потрібен) та як встановити статичну IP-адресу на Raspberry Pi (однак, приклад виключає з'єднання за межами поточної підмережі, і таким чином підключення до Інтернету).

  5. Монтаж кореневої файлової системи за допомогою NFS (nfsroot) біля "Цей параметр повідомляє ядро". Офіційна документація для встановлення статичної IP-адреси, як у джерелі 4 та 8 інших параметрах, які повинні дозволяти з'єднання з Інтернетом, але не ясно, якими саме повинні бути ці параметри ...

  6. Налаштування Ethernet біля "Спосіб 1: Редагування /boot/cmdline.txt". Приклад вдосконаленого використання "ip =", з якого можна вивести, як його налаштувати таким чином, щоб було можливим підключення до Інтернету.


2
Так чудова відповідь! Однозначно варто винагороджувати! Дещо цікавого тут :)
Piotr Kula

Примітка: за допомогою методу статичної IP-адреси немає підключення до Інтернету, оскільки адреса шлюзу тощо не встановлена. Таким чином, патч Shellshock не працюватиме. Але він може бути використаний для завантаження процесу, знаходячи MAC-адресу під час з'єднання за допомогою статичного методу IP-адреси - видайте "ifconfig" та запишіть MAC-адресу (поле "HWaddr" у рядку з "eth0"). MAC-адреса може використовуватися з сервером DHCP для того, щоб завжди використовувати одну і ту ж IP-адресу (резервувати конкретну IP-адресу для конкретної MAC-адреси) для ефективного отримання статичної IP-адреси.
Пітер Мортенсен

(Для редагування: поблизу "його можна отримати тимчасово, скориставшись кроком 4 нижче.")
Пітер Мортенсен,

1
@PeterMortensen Я зрозумів, що це тим часом. Дякую за підтвердження. Зауважте, що розділ повинен мати шістнадцятковий тип C(FAT32 LBA), або Raspberry Pi не завантажується.
FUZxxl

1
Дивовижна відповідь! Погляньте на це питання: raspberrypi.stackexchange.com/questions/61351/… це якось пов’язано з цією темою. Мені потрібна допомога, щоб переконатися, що мережеві дзеркала відключені під час установки. Дякую.
Дрю

9

Коротка відповідь: переконайтеся, що ви завантажили офлайн-версію для встановлення NOOBS, потім відредагуйте файл recovery.cmdlineта додайте silentinstallв кінці першого рядка.

Це автоматично встановить raspbian і перезавантажиться на робочому столі, коли закінчите.


2
Якщо ви знайдете recovery.cmdline в кінці пустого рядка, видаліть рядок, інакше silentinstall не буде працювати!
Майк Редроудж

8

Для безголовної настройки SSH можна ввімкнути, розмістивши файл, названий sshбез будь-якого розширення, на завантажувальному розділі SD-карти.

Коли Пі завантажується, він шукає sshфайл. Якщо він знайдений, SSH увімкнено, а файл видалено. Зміст файлу не має значення: він може містити текст або взагалі нічого.


Файл видалено дійсно? Якщо так, то після наступної перезавантаження файл більше не буде присутній, а SSH не буде ввімкнено. Це дійсно лише механізм одноразового використання, і кожен раз, коли завантажується Pi, sshфайл потрібно замінити вручну? Це звучить не зовсім правильно.
Greenonline

1
Так, файл дійсно видалено. Після завантаження вам потрібно увійти та налаштувати звичайні завантажувачі для ssh, наприклад: sudo systemctl enable sshтак воно з’явиться наступного разу.
Дейв Х

Підтверджено, що при завантаженні файл безумовно видаляється.
slm

5

Я вважав цей посібник найкориснішим.

Важливе оновлення в налаштуваннях:

  • На останніх зображеннях ssh за умовчанням вимкнено. Ви повинні створити новий файл ssh в / boot (може бути порожнім). Напр

    touch /Volumes/boot/ssh


2

Я це зробив так:

  1. Вийміть кабель живлення з Pi, а потім вийміть SD-карту.

  2. Використовуйте картридер (або вбудований у нього, якщо у вашого ноутбука є) та адаптер SD для читання карти на вашому комп’ютері.

  3. На recovery.cmdlineдодаток vncinstallдо кінця рядка. Джерело тут , приклад тут .

  4. Безпечно виймайте носій у вашій ОС, а потім виймайте адаптер.

  5. Вставте SD в Pi, підключіть Pi до Ethernet до маршрутизатора, увімкніть живлення та знайдіть пристрій у своїй мережі. Якщо ви не можете отримати доступ до маршрутизатора, щоб побачити підключені пристрої, використовуйте такий інструмент, як nmapсканування вашої мережі. напр nmap 192.168.1.0/24 -p 5900. Ще одна річ , яку ви можете спробувати це nslookup raspberrypiабо ping raspberrypiзнайти IP - адреса. Використовуйте vncviewer raspberrypiабо vncviewer <IP>для підключення до хоста.

  6. Встановіть Raspbian за допомогою підключення VNC.

  7. Після установки пристрій перезавантажиться.

  8. Вимкніть Pi і покладіть картку назад у свій комп’ютер.

  9. Додайте файл, викликаний sshдо завантажувального розділу. Для цього можна використовувати touchв Linux.

  10. Безпечно вийміть SD і поверніть його в Pi та включіть живлення.

  11. Тепер ви зможете SSH на Pi.

  12. Змініть пароль негайно, використовуючи passwd.


1

Навіть я стикався з тією ж проблемою, що і у вас. Я використовував дисплей RCA для NOOBS, і на екрані нічого не було. Єдиний варіант, який я мав, - це використання мого ноутбука, але його потрібно спочатку налаштувати за допомогою PuTTY для підключення до Raspberry Pi через SSH.

Швидке рішення вашої проблеми: завантажте окреме зображення Raspbian з офіційного веб-сайту та після форматування встановіть його на SD-карту. Ви легко отримаєте дисплей. Вам просто потрібно придбати монітор RCA (можливо, у вас лежить старий телевізор).


1
ОП заявила: "У мене немає іншого екрана / клавіатури, крім екрана / клавіатури ноутбука".
Пітер Мортенсен

Що таке налаштування RCA за замовчуванням для Raspbian, PAL або NTSC?
Пітер Мортенсен

1

Я опублікував детальну настройку Raspberry Pi без екрана, миші та клавіатури на сторінці Як запустити Raspberry Pi без екрана? .


5
Ласкаво просимо до Raspberry Pi! Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
Стів Робільярд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.