Создание собственного образа ОС Raspbian из исходного кода

15

ОБНОВЛЕНИЕ: Этот ответ был дан давно. Он не создаст Raspbian Jessie - он создаст то, на чем основан последний выпущенный имидж Raspberry Pi Foundation. На момент написания статьи это Raspbian Buster.


Я хочу сгенерировать собственный образ Raspbian Jessie (прежде всего, изменив интерфейс и добавив несколько дополнительных пакетов).

Таким образом, я взял изображение, предоставленное Фондом, изменил его «по факту», а затем взял резервную копию изображения с SD-карты, чтобы затем распространить. Очевидно, что это оставляет «отпечатки пальцев» на изображении и может также затруднить воспроизведение шагов, если это потребуется.

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

Какой самый простой способ создать пользовательскую версию Raspbian Jessie, которая будет подходящей для распространения? Buildroot, проект Yocto, OpenEmbedded? Как Фонд делает их имидж?

Инструменты, учебные пособия, документация и т. Д. Приветствуются - я действительно ищу точку отсчета, чтобы можно было работать с большей уверенностью.

Майк Робертс
источник
Я пытался сделать пакет для себя ... взял меня за неделю и ничего не получил. Возможно, из-за непонимания внутренних особенностей Linux, но я подозреваю, что клонирование образа может быть лучшим решением в вашем случае, тогда изменение файла образа после клонирования может оказаться лучшим решением.
Петр Кула
зайдите на susestudio.com и создайте свой собственный os / image для raspberry pi (0/2/3) или для компьютеров :) susestudio.com - самый простой способ !!!

Ответы:

13

С тех пор я узнал, что фонд Raspberry Pi использует этот репозиторий для создания своих изображений:

https://github.com/RPi-Distro/pi-gen

Это можно изменить, чтобы создать изображение по желанию.

Майк Робертс
источник
3

Вы пробовали Raspbian UnAttended NetInstaller ?
Без какой-либо настройки это приведет к установке очень простой системы, но вы можете настроить ее несколькими способами, подробнее об этом см. Https://github.com/debian-pi/raspbian-ua-netinst#installer-customization. ,
Кажется, наиболее интересной частью вашего варианта использования является сценарий настройки post-install.txt. Несмотря на то, что оно имеет .txtрасширение, оно получено из основного сценария установки и, следовательно, выполняется как сценарий, и вы можете (ab) использовать этот факт. И это не какой-то грязный взлом.

Дидерик де Хаас
источник
3

Что касается создания изображения, очевидным способом было бы просто создать его из пакетов. Смотрите здесь, если неясно, как структурированы изображения. Написание этого из списка источников, вероятно, проще, чем изучение чужого инструмента, который делает почти то же самое, тем более что изображения Pi немного необычны.

Что касается создания пакетов, то, как я думаю, вы знаете, Raspbian - это вариант Debian, который является наиболее широко клонированным дистрибутивом GNU / Linux; так начинали Ubuntu, Mint, Kali и т. д. (я думаю, что все они используют в своих репозиториях пакеты apt-get и актуальные пакеты Debian).

Вот пара вопросов от нашего более крупного одноуровневого Unix & Linux , у которых есть количество соответствующих ответов (поиск был custom debian image is:question):

Как создать .debs, используемый формат пакета, хорошо документировано с дальнейшими ссылками на их вики:

На самом деле, есть какое-то официальное руководство .pdf .

Златовласка
источник
-1

Я думаю, что если вы сможете скачать изображение с raspberrypi.org, настроить его, а затем просто скопировать весь SD-файл, например tar gz, или что-то в этом роде, разве это не лучший способ для вашей цели?

Я изучал этот http://www.linuxfromscratch.org/ несколько недель назад, но я был занят, поэтому никогда не вносил изменения, но это может помочь.

Роберто Оппельт Филю
источник
Я уже объяснил, что это то, чем я занимаюсь, и почему это нежелательно. Принятый ответ определенно все еще лучший.
Майк Робертс