Меню
Санкт-Петербург, ул. Адмирала Трибуца, 5
Наш адрес:
Санкт-Петербург, ул. Адмирала Трибуца, 5
Время работы
Время работы магазина:
  • Пн-Вс 08:00-22:00
Заказать звонок

Установка Ubuntu 19.10 на Raspberry Pi 4

В октябре 2019 года в своём оффициальном блоге компания Canonical презентовала Ubuntu 19.10, где стало известно о полноценной поддержке всего семейства одноплатных мини-компьютеров Raspberry Pi, включая 4-ю версию платы. Позже, в своём же блоге они объявили о публикации оффициальных сборок. На текущий момент компания подготовила сборки серверной редакции дистрибутива Ubuntu 19.10.1: 32-разрядные версии для Raspberry Pi 2, 3 и 4, а 64-разрядные для Raspberry Pi 3 и 4.

Важно отметить, что начиная с версии 19.10.1 доведена до рабочего состояния поддержка USB на платах Raspberry Pi 4 c 4ГБ ОЗУ (ранее из-за ошибки в ядре поддерживались только платы с 1 и 2 ГБ ОЗУ).

Canonical активно работает с организацией Raspberry Pi Foundation над качественной поддержкой их текущих и будущих плат. Это безусловно радостный момент для любителей малинки, учитывая, что они получат в своё распоряжение одну из самых активно развивающихся и качественных ОС в мире.

Здесь мы рассмотрим все необходимые шаги для запуска Ubuntu Server на Raspberry Pi. Для теста будем использовать:

Все действия будем осуществлять в системе Windows 10 (весь процесс без проблем можно будет повторить как для Linux, так и для MacOS систем).

Подготовка образа Ubuntu Server

Чтобы процесс был максимально схожим для всех систем, скачаем последнюю версию консольного эмулятора cmder, который содержит все необходимые unix-утилиты. Желательно, полную версию. Распакуйте его в удобное для вас место и запустите Cmder.exe.

Первым делом создадим папку куда скачаем и распакуем образ системы. С помощью утилиты curl загружаем сам архив:

> curl http://cdimage.ubuntu.com/releases/19.10.1/release/ubuntu-19.10.1-preinstalled-server-arm64+raspi3.img.xz --output ubuntu-19.10.1-preinstalled-server-arm64+raspi3.img.xz

Замечание: На момент написания статьи, актуальная версия была 19.10.1, в будущем версия может отличаться, поэтому перед скачиванием лучше убедиться на наличие более свежей версию на сайте.

Распаковываем (без удаления исходного архива):

> xz -k -d ubuntu-19.10.1-preinstalled-server-arm64+raspi3.img.xz


Наш образ готов. Подключаем карту памяти через card reader к компьютеру/ноутбуку и с помощью утилиты Rufus (подойдёт любое другое приложение, например balenaEtcher) записываем образ на карту памяти.

По завершении, система готова к запуску и карту памяти можно вставить в Raspberry Pi. Если у вас имеется USB-клавиатура и дисплей, то дальнейший процесс конфигурации системы может быть осуществлён в интерактивном режиме, достаточно просто запустить малинку и следовать за процессом загрузки системы. Но нас интересует вариант запуска платы в headless-режиме (в этом случае нет потребности в usb-клавиатуре и дисплее). Взаимодействовать с системой мы будем по SSH, для этого нам надо настроить sshd и сконфигурировать Wi-Fi (или Ethernet).

Cloud-init

После завершения записи образа на карту памяти в системе должен появиться новый диск с system-boot разделом.

Начиная с версии 18.04 образы Ubuntu содержат пакет cloud-init, который отвечает за инициализацию системы при первом запуске. Подробно о cloud-init можно почитать оффициальную документацию.

Нас интересуют два файла в корне раздела system-boot: ssh и network-config.

Чтобы активировать sshd-сервис, нам необходимо создать пустой файл ssh.

Замечание: по-умолчанию в системе уже уставновлен ssh-сервер, но sshd служба не активна. По наличию файла ssh cloud-init сконфигурирует и запустит sshd.

Пусть в нашем случае system-boot раздел примонтирован как диск D. Далее показан процесс создания ssh-файла.

Для настройки подключения к нашей Wi-Fi сети необходимо отредактировать файл network-config - это конфигурационный файл ещё одного предустановленного в Ubuntu пакета netplan, задачей которого является первичная инициализация сети. С его документацией можно ознакомиться здесь.

Как правило домашняя Wi-Fi сеть использует защиту WPA2-PSK с предустановленным паролем. В этом случае содержимое network-config максимально простое:

version: 2
wifis:
  all-wlans:
  match: {}
  access-points:
    network_ssid:
    password: "wifi_password"

где network_ssid - это SSID нашей Wi-Fi сети и wifi_password - пароль. Используйте вместо этих значений, те, которые прописаны в вашем Wi-Fi роутере.

На этом первичная настройка завершена.

Дополнительно, можно изменить данные о пользователе по-умолчанию (ubuntu:ubuntu). Эти данные можно изменить в файле user-data, который расположен там же, где и файл network-config.

Запуск системы

Вставьте флеш-карту в малинку и подключите питание. На этом этапе в процессе первого запуска применятся все настройки и устройство подключится к нашей Wi-Fi сети.

Узнать IP-адрес нашего устройства можно через Web-интерфейс роутера и там же можно зарегистрировать наше устройство закрепив за ним статический IP-адрес.

Замечание: Большинство современных роутеров позволяют регистрировать устройства с указанием статического IP-адреса, при этом на самих устройствах нет необходимости создавать статическую конфигурацию сети и можно использовать DHCP.

При первом подключении по ssh система предложит изменить пароль пользователя. После чего нужно будет повторно подключиться.

На этом этапе система автоматически обновит базовые службы и пакеты, поэтому не стоит сразу выключать устройство. Обычно это занимает около 5-10 минут (по крайней мере, я столкнулся с этим, попытавшись самостоятельно произвести обновление пакетов).

В первую очередь желательно обновить систему:

> sudo apt update

> sudo apt upgrade

> sudo apt autoremove

После этого можно завершить работу системы:

> shutdown -P now

и подключить карту памяти к ноутбуку - удалить файл ssh и удалить параметры сети в файле network-config (в силу их неактуальности, а также из соображений безопасности). При последующем запуске мы имеем готовую к работе систему.

 Т. к. мы использует плату с 4ГБ ОЗУ, убедимся, что системе доступна вся имеющаяся память. Сущестует несколько способов проверить это и самый простой способ:

> less /proc/meminfo


 Как видно, в распоряжении системы все 4ГБ памяти. На этом всё.

В следующей статье, посвящённой Raspberry Pi, разберёмся как установить Node.js и ADONE.

Комментарии
1
false
false
true
Удалить
Изменить