Инструменты кастомизации Linux для Raspberry Pi

Этим летом я разослал больше 500 писем тем, кто кастомизирует дистрибутивы Linux для проектов на базе Raspberry Pi. Получив около 100 ответов, я выделил три самых распространенных причины для кастомизации операционной системы:

Причина первая - убрать лишнее
“В своей сборке я хочу отключить установку больших пакетов, которые я никогда бы не запускал на Raspberry Pi, например, офис, игры и т.п.”, – вот что люди чаще всего говорят о причинах создания собственного образа для Raspberry Pi. И дело не в уменьшении размера образа, а в том, что люди просто не хотят держать неиспользуемые пакеты на своём устройстве.

Те, кто беспокоится о безопасности, отключают или удаляют неиспользуемые сервисы. Чем меньше запущенных сервисов в системе, тем меньше потенциальных уязвимостей, которыми может воспользоваться злоумышленник.

“Чем меньше пакетов установлено в системе, тем меньше запущенных в фоне программ и тем меньше операций записи на SD-карту”. Я никогда не задумывался об этом, но ведь действительно, уменьшение количества операций записи продлевает срок службы SD-карты. Изначально SD-карты были рассчитаны на хранение фотографий, а не на использование их в качестве хранилища корневого раздела операционной системы.

Причина вторая - упростить установку
Разработчики RetroPie, FreedomBox и других проектов с открытым исходным кодом подготавливают специальные сборки с предустановленным ПО для конечных пользователей. К примеру, раньше установка RetroPie на Raspberry Pi отнимала два часа, а сегодня, благодаря образу с предустановленным RetroPie это занимает десять минут. Чем проще процесс установки, тем больше пользователей пользуются приложением.

Разработчики ПО на заказ подготавливают сборки, чтобы конечным пользователям было проще начать работу с системой. Такой подход снижает стоимость внедрения проекта, и разработчику не нужно ехать в другой город, чтобы развернуть систему.

Причина третья - узнать новое
Некоторым просто нравится собирать операционные системы вручную. Они экспериментируют и таким образом каждый раз узнают для себя что-то новое: об архитектуре ARM, о ядре Linux, о debootstrap и т.д.

Теперь расскажу о трёх инструментах кастомизации ОС для Raspberry Pi, но на самом деле их намного больше.

rpi23-gen-image
Консольная программа для создания образов с операционной системой Debian для Raspberry Pi 2 и Raspberry Pi 3. Принимает сотню параметров для конфигурации создаваемого образа, например:
RELEASE=stretch RPI_MODEL=3 PASSWORD=12345 APT_INCLUDES=mc,vim  IMAGE_NAME=myimage.img ./rpi23-gen-image.sh
Создает минимальный образ myimage.img c Debian Stretch для Raspberry Pi 3 и устанавливает туда утилиты mc и vim. Пароль суперпользователя будет 12345. Полный список параметров смотрите здесь.

По умолчанию, rpi23-gen-image скачивает последнюю версию ядра Linux от разработчиков Raspberry Pi и кросскомпилирует под ARM. Разработчики предусмотрели 18 параметров для управления ядром, на случай, если стандартное поведение вам не подойдёт.

Чтобы воспользоваться скриптом нужна операционная система на базе Debian или его производных (Ubuntu, Linux Mint и пр.).

PiBakery
PiBakery не создаёт образы с нуля в отличие от rpi23-gen-image, а используется для модификации уже существующих образов Raspbian. С помощью PiBakery невозможно перекомпилировать ядро, но в интуитивно-понятном графическом интерфейсе программы очень просто задать пароль суперпользователя и прописать настройки WIFI. 27 различных блоков с настройками сгруппированы на панели справа. Каждый блок это команда, которая будет выполнена после запуска операционной системы на Raspberry Pi, а поля ввода на блоках это параметры команд. Блоки объединяются в цепочки перетаскиванием из панели слева в рабочую область справа.

blocks-on-workspace.png

Операционная система последовательно выполнит команды из цепочки On First Boot(на скриншоте выше) при первом запуске, и будет выполнять команды из цепочки On Every Boot при каждой загрузке образа. Разработчик PiBakery рекомендует кастомизировать только официальные образы Raspbian. 

PiBakery работает на компьютерах под управлением Windows, macOS и Linux(установка из исходников).

CusDeb
Онлайн конструктор образов для одноплатных компьютеров. Под капотом образы собираются с помощью rpi23-gen-image, но скоро перейдём на собственный скрипт под названием Pieman, чтобы не ограниваться Raspberry Pi, а собирать образы для других одноплатных компьютеров.

packages.png

Для создания образа в CusDeb нужен только браузер. Пошаговый интерфейс предлагает выбрать операционную систему (Debian Jessie или Debian Stretch), выбрать целевое устройство (Raspberry Pi 2 или Raspberry Pi 3), выбрать нужные пакеты, создать пользователей и ещё пару настроек (часовой пояс, имя хоста и т.п.). Затем образ собирается на сервере и после сборки доступен для скачивания.

В этом посте я назвал три распростанённые причины, по которым люди кастомизируют операционные системы для Raspberry Pi, а так-же кратко рассказал о трёх инструментах кастомизации. Буду рад узнать ваше мнение об этом в комментариях.

Я могу быть полезен, если вам нужен кастомизированный образ на базе Linux для Raspberry Pi

Комментарии:

veter900
а как совместить две платы расбери пи 3,что бы работала как одна плата и было к примеру 8 ядер и плюс 2 гига оперативки
mshock
Люди объединяют несколько Raspberry Pi в такие (или такие) кластеры, но они не будут работать как одна плата с общей памятью. Это делается для распределённых вычислений...
veter900
есть ли на расбери пи 3 под управлением расбиан,ассистент на русском, типа дуси,и что бы прописывать можно было команды, есть ли программа для видео наблюдения, но что бы, при помощи серво моторов и через датчик слежения или лазер, можно было следить автомотически за движением человека???
mshock
Видеонаблюдение на Raspberry Pi - очень популярная тема, для этого разработана даже специализированная ОС, MotionEye. Один из примеров использования описан здесь.
veter900
как подключить  расбери пи 3, под управлением расбиан, к примеру к автомобилю и провести диагностику авто и сделать под управлением расбиан заставку для авто ,как подключить анти радар?
mshock
В журнале LinuxFormat № 228 (2017.10) есть статья "AutoPi, донгл датский...", где говорится:  "На основе платы Raspberry Pi Zero датский стартап AutoPi.io разработал приставку [dongle], которая подключается к диагностическому разъему ODB II и может быть запрограммирована для отправки предупреждений, отслеживания местоположения автомобиля, контроля за его эксплуатационными параметрами."

Для написания комментариев необходимо зарегистрироваться