воскресенье, 2 августа 2015 г.

Собери свой собственный дистрибутив Linux

Оригинал: BUILD YOUR OWN LINUX DISTRO 
Автор: Ben Everard 
Дата публикации: 23 апреля 2015 года 
Перевод: А. Кривошей 
Дата перевода: июль 2015 г.


На сегодняшний день существует несколько сотен активно развивающихся дистрибутивов Linux всех цветов и размеров. Но нет ни одного точно такого же, как установлен на вашем компьютере, так как вы скорее всего настраивали его под свои предпочтения. Вы потратили определенное время на то, чтобы установить или удалить программы, изменить внешний вид и так далее.
Было бы неплохо преобразовать свою точно настроенную в соответствии со своими потребностями систему в Live дистрибутив? Вы сможете носить ее с собой на флешке, или устанавливать на другие компьютеры.
Существуют различные инструменты для создания собственного дистрибутива. Мы начнем с наиболее простого в использовании, но предлагающего ограниченное количество опций настройки, и потом перейдем к более сложным, которые позволяют тонко настроить каждый аспект дистрибутива.


Быстрое создание своего собственного Ubuntu

Подходит также для mumbuntu и dadbuntu.
За долгие годы, прошедшие с момента выхода первого релиза Ubuntu, было придумано множество утилит, позволяющих создать собственную версию Ubuntu. Отчасти этим объясняется существование огромного количества его производных. Хотя большинство их быстро забрасывают, Ubuntu Customisation Kit (UCK) жив до сих пор.
Вы можете установить UCK в Ubuntu или любом другом дистрибутиве на его базе, например в Linux Mint. Утилита есть в официальных репозиториях, поэтому вы можете установить ее с помощью пакетного менеджера. Далее, вам понадобится ISO-образ того дистрибутива, который вы хотите изменить. Чтобы упростить этот процесс, желательно использовать образ дистрибутива, включающий графическую оболочку, которую вы собираетесь задействовать. Например, если вы хотите использовать в своем дистрибутиве локализированный декстоп Gnome, лучше использовать образ Ubuntu Gnome, а не стандартного Ubuntu. Если вы работаете на 32-битной машине, образ должен быть собран для архитектуры i386. Однако если у вас 64-битная система, вы можете настраивать 32-битный образ.
После запуска UCK вы увидите приветствие и информацию о требуемом дисковом пространстве, затем мастер, который будет управлять дальнейшим процессом. На первом этапе необходимо будет выбрать язык для вашего дистрибутива вместе с языком загрузочного меню (убедитесь, что дистрибутив на базе которого вы собираете свою систему, поддерживает эти языки).
После выбора языка необходимо указать графическое окружение дистрибутива. UCK позже скачает для него файлы локализации, основываясь на вашем выборе языка. Затем необходимо будет указать местонахождение образа дистрибутива Ubuntu, который вы будете настраивать.
Затем UCK запросит у вас имя вашего дистрибутива и спросит, хотите ли вы вручную настроить свой дистрибутив. Если вы ответите положительно, откроется окно терминала, в котором корневая директория будет изменена на окружение сборки вашего дистрибутива. На последней стадии UCK предложит вам опцию удаления из вашего дистрибутива всех относящихся к Windows файлов, и создания гибридного ISO-образа диска, который можно прожечь на болванку, или скопировать на USB-флешку. После этого UCK распакует образ диска и скачает файлы локализации. Затем, вы сможете настроить дистрибутив вручную, если ранее выбрали эту опцию. Опция "Run Console Application" запустит окно терминала с оболочкой root.
UCK

Продвинутые настройки

