Веб-интерфейс для создания образов для Raspberry Pi

Введение


Всем привет. Наконец наша небольшая команда снова дает о себе знать. На этот раз речь пойдет о системе кастомизации образов для Raspberry Pi онлайн под названием CusDeb. Последнее время, когда я пытаюсь рассказать как это работает, мне в голову в качестве аналогии приходит Subway. Когда я первый раз купил саб, меня поразила возможность еще до покупки продукта, указать те компоненты, из которых он будет состоять. Мне всегда казалось, что у нас должно быть в Debian и Ubuntu что-то похожее на «кастомизированные сэндвичи». Спустя несколько лет мы вернулись с друзьями к этой идеи и реализовали ее. Тем не менее, по какой-то причине люди до сих пор берут Raspbian и затачивают его под конкретную задачу уже на самой RPi, редактируя конфигурационные файлы, удаляя и устанавливая пакеты, как если бы они покупали универсальный саб и перед едой заменяли кетчуп на горчицу, тунец на бекон и добавляли красный лук и халапеньо.

Конечно, идея кастомизации Linux-подобных систем не нова. Существенная порция вдохновения к нам пришла от SUSE Studio, который появился аж в 2009.

Веб-интерфейс для создания образов для Raspberry Pi Raspberry pi, Начинающий, Устройство, Своими руками, Linux, Debian, Длиннопост

Этот сервис в основном ориентируется на виртуальные окружения, позволяя генерировать образы кастомизированных openSUSE и SUSE Linux Enterprise для различных систем виртуализации, хотя и не ограничивается этим. Мы, в свою очередь, решили сосредоточиться на одноплатных компьютерах и Debian-подобных дистрибутивах. В идеале я вижу CusDeb системой, которая предоставляет единый интерфейс для приготовления проблемно-ориентированной операционной системы для широкого круга одноплатных компьютеров. На данный момент у нас есть поддержка пока только двух моделей RPi (2 и 3) и двух выпусков Debian (Jessie и Stretch).


Первое знакомство с CusDeb


После регистрации вы попадете в панель управления, откуда сразу можно начать сборку образа. В будущем здесь можно будет найти все собранные образы. Также здесь в качестве эксперимента находится образ с уже готовым приложением – Nextcloud, которое позволяет создать домашнее облачное хранилище на базе Raspberry Pi 2 или 3. Этому приложению была посвящена другая статья на Пикабу.

Веб-интерфейс для создания образов для Raspberry Pi Raspberry pi, Начинающий, Устройство, Своими руками, Linux, Debian, Длиннопост

Основная движуха начинается после нажатия на «СОЗДАТЬ НОВЫЙ».

Веб-интерфейс для создания образов для Raspberry Pi Raspberry pi, Начинающий, Устройство, Своими руками, Linux, Debian, Длиннопост

На этом этапе нужно выбрать устройство, для которого необходим кастомизированный образ операционной системы, и дистрибутив, на базе которого этот образ будет построен. Наша задача в ближайшее время расширять эти два списка, чтобы сделать CusDeb более привлекательным для конечных пользователей. Как уже говорилось выше, CusDeb пока поддерживает только Debian Jessie и Debian Stretch, причем последний доступен только по подписке. После нажатия на кнопку «Далее» придется немного подождать, т.к. лично для вас необходимо создать персональное окружение, в рамках которого вы будете работать над своим будущим образом.

Кастомизация начинается с выбора пакетов. В основу будущего образа закладывается минимальная версия операционной системы, поэтому в ней нет ничего лишнего. Примечательно, что минимальная (или базовая) версия Debian Jessie состоит аж из 121 пакета, что не мало. Для сравнения, минимальная версия Debian Stretch состоит всего из 76 пакетов.

Веб-интерфейс для создания образов для Raspberry Pi Raspberry pi, Начинающий, Устройство, Своими руками, Linux, Debian, Длиннопост

Здесь мы явно заимствовали одну из крутейших фич SUSE Studio – список пакетов всего дистрибутива с возможностью разрешения зависимостей в реальном времени. Если вы выберите тот или иной пакет, то сразу увидите, какие пакеты добавятся в ваш образ в качестве зависимых, а также общее количество пакетов.

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

Веб-интерфейс для создания образов для Raspberry Pi Raspberry pi, Начинающий, Устройство, Своими руками, Linux, Debian, Длиннопост

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

Веб-интерфейс для создания образов для Raspberry Pi Raspberry pi, Начинающий, Устройство, Своими руками, Linux, Debian, Длиннопост

После того как вы убедились в том, что вы сделали все, что хотели на каждом шаге, нажмите кнопку «Собрать». После этого запустится достаточно долгий процесс сборки, который будет сильно зависеть от тех пакетов, которые вы добавили в свой образ. Кстати, лог сборки вы можете также наблюдать в реальном времени.

Веб-интерфейс для создания образов для Raspberry Pi Raspberry pi, Начинающий, Устройство, Своими руками, Linux, Debian, Длиннопост

Даже если вы закроете вкладку или окно браузера, после окончания сборки вам придет письмо на указанный при регистрации ящик со ссылкой на ваш образ. К сожалению, иногда сборка может упасть. Мы стараемся свести число таких случаев к минимуму, оперативно реагируя и исправляя баги. Однако, если ваша сборка все же завалилась, то вы также будете уведомлены об этом по электронной почте. В этом случае не стоит отчаиваться и терять энтузиазм. Мы починим сборщик, чтобы другие пользователи не столкнулись с теми же проблемами на той же конфигурации, которую использовали вы.


Как помочь проекту


Мы принимаем необработанные алмазы и золотые слитки, но помощь проекту простирается намного дальше, чем это. К примеру, расскажите пожалуйста

* какой фичи лично вам не хватает в CusDeb и почему не хватает именно ее;

* какие одноплатники вы бы хотели видеть в списке целевых устройств;

* в каких проектах (коммерческих и некоммерческих) вы используете одноплатники и какими вы пользуетесь инструментами.


Покупка Pro-подписки может считаться материальной поддержкой проекта.

Arduino & Pi

1.4K постов20.6K подписчиков

Добавить пост

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Выкладывать код прямо в посте - используйте для этого сервисы ideone.com, gist.github.com или схожие ресурсы (pastebin запрещен)

• Рассуждать на темы политики

• Нарушать установленные правила Пикабу