В этом окне вы можете использовать менеджер пакетов apt-get для удаления и установки приложений. Например, вы можете установить поддержку мультимедиа с помощью apt-get install ubuntu-restricted-extras. Если ваш дистрибутив предназначен для использования на слабых машинах, вы можете удалить LibreOffice:
$ apt-get remove --purge libreoffice* /
и заменить его на AbiWord:
$ apt-get install abiword
Если вы хотите поместить на рабочий стол ярлыки для ваших программ, сначала создайте директорию Desktop:
$ mkdir -p /etc/skel/Desktop
Теперь вы можете скопировать туда ярлыки для всех установленных приложений:
$ cp /usr/share/applications/firefox.desktop /etc/skel/Desktop
и затем сделать их исполняемыми:
$ chmod +x firefox.desktop
Если вы хотите изменить обои для рабочего стола, откройте файл /usr/share/glib-2.0/schemas/10_ubuntu-settings.gschema.override в текстовом редакторе и измените параметр picture-uri на путь к вашему изображению:
picture-uri='file:///usr/share/backgrounds/Partitura_by_Vincijun.jpg' /
Аналогично вы можете изменить тему и иконки, отредактировав соответствующие параметры в этом файле. Например, если вы хотите заменить тему Ambiance на Radiance и использовать набор иконок HighContrast:
[org.gnome.desktop.interface]

gtk-theme="Radiance"icone-theme="HighContrast"...[org.gnome.desktop.wm.preferences]theme="Ambiance"
После редактирования этого файла не забудьте скомпилировать модифицированные темы оформления:
$ glib-compile-schemas /usr/share/glib-2.0/schemas
Вы таже можете копировать файлы на свой live CD. Для этого запустите еще один терминал и перейдите в директорию ~/tmp/remaster-root/, которая является корневой для нашего live CD. Например, вы хотите скопировать определенные ярлыки и папки в Desktop:
$ sudo cp -r ~/Documents/README.txt ~/remaster-root/etc/skel/Desktop
После завершения закройте терминал chroot и выберите опцию "Continue Building" в мастере UCK. Теперь начнется сборка вашего нового дистрибутива.

Системы быстрой сборки дистрибутивов

Сборка дистрибутива в браузере с помощью SUSE Studio

SUSE Studio - это наверное самый простая система для создания собственного дистрибутива. Она графическая и работает в браузере. Вам нужен только веб-браузер и подключение к интернету. С помощью SUSE Studio вы можете создавать полнофункциональные десктопные дистрибутивы, серверные системы, или дистрибутивы, заточенные под какую-либо узкую область применения. В веб-интерфейсе вы можете добавлять пользователей, настраивать список приложений и даже настраивать внешний вид и добавлять файлы.
Перейдите на сайт SUSE Studio на www.susestudio.com и создайте аккаунт. Или вы можете авторизоваться с помощью любого провайдера OpenID, например Google, Yahoo, Twitter, Facebook и так далее. После авторизации нажмите ссылку "Create New Appliance" на панели.
Перед тем, как начать сборку своего дистрибутива, необходимо выбрать один из предлагаемых шаблонов. Эти шаблоны помогут вам наполнить дистрибутив основным набором пакетов. Есть шаблоны для последнего и предыдущего релизов OpenSUSE, OpenSUSE 13.1, OpenSUSE 12.3, а также для дистрибутива SUSE Linux Enterprise. Если у вас нет лицензии на SLES, вы можете строить свой дистрибутив на базе любого из шаблонов OpenSUSE.
Для сборки минималистичной системы идеален шаблон Just enough OS (JeOS). Кроме того, есть шаблон Server, на базе которого можно собрать консольный серверный дистрибутив. И наконец, есть шаблоны, которые помогут вам настроить дистрибутив на базе Gnome 3 или KDE 4. После выбора шаблона, в нижней части страницы выберите архитектуру процессора. Кликните кнопку "Create Appliance" для создания базового образа, который послужит основой вашего дистрибутива.
SUSE Studio
Вы можете протестировать свой образ, запустив дистрибутив непосредственно в браузере в среде TestDrive перед тем, как скачивать его.
Теперь вы находитесь в главном окне вашего окружения с набором вкладок, которые призваны помочь вам в настройке различных аспектов вашего дистрибутива. В первой вкладке под названием "Software" вы выбираете пакеты. Здесь вы увидите список активированных репозиториев и список программ, которые уже установлены в вашей системе. Они зависят от выбранного вами шаблона.
Для поиска и установки дополнительных программ из репозиториев используйте поле "Find". Добавление найденного пакета в состав дистрибутива производится с помощью кнопки "+add". SUSE studio автоматически проверит и добавит все зависимости. Если добавленный вами пакет конфликтует с уже включенным в дистрибутив, вы можете выбрать, какой из них удалить. Если вы хотите добавить свои программы, которых нет в репозиториях, вы можете добавить RPM-файлы.
Кроме того, если программа, которая вам нужна, отсутствует в системных репозиториях, вы также можете добавить добавить дополнительные репозитории с помощью опции "Add Repositories", после чего они будут проиндексированы SUSE Studio, и вы сможете искать в них пакеты.

Персонализация

Основная часть настроек скрывается во вкладке "Configuration". Эта вкладка, в свою очередь, разделена на семь секций для настройки различных аспектов вашего дистрибутива. В секции "General" вы можете локализовать дистрибутив, выбрать раскладку клавиатуры и часовой пояс. Вы также можете здесь указать, как настроить сеть (если не знаете этих тонкостей, всегда выбирайте DHCP), активировать брандмауэр и открыть порты для удаленного доступа. Кроме того, здесь вы можете добавить пользователей или группы. В секции "Personalise" вы можете выбрать обои рабочего стола и логотип для дистрибутива, или загрузить свои.
Секцию "Server" вы в большинстве случаев можете пропустить, так как здесь вы можете только добавить данные для сервера PostgreSQL или MySQL. Аналогично, секция "Appliance" вам понадобится только в том случае, если ваш дистрибутив предназначен для запуска в виртуальной машине. В то же время секция "Desktop" будет полезной большинству пользователей, так как здесь вы можете включить автоматическую авторизацию в системе и выбрать приложения для автозагрузки.
Если вы считаете себя опытным пользователем, то можете посмотреть секцию "Scripts". Здесь вы можете задать скрипты, которые будут запущены после окончания сборки системы, а также те, которые будут запускаться при каждой загрузке дистрибутива.
Закончив с вкладкой "Configuration", перейдите на вкладку "Files", где вы можете добавить в дистрибутив любые файлы или архивы. Все файлы изначально добавляются в корневую директорию, но после того, как они будут загружены на сервер, вы сможете указать место их размещения.
Теперь, когда вы закончили с настройками, самое время попросить SUSE Studio конвертировать ваш дистрибутив в какой-нибудь устраивающий вас формат. Во вкладке "Build" вы увидите набор опций для преобразования дистрибутива в различные форматы. Вы можете, например, создать Live ISO-образ для оптических приводов и USB-флешек, а также образы для различных систем виртуализации, включая KVM, VirtualBox, VMware, Xen и т.д. Чтобы создать традиционный установочный образ, выберите опцию " Preload ISO (.iso)".
После выбора формата нажмите кнопку "Build" для запуска сборки вашего дистрибутива, которая займет несколько минут. Если вы выбирали дополнительные форматы, кликните кнопку "Build Additional", чтобы получить образы в других форматах. Также SUSE Studio присвоит вашему дистрибутиву номер версии. При каждой модификации дистрибутива номер версии будет увеличиваться, а также будет генерироваться лог изменений.
После сборки образа вы можете протестировать его прямо в браузере с помощью опции "Testdrive". Если все в порядке, скачайте образ с помощью опции "Download". Вы можете также расшарить свой дистрибутив для других пользователей SUSE Studio на вкладке "Share" с описанием его особенностей.
SUSE Studio имеет очень низкий порог входа и может использоваться практически любым пользователем, независимо от его уровня знаний Linux. Большая часть тяжелых и занимающих много времени процессов, таких как поиск пакетов и сборка дистрибутивов, осуществляется на удаленных серверах SUSE. Вы можете также удаленно тестировать собранные образы и загружать только те, что удовлетворяют вашим требованиям. Кроме того, система сохраняет ваши настройки и вы можете изменять их без труда.

Создание собственного установочного образа Ubuntu

Если вам нужно установить Ubuntu с одним и тем же набором программ на большое количество компьютеров с похожими храрктеристиками, например в лаборатории или в классе, вы можете сэкономить свое время, создав образы для автоматической установки. Сервис www.instalinux.com похож на SUSE Studio, но вместо полнофункциональных дистрибутивов на базе OpenSUSE он создает небольшие ISO-образы, которые предназначены для развертывания готовых к использованию Linux-машин путем автоматического скачивания и установки пакетов.
Сервис работает с использованием скриптов SystemDesigner CGI из проекта Linux Common Operating Environment (http://linuxcoe.sourceforge.net). Интерфейс проведет вас через процесс сборки, состоящий из тех же этапов, что и установка дистрибутива, то есть выбор раскладки клавиатуры, часового пояса, пароля для root, пакетов, разметка диска и т.д. После этого создается установочный образ небольшого (около 30 Мб) размера.

Другие онлайновые сборщики дистрибутивов

SUSE Studio - не единственный веб-сервис для создания дистрибутивов linux. Debian Builder (http://live-build-cgi.debian.net/cgi-bin/live-build) на хостинге проекта Live Systems предоставляет инструменты для создания официальных образов Debian. Он позволяет создавать базовые образы для сетевой установки без X сервера, а также гибридные ISO-образы для загрузки с USB.
Вы можете быстро создать базовый диск, выбрав требуемые вам опции, в том числе ветвь Debian (Wheezy, Jessie, Sid) и предопределенный набор пакетов (Gnome Desktop, KDE Desktop, Mate Desktop, Rescue и т.д).
Продвинутые пользователи могут также работать с дополнительными опциями. Вы можете указать архитектуру сборки, файловую систему окружения chroot, загрузчик, и многое другое. Система уведомит вас по электронной почте, что ваш образ готов для скачивания.
Также есть Porteus Wizard (http://build.porteus.org). Porteus - это небольшой дистрибутив на базе Slackware. Используя простой, но мощный веб-интерфейс, вы можете собрать свою версию Porteus, выбрав графическое окружение (KDE4, Mate, LXDE, Xfce) и программы, включая веб-браузеры (Firefox, Chrome, Opera), текстовые процессоры (LibreOffice, AbiWord), клиент VoIP (Skype), графические драйвера для видеокарт Nvidia и AMD Radeon и так далее. Вы также можете настроить продвинутые параметры загрузки, например заданный размер раздела tmpfs, или активацию модуля ядра zram.

Создание дистрибутивов на базе Fedora Linux

Если вы живете в мире RPM и являетесь адептом Fedora, вы можете собрать собственный дистрибутив с помощью утилиты livecd-creator. Это набор скриптов, имеющийся в официальных репозиториях Fedora. В отличие от UCK, livecd-creator работает исключительно в командной строке, а все пакеты, необходимые для сборки дистрибутива, скачиваются из интернета.
Скрипты используют для сборки файлы Kickstart. Если вы о них еще не слышали, Kickstart представляет собой простой текстовый файл, содержащий список инструкций, в соответствии с которыми livecd-creator компилирует ваш дистрибутив.
Чтобы облегчить себе жизнь, вы можете скачать файлы Kickstart для нескольких разновидностей Fedora, установив из репозиториев пакет spin-kickstarts, после чего эти файлы будут лежать у вас в директории /usr/share/spin-kickstarts. Вы можете настраивать свой дистрибутив, просто редактируя один из этих файлов в текстовом редакторе. Изучить их синтаксис более подробно можно в Fedora wiki (http://fedoraproject.org/wiki/Anaconda/Kickstart).
Можно также сэкономить себе время, установив утилиту Kickstart Configurator.
$ yum install system-config-kickstart
Эта программа предлагает простой графический интерфейс для создания файла Kickstart.
Kickstart Configurator
Вы можете задать требуемые вам пакеты, перечисляя их в секции %packages. Вместо отдельных пакетов здесь также можно добавить определенные группы пакетов, например gnome-desktop. Вы также можете указывать здесь пакеты из других файлов Kickstart, задавая их имя и расположение с параметром %include:
%include /usr/share/spin-kickfedora-live-base.ks
Если вам нужно после загрузки дистрибутива запустить на выполнение какую-либо команду, например для настройки сети, необходимо задать ее в секции %post. Например, если вы хотите автоматически запускать Firefox, можете поместить его ярлык в папку ~/.config/autostart, добавив в секцию %post следующие строки:
%post

# autolaunch Firefoxmkdir -p /etc/skel/.config/autostartcp /usr/share/applications/firefox.desktop /etc/skel/.config/autostart/%end

Убедитесь, что конец секций %packages и %post обозначен с помощью %end. Если вы хотите запустить какую-либо команду за пределами своего live-окружения, например скопировать файлы хоста в свой дистрибутив, добавьте параметр -nochroot в секцию %post, как показано ниже:
%post --nochroot

#copy resolv.conf from host to the custom distrocp /etc/resolv.conf $LIVE_ROOT/etc/%end
Переменная $LIVE_ROOT указывает на live-окружение. Аналогичным способом вы можете копировать файлы с хоста в свое live-окружение, например:
$ cp -r /home/bodhi/Music $LIVE_ROOT/
Если вы используете графическую утилиту для задания репозиториев, вы должны вручную добавить в файл Kickstart одну важную строку. Она указывает на список зеркал для репозитория Fedora (а также содержит информацию о версии и архитектуре сборки), откуда будут скачиваться пакеты. Например, если вы хотите получать пакеты для 64-битной Fedora 21, эта строка будет иметь следующий вид:
repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-21&arch=x86_64
После того, как вы закончили с файлом Kickstart, откройте его с помощью livecd-creator для сборки дистрибутива. Предположим, файл сохранен в ~/custom-kickstarts/Custom-Fedora.ks, тогда команда будет иметь вид:
$ sudo livecd-creator

--config=/home/bodhi/custom-kickstarts/Custom-Fedora.ks--fslabel=FedoraUltimate--cache=/var/cache/live--verbose
Ключ -fslabel задает имя вашего дистрибутива. После выполнения всех инструкций в файле Kickstart утилита собирает ISO-образ вашего дистрибутива, который сохраняется в вашей домашней директории.

Создание собственного дистрибутива для Raspberry Pi

Raspbian
New Out Of the Box Software, или NOOBS - это официальный инсталлятор для Raspberry Pi. Он упрощает и стандартизирует процесс установки дистрибутивов на Raspberry Pi. Хотя главной целью создания NOOBS является упрощение установки операционных систем на Pi, эта утилита может также использоваться для создания собственных дистрибутивов.
Сначала скачайте инсталлятор NOOBS с сайта и установите его в любом поддерживаемом дистрибутиве, на основе которого вы хотите сделать свою систему. Мы советуем использовать дистрибутив Raspbian, который рекомендуется и создателями NOOBS.
После установки и загрузки Raspbian вы можете вносить в него свои изменения. Например, вы можете изменить обои рабочего стола и сменить тему с помощью утилиты командной строки obconf, а также установить дополнительные темы с помощью команды:
$ sudo apt-get install openbox-themes
Вы также можете устанавливать или удалять с помощью apt-get, или установив графический менеджер пакетов Synaptic.
Вы можете скопировать в этот дистрибутив Raspbian любые файлы.NOOBS позволяет создать раздел размером 512 Мб, в котором вы будете хранить свои файлы. Или вы можете воспользоваться командой raspi-config, чтобы расширить корневой раздел на всю SD-карту.
$ raspi-config
Кроме того, не забудьте настроить работу с сетью. Например, вы можете настроить беспроводный адаптер для подключения к вашей точке доступа Wi-Fi, а также доступ к различным сетевым службам.
После завершения настройки дистрибутива необходимо упаковать его в архив. Перейдите в корневую директорию с помощью команды cd / и выполните следующую команду:

$ sudo tar -cvpf root.tar /bin /boot /cdrom /dev /etc /home /initrd.img /initrd.img.old /lib /lib64 /media /mnt /opt /proc /root /run /sbin /srv /sys /tmp /usr /var /vmlinuz /vmlinuz.old --exclude=proc/* --exclude=sys/* --exclude=dev/pts/*

Упаковка займет примерно полчаса, в зависимости от количества сделанных вами изменений.
Теперь у вас есть файл root.tar в корневой директории. Аналогично упаковываем загрузчик. Сначала переходим в директорию boot.
$ cd /boot
Затем создаем архив.
$ tar -cvpf boot.tar
Это не займет много времени. Теперь у вас есть файл boot.tar в директории boot.
NOOBS требует сжатые версии этих файлов. Но у Raspberry Pi недостаточно ресурсов для сжатия этих файлов, поэтому вам необходимо переместить их на PC и сжать с помощью команд xz -9 -e boot.tar и xz -9 -e root.tar. При этом исходные файлы будут заменены на их сжатые версии, boot.tar.xz и root.tar.xz соответственно.
Теперь отформатируйте SD-карту и разверните на ней свежую копию NOOBS. С помощью файлового менеджера перейдите в директорию os, которая, в свою очередь включает множество директорий, в каждой из которых имеются файлы для одного из поддерживаемых дистрибутивов, включая Arch, Pidora, Raspbian и других. Так наш дистрибутив сделан на базе Raspbian, мы можем удалить все другие директории. Назовите директорию Raspbian именем, которым вы хотите назвать свой дистрибутив.
Перейдите в эту директорию и откройте файл os.json в текстовом редакторе. Заметите текст рядом с полями name и description на свой. Удалите файл flavours.json.
И наконец, удалите имеющиеся в этой директории файлы root.tar.xz и boot.tar.xz, заменив их на свои. Это все. Теперь загрузите Pi с этой карты.

Сборка пользовательского дистрибутива на базе Arch с нуля

Если у вас хватит терпения собрать собственный дистрибутив с нуля, вы должны собирать его поверх Arch Linux. Подход создателей этого дистрибутива позволяет пользователю полностью настраивать свою рабочую среду и делает его идеальной платформой для разработки пользовательских систем.
Вы можете создать пользовательский дистрибутив на базе Arch с помощью утилиты командной строки Archiso, которая представляет собой набор скриптов Bash и достаточно сложна в освоении, но при этом дает вам полный контроль над конечным результатом.

Настройка среды для сборки дистрибутива

Первое, что вам нужно для сборки - это установленный дистрибутив Arch. Инструкций по его инсталляции в сети более чем достаточно, поэтому здесь мы не будем описывать этот процесс.
После установки Arch настройте его в соответствии со своими нуждами. Установите дополнительные пакеты, смените обои и темы оформления, и настройте другие аспекты системы, например сеть. Позже мы скопируем все эти изменения из установленного экземпляра Arch в тот, который мы будем собирать.
После того, как вы настроите свой дистрибутив, откройте терминал и установите зависимости для Archiso:
$ pacman -S make squashfs-tools libisoburn dosfstools patch lynx devtools git
Теперь скачайте последнюю версию пакета archiso из репозитория Git с помощью команды:
$ git clone git://projects.archlinux.org/archiso.git
Она скопирует файлы в директорию ~/archiso. Перейдите в эту директорию и установите утилиту с помощью команды make install. После окончания установки вы можете без всяких опасений удалить директорию ~/archiso. Далее, создадим директорию, в которой мы будем настраивать файлы для нашего будущего дистрибутива:
$ mkdir ~/archlive
Убедитесь, что у вас достаточно свободного дискового пространства для размещения всех приложений, которые вы хотите установить, а также любых других файлов, которые вы решите поместить в свой дистрибутив.
Теперь вам нужно скопировать один из двух профилей Archiso. Профиль baseline хорош для создания базовой live-системы без предустановленных пакетов. Мы будем использовать профиль releng, который позволяет создать полностью настроенный под свои нужды Arch Linux с предустановленными приложениями. Для использования этих скриптов просто скопируйте их в директорию ~/archlive:
$ cp r /usr/share/archiso/configs/releng/ ~/archlive/
Archiso

Добавление пакетов

Добавлять пакеты в ISO-образ с помощью Archiso также просто, как добавлять их в текстовый файл, по одному пакету на строку. В директории ~/archlive у нас три файла: packages.i686, packages.x86_64 и packages.both. Вы можете открыть их в текстовом редакторе и добавить названия пакетов, которые вы хотите включить в дистрибутив. Archiso будет считывать содержимое файла для соответствующей архитектуры и затем упаковывать их в образ, который будет работать как на 32-х, так и на 64-битных машинах. Тем не менее, для обеспечения согласованности, мы рекомендуем вам добавлять название пакетов в файл packages.both, чтобы они были доступны для обеих архитектур.
Файл packages.both уже содержит определенный набор пакетов. Вы должны оставить их там, и добавлять свои пакеты в конец файла. Вы можете вывести список всех установленных в системе пакетов с помощью команды:
$ pacman -Qqe
И затем скопировать те, которые вам нужны. Вы можете создать базовую систему с рабочим столом Mate, менеджером входа в систему и браузером Firefox, добавив в файл packages.both следующие пакеты:
xorg-server
xorg-xinit
xorg-server-utils
xf86-video-vesa
slim
mate
firefox
Вы также можете скопировать в файл packages.both все пакеты, установленные в системе, с помощью команды:
$ pacman -Qqe >> ~/archlive/packages.both

Настройка корневой директории

Директория airootfs внутри ~/archlive/ служит оверлеем для того, что будет находиться в корневой директории нового дистрибутива. Любые файлы, которые вы поместите в эту директорию, будут добавлены в файловую систему дистрибутива, поэтому, если вы используете менеджер входа Slim, скопируйте его конфигурационный файл:
$ cp /etc/slim.conf ~/archlive/airootfs/etc/
Аналогично, вам необходимо скопировать файл /etc/systemd/system/display-manager.service в соответствующее место внутри ~/archlive/airootfs/, а также директории, в которых хранятся темы оформления, а именно /usr/share/backgrounds, /usr/share/icons и /usr/share/themes.
Если вы хотите, чтобы новый дистрибутив имел тот же набор пользователей, скопируйте соответствующие файлы:
$ cp /etc/{shadow,passwd,group} ~/archlive/airootfs/etc/
Перед тем, как копировать любые файлы из домашней директории пользователя, необходимо создать директорию skel:
$ mkdir ~/archlive/airootfs/etc/skel
Эта директория отображает домашнюю директорию пользователя во время подготовки системы. Теперь вы можете копировать файлы из домашней директории:
$ cp ~/.bashrc ~/archlive/airootfs/etc/skel/
Таким образом, вы можете скопировать любые файлы или папки из своей домашней директории в директорию skel, включая ~/.xinitrc и ~/.config.
Для того, чтобы автоматически авторизовываться в системе от имени обычного пользователя, а не root, откройте файл ~/archlive/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf в текстовом редакторе и отредактируйте следующую строку:
$ cp ~/.bashrc ~/archlive/airootfs/etc/skel/
ExecStart=-/sbin/agetty --autologin bodhi --noclear %I 38400 linux
Замените bodhi на свое имя пользователя.

Заключительные настройки

В домашней директории root (~/archlive/airootfs/root) есть файл customize-root-image.sh. Любая задача по администрированию систему, которую вы хотели бы выполнять после установки Arch, может быть добавлена в этот файл. Помните, что инструкции в этом файле должны составляться для нового окружения, то есть / в скрипте должна относиться к корневой директории собираемого дистрибутива.
Откройте файл в текстовом редакторе, найдите строку с /etc/localtime и задайте свой часовой пояс:
$ ln -sf /usr/share/zoneinfo/Europe/London /etc/localtime
Также убедитесь, что в качестве командной оболочки установлен Bash:
$ usermod -s /usr/bin/bash root
Затем скопируйте содержимое директории skel в свою пользовательскую домашнюю директорию:
$ cp -aT /etc/skel/ /home/bodhi/
и задайте правильного владельца этих файлов:
$ chown bodhi:users /home/bodhi -R
В двух последних командах замените bodhi на свое имя пользователя.
Наконец, прокрутите страницу вниз, до конца файла, и закомментируйте все команды systemctl, добавив перед ними символ #. Чтобы загружаться в графический интерфейс, добавьте следующие строки для запуска всех нужных служб:
systemctl enable pacman-init.service choose-mirror.service

systemctl set-default graphical.targetsystemctl enable graphical.target
Это все. Теперь вам нужно собрать образ дистрибутива. Перейдите в директорию ~/archlive и запустите нижеприведенную команду для запуска процесса сборки:
$ ./build.sh -v -N EduArch -V 1.0 -L EduArch_1.0
Ключ -v включает режим вывода подробной информации о процессе, -N задает имя ISO-образа, -V задает версию, в а -L добавляет метку в сгенерированный ISO.
Обратите внимание, что процесс сборки достаточно медленный, и может занять до нескольких часов в зависимости от мощности вашего компьютера. После завершения вы найдете ISO-образ в директории ~/archlive/out.

Обновление образов

Через некоторое время после сборки образа вы захотите обновить его. Возможно выйдут новые версии приложений, или вам понадобится изменить какие-либо файлы, которые вы добавляли в образ вручную.
Для этого перейдите в директорию ~/archlive/work. Директории i686 и x86_64 внутри work содержат файловые системы для соответствующих архитектур. Вы можете сменить корневую директорию на одну из них с помощью команды:
$ arch-chroot ~/archlive/work/x86_64/root-image
или
$ arch-chroot ~/archlive/work/i686/root-image
Теперь, изнутри, вы можете делать любые обновления или изменения системы. Если вы хотите обновить приложения, то сначала обновите базу данных ключей пакетного менеджера и список пакетов:
$ pacman-key --init

$ pacman-key --populate
После чего можете обновить систему с помощью команды:
$ pacman -Syu
Сделав необходимые изменения, выйдите из окружения chroot.
$ exit
Не забудьте сделать эти изменения для обеих архитектур. Теперь необходимо заново собрать образ. Однако скрипт build.sh, так как мы уже в директории work. Чтобы заставить его все-таки собрать новый образ, откройте файл build.sh в текстовом редакторе. Перейдите в конец файла и удалите параметр run_once из начала команд make_prepare и make_iso:
for arch in i686 x86_64; do

make_preparedonemake_iso
Сохраните файл и запустите скрипт для создания образа:
$ ./build.sh -v -N EduArch -V 2.0 -L EduArch_2.0

Сборка дистрибутивов Linux для встраиваемых систем

Linux - это популярный выбор на рынке встраиваемых решений. Однако это поле занято различными специализированными встраиваемыми дистрибутивами Linux. Чтобы упорядочить этот рынок, Linux Foundation вместе с такими лидерами отрасли, как Intel, AMD, Freescale, Texas Instruments, Wind River и другими, создали проект Yocto.
Главной целью проекта является создание и распространение окружения и инструментов для создания и сборки встраиваемых дистрибутивов Linux. Проект поддерживает 32- и 64-битные встраиваемые архитектуры, такие как ARM, PPC и MIPS. С помощью этих инструментов разработчики могут собирать полнофункциональные системы Linux для встраиваемых устройств.
В помощь разработчикам проект предлагает программу Hob, которая представляет собой графический фронтенд к движку сборки проектов BitBake. Hob читает инструкции и, следуя им, скачивает пакеты, собирает их и компилирует результат в виде загрузочного образа. Вы можете установить его во всех популярных дистрибутивах, включая Fedora, Ubuntu, Debian, OpenSUSE и CentOS.
Для начала вы можете загрузить систему сборку с сайта проекта, используя git:
$ git clone -b daisy git://git.yoctoproject.org/poky.git

источник

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

Отправить комментарий