Как написать свою ос на линукс

Время на прочтение
7 мин

Количество просмотров 193K

Рано или поздно каждый пользователь Линукса задумывается над созданием собственного дистрибутива. Некоторые аргументируют это тем, что можно «все настроить под себя». Другие сетуют на то, что среди уже представленных дистрибутивов в Ветке нет идеального. А у них, якобы, есть суперконцептуальные идеи для собственной системы. Зачем я всю эту психологию затеял? Для того, чтобы сразу перекрыть кислород играющимся с Линуксом новичкам, которым делать нечего. Если уж задумались над созданием ОС, думайте до конца. Итак,

Я хочу создать ОС на базе Linux.
Сразу предупреждаю: был бы XVIII век, всех тех, кто для основы своей будущей системы выбирает другой развитый дистрибутив (и, не дай Бог, популярный…) ждала бы виселица. Пост именно про создание системы с нуля, а значит, всякие Slax и Linux Mint мы трогать не будем.

Шаг 1. Выбор носителя
Вариантов немного: либо ваша ОС запускается с LiveCD, либо с жесткого диска, либо с флеш-устройства. Сразу оговорюсь: не скажу в посте ни слова про жесткий диск, потому что гораздо удобнее создавать гибкий дистрибутив из серии «все свое ношу с собой», либо залоченный дистрибутив на оптическом диске. Если вы научитесь создавать LiveCD или LiveUSB систему, с установкой на жесткий диск проблем не будет.

На всякий случай, приготовьте чистую флешку, CD-диск, и установите, наконец, Virtualbox.

Шаг 2. Компиляция ядра
По поводу выхода третьего ядра Linux, этот шаг воодушевляет на дальнейшие разработки… Итак, нам нужны исходники ядра. Каждый пользователь знает, что их можно достать на сайте kernel.org. Ни в коем случае, слышите?, никогда не прикручивайте к своей системе постороннее ядро, скомпилированное не вами!

image

Поскольку лень моя зашкаливала, я создал папку /linuxkernel и распаковал туда архив с исходниками. Залогинившись под рутом, я сделал следующее:

cd /linuxkernel
make menuconfig

В принципе, ядро можно конфигурировать тремя способами: make config (диалоговая конфигурация), make menuconfig (псевдографическая конфигурация через ncurses), а также make xconfig (графическая конфигурация). Суть в том, что make config испортит вам настроение надолго, т.к. он задаст все возможные вопросы по всем аспектам всех тем. Проблема с make xconfig встречается не у всех, но вот у меня встречалась и встречается. Если приспичило сделать через X, разбирайтесь сами. Оптимальный вариант — make menuconfig. Эта штука откроет вам псевдографический интерфейс, через который вы сможете настроить ядро на свой лад. Штука требует библиотеки ncurses, которая легко устанавливается.

image

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

Однако, направить вас все же придется. Перейдите по адресу File Systems —> и поставьте необходимые звездочки. Буква M означает, что поддержка того или иного драйвера осуществляется с помощью подключения к ядру внешнего модуля (ненавижу их!). Нам понадобится также поддержка isofs, для чтения дисков. File Systems —> CD-ROM/DVD Filesystems —> ISO 9660 CDROM file system support. Можно еще поддержать древнедосовские системы.

image

Чмошные разработчики Mandriva забыли разрешить File systems —> DOS/FAT/NT Filesystems —> NTFS write support, и на одном из их дистрибутивов я мучился с доступом к древневиндовскому разделу.

Посмотрите Processor type and features —> Processor family, мне порекомендовали выбрать Pentium-MMX.

Еще поройтесь в Device Drivers, полезно. Можете шутки ради понавыбирать там все и скомпилировать ядро весом > 50 Мб.

Далее. Ядро после загрузки себя должно загружать, собственно, систему. Либо из скомпилированных в себе файлов (используются во встраиваемых системах), либо из CPIO архива, сжатого чем-нибудь, либо из Initrd. Здесь вам не DOS, здесь не получится сразу сослаться на какой-нибудь init’овый файл в корневом каталоге диска или флешки.

На самом деле получится, не слушайте дядю Анникса!

Неправильно это, хоть в Интернете по этому поводу уже нехилая полемика ведется. В своей системе мы будем использовать initrd, т.к. это удобно, и не вызовет нецензурных выражений от сторонних разработчиков, в отличие от CPIO архива.

Ах, да, скомпилируйте ядро командой

make bzImage

Если у вас x86, найдете его по адресу /linuxkernel/arch/x86/boot/bzImage.

Для суровых челябинских программистов можно использовать Кросс-компайлинг…

Создание Ramdisk.

Теперь нам нужен initrd с установленной там простейшей оболочкой. Мы будем использовать busybox, потому что эта няша может все. Способ мы украдем у Роберто де Лео, создателя Movix (я бы даже уважать его начал, если бы не запредельная любовь к Perl):

dd if=/dev/zero of=/dev/ram0 bs=1k count=5000 - Создаем Ramdisk в оперативной памяти нашего компьютера.
mke2fs -m0 /dev/ram0 5000 - Форматируем Ramdisk в системе Ext2
mkdir /distro - Создаем папку
mount /dev/ram0 /distro - Монтируем в папку /distro

Все, теперь у нас есть Ramdisk, емкостью в 5 Мб. Можно и больше, только не нужно. В отличие от Томаса Матеджисека, я не собираюсь пичкать initrd модулями в Squashfs, сжатыми LZMA. Все, что необходимо, будет скомпилировано вместе с ядром. Да, это не очень логично и правильно, но мороки в сто раз меньше. А специально для тех, кто осуждает такой подход, можно разрешить опцию модульности в ядре: Enable loadable module support.

В нашем Ramdisk’е, смонтированном в /distro, есть такая папка, lost+found. Это потому, что мы отформатировали его в ext2. Ни в коем случае нельзя ее удалять, хоть она здесь вряд ли поможет, образ-то фиксированный. Нам бы busybox сначала поставить…

Установка Busybox
Вот почему у таких классных проектов такие отстойные сайты? Хотя… это уже не суть важно, если исходники скачаны и успешно распакованы в папку /busybox.

image

Сконфигурировать busybox можно так же:

cd /busybox
make menuconfig

image

Если вы еще не поняли, что это, объясню. Busybox заменяет тонны UNIX приложений, хранящихся в папках /bin, /sbin, /usr/bin, /usr/sbin. Вместо этого, создается только одно приложение: /bin/busybox, а на него создается куча ссылок в указанных выше папках. Установим busybox следующей командой:

make CONFIG_PREFIX=/distro install

Еще Busybox создаст файлы /sbin/init и зачем-то /linuxrc, чтобы ваша система корректно запустилась. Но не все необходимые папки были созданы. Так что завершаем все руками и создаем:

/distro/etc
/distro/lib
/distro/dev
/distro/mnt
distro/proc
/distro/root
/distro/tmp
/distro/root

Если что забыл — вспомните, т.к. директории эти забыть сложно.

Все бы хорошо, вот только busybox для работы требует библиотеки, которые нужно скопировать в наш дистрибутив. Очень легко узнать, какие:

ldd /distro/bin/busybox

Программа покажет нам библиотеки, требуемые для нашей оболочки. Сразу говорю: linux gate создается ядром и скопирован быть не может.

При копировании библиотек можно отсекать отладочную информацию (так Роберто советует):

objcopy --strip-debug откуда куда

Делаем из Линукса Линукс

Надо создать несколько системных текстовых файлов:

Нам нужен /etc/inittab. Удивлю вас: в начале жизни система даже не знает, что такое Root. У нас даже пользователь безымянный, но вот файл общесистемных низкоуровневых фич (ОНФ) должен присутствовать. Пилотное содержание файла следующее:

::sysinit:/etc/rc.d/rc.S

# Запустить оболочку в консоли.
::respawn:-/bin/sh

# Перезагрузка по нажатии на Ctrl+Alt+Del.
::ctrlaltdel:/sbin/reboot

# Команды, выполняемые перед выключением и перезагрузкой.
::shutdown:/sbin/swapoff -a >/dev/null 2>&1
::shutdown:/bin/umount -a -r >/dev/null 2>&1

Следующий файл — /etc/fstab. Это таблица, в которой описано, что и куда монтировать при загрузке.

Вещь бесполезная!

Нам нужно обязательно смонтировать proc, иначе вообще ничего работать не будет, так что в файле пишем:

none /proc proc defaults 0 0

Для mount нужен также файл /etc/mtab. Создайте его и оставьте пустым.

Но mount сделает все необходимое только тогда, когда мы явно его об этом попросим. А просить мы будем в том самом первозагрузочном файле /etc/rc.d/rc.S (rc.d — папка). Вежливо попросим:

#!/bin/ash

/bin/mount -av -t nonfs

Еще нам необходим файл профиля (b)(a)sh, тут вообще раздолье для фантазии. Создаем файл /etc/profile и заполняем следующим:

PATH="$PATH:/bin:/sbin:/usr/bin:/usr/sbin:"
LESS=-MM
TERM=linux
HOME=/root
PS1='> '
PS2='> '
ignoreeof=10
export PATH DISPLAY LESS TERM PS1 PS2 HOME ignoreeof

Понадобится также файл /etc/shell, в котором указано, что есть оболочка:

/bin/sh
/bin/ash
/bin/bash

Вот собственно и все. Можно записывать наш Ramdisk в файл.

mkdir /os - папка для "готового".
umount /dev/ram0 - размонтируем кусочек оперативной памяти.
dd if=/dev/ram0 of=/os/initrd bs=1k count=5000 - создаем файл.
gzip /os/initrd - сжимаем файл initrd

Создание загрузочной флешки

«Финишная прямая» нашей маленькой разработки. Берем флешку, вставляем, форматируем в vfat (можно и в ext, но не забывайте, что еще не все пользователи Windows застрелились).

На флешке создаем папку boot, в ней папки initrd и kernel.

Из папки /os копируем сжатый Ramdisk в папку boot/initrd на флешке, называем «main.gz». Из папки с исходниками ядра копируем bzImage в папку boot/kernel на флешке, называем «main.lk». Достаем файлы загрузчика Syslinux (в Интернете, либо из другого дистрибутива: тут не принципиально), а именно syslinux.bin, syslinux.boot, syslinux.cfg. Копируем их в корневой каталог нашей флешки. В файле syslinux.cfg пишем что-то подобное:

default mm
prompt 1
timeout 100
label mm
kernel /boot/kernel/main.lk
append initrd=/boot/initrd/main.gz load_ramdisk=1 ramdisk_size=5000 rw root=/dev/ram0
label mc
kernel /boot/kernel/main.lk
append initrd=/boot/initrd/custom.gz load_ramdisk=1 ramdisk_size=5000 rw root=/dev/ram0
label cm
kernel /boot/kernel/custom.lk
append initrd=/boot/initrd/main.gz load_ramdisk=1 ramdisk_size=5000 rw root=/dev/ram0
label cc
kernel /boot/kernel/custom.lk
append initrd=/boot/initrd/custom.gz load_ramdisk=1 ramdisk_size=5000 rw root=/dev/ram0
label hd
localboot 0x80

Тем самым мы поддержали кастомные initrd и ядро, которые, эксперимента ради, можно подключить к нашему дистрибутиву.

Узнаем, каким девайсом в системе является наша флешка (можно запустить mount без параметров и посмотреть). Это либо /dev/sdb1, либо /dev/sdc1, либо /dev/sdd1. Стоит отмонтировать флешку перед началом установки.

Устанавливаем syslinux (если пакета в системе нет, apt-get install syslinux):

syslinux -d путь_к_устройству

В корневом каталоге флешки должен появиться файл ldlinux.sys. Если он есть, значит syslinux.bin, syslinux.boot больше не нужны.

image

Как настроить BIOS на загрузку из флешки, я вам рассказывать не буду — это легко. Скажу только, что очень удобно создать папку /boot/initrd/init, в которую можно будет смонтировать /boot/initrd/main, для последующей работы с ним. Только не забудьте разжимать и сжимать его gzip’ом.

Ну вот и все.

Как-бы я только что рассказал вам, как создать с нуля систему на Linux. Легко, не правда ли? Далее вы можете редактировать скрипт /sbin/init, ведь у вас еще много работы! Вы должны будете написать скрипт для монтирования флешки, который делает chroot в корневой каталог. В противном случае, вы вынуждены будете работать с ReadOnly разделом, величиной в 5 Мб. Но это уже совсем другая история.

Unnx Davis T, B.

Для непросвещенных:

Томас Матеджисек — создатель Slax и Linux Live Scripts.
Роберто де Лео — создатель Movix.

Содержание

ВВЕДЕНИЕ

Прежде чем делать свою сборку, Вы должны определить цель и задачи своего творения. Иначе сборка может не получить своё предназначение в этом мире и остаться малоизвестной.Итак, цели и задачи определены и Вы решились сделать сборку своей системы.

Для начала Вы должны либо в Virtualbox (или в другой виртуальной машине), либо у себя на компьютере установить операционную систему со всеми настройками, со всеми программами, которые считаете нужными иметь в Вашей сборке.

Теперь, когда всё настроено и установлено, будем создавать свою сборку. Для этого нам в первую очередь необходимо свободное место на разделе с папкой /home не менее 6 ГБ.

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

Все действия дальше описаны для Ubuntu, но подходят для всех Debian совместимых дистрибутивов.

1. УСТАНОВКА

Для установки Remastersys необходимо скачать и установить вручную , например, через программу gdebi, 2 пакета: remastersys_3.0.x-2_all.deb и remastersys-gtk_3.0.x-2_all.deb

Для Ubuntu 10.04 — 14.04 скачать отсюда

Для Ubuntu 16.04 — 17.04 скачать отсюда

Для Ubuntu 17.10 скачать отсюда

Для Ubuntu 18.04 скачать отсюда

2. ПЕРВЫЕ ШАГИ

Запускаем Система ⇒ Администрирование ⇒ Remastersys (Я использую Мате 1.6. С другими рабочими столами расположение может отличаться). Видим вот такое окно:

Коротко об основных кнопках:

Backup — полная резервная копия установленной системы, включая пользовательские данные и настройки. Сохраняется полностью все файлы в домашних каталогах пользователей системы.

Dist — резервная копия только установленной системы, БЕЗ пользовательских данных. Самый оптимальный вариант для создания сборки системы. Создается структура загрузочного диска и образ диска(iso).

Distcdfs — то же, что и Dist, но создается структура загрузочного диска без создания образа диска(iso).

Distiso — создает образ диска(iso), при условии готовой структуры загрузочного диска. Применяется только после Dist или Distcdfs.

Очистить — очистить временную папку программы. Используется для очищения папки перед созданием нового образа.

Переходим во вкладку Settings:

Здесь мы видим параметры нашей будущей сборки. Рассмотрим самое необходимое.

Username — имя пользователя по-умолчанию при входе в систему LiveCD.

CD Label — метка диска. Высвечивается название при загрузке диска в CD-привод. Ограничение 32 символа, учитывая пробелы.

Filename — имя файла созданного образа.

Остальное пока трогать не будем.

Итак зададим:

— Имя пользователя в строке Username, скажем, alex;

— Придумаем название нашей сборки и запишем в CD Label, допустим, AlexBuntu;

— В строке Filename запишем имя файла сборки, AlexBuntu-12.04-x32.iso.

Должно получится следующее:

Галочка в строке Show install icon on Backup mode desktop создает иконку установки Вашей системы на рабочем столе. Опция работает на всех основных рабочих столах.

Теперь переходим на вкладку Actions:

Нажимаем кнопку Dist. Появится окно:

Жмем ОК. Появится окно:

Всё, теперь можете спокойно и не торопясь попить чай или кофе. Минут через 15 — 60 (всё зависит от мощности ПК) появится сообщение:

Поздравляю Вас с первой Вашей сборкой!

Файл сборки находится по адресу /home/remastersys/remastersys и имеет то имя, которое Вы дали своей сборке. В моем случае это файл AlexBuntu-12.04-x32.iso. В этой же папке есть еще текстовый файл контрольной суммы образа с расширением md5, в моем случае файл AlexBuntu-12.04-x32.iso.md5.

Теперь Вы можете записать свою сборку на диск и насладиться своим творением. Возможно при входе в систему с LiveCD придется ввести имя пользователя, которое было выбрано при создании образа, в моем случае это alex. Пароль оставьте пустым.

3. РАСШИРЕННЫЕ ВОЗМОЖНОСТИ

Многих устроят выше описанные главы. Если Вы всё еще читаете, то Вы действительно хотите познать все тонкости создания сборки, приближенной к профессиональной.

В первую очередь коснемся вкладки Settings и рассмотрим остальные нужные строки.

Working directory — рабочая папка программы. Вы можете ее переназначить в любое место и на любой раздел.

Ну и самая важная строчка настроек Squashfs options.

Remastersys использует для создания дистрибутива возможности SquashFS. Чтобы понять весь смысл данной строки предлагаю Вам рускоязычный блог , в котором прекрасно изложен весь смысл этого мощнейшего инструмента.

После изучения всех возможностей добавим в нашу строчку Squashfs options следующие опции: -comp xz.

Строчка должна иметь вид:

Эта опция устанавливает алгоритм компрессии xz вместо gzip по-умолчанию, что сожмет нашу сборку примерно на 20-25% лучше.Эта опция доступна с версии squashfs 4.2 и, например, в Ubuntu 10.04 она не доступна. В версии Ubuntu 12.04 установлена нужная версия 4.2 squashfs.

Чтобы проверить, доступна ли эта опция, наберите в терминале mksquashfs. Если вы видите похожее на следующее:


mksquashfs

SYNTAX:mksquashfs source1 source2 … dest [options] [-e list of exclude dirs/files]

Filesystem build options:

-comp <comp> select <comp> compression

Compressors available:

gzip (default)

lzo

xz


то всё в порядке и использовать опцию -comp xz можно смело.

С версии 3.06 включение компрессии xz вместо gzip заменено на вкл./выкл. флажка

4. ЗАГРУЗОЧНОЕ МЕНЮ

По-умолчанию Remastersys создает загрузочное меню сборки довольно-таки скучное и однообразное. Одно только радует, что меню достаточно функциональное. Я долго искал простой способ включения своего меню без пересборки всего образа. Все дальнейшие действия не были задуманы авторами Remastersys и являются своего рода моими уловками и обходными способами, к которым я шел несколько месяцев различными экспериментами. Поэтому этот раздел не претендует на правильную инструкцию по Remastersys.

Итак. Вот такое загрузочное меню мы имеем в стандартной установке:

Вот такое меню можно получить после некоторых манипуляций:

Такое загрузочное меню используется в одной из моих сборок. Как видим, картинка изменена и меню русифицировано. Кроме всего прочего я убрал название дистрибутива из меню и написал его в GIMPe яркими красками. Сейчас мы с Вами и займемся заменой картинки и русификацией меню. Для этого нам потребуется обратить внимание на содержимое файлов в папке /home/remastersys/remastersys:

Здесь нас интересует папка ISOTMP. В этой папке хранятся временные файлы программы Remastersys. Этим мы и воспользуемся. Переходим в эту папку:

Структура данной папки очень похожа на структуру образа диска. Не хватает только папки .disk. В папке isolinux хранятся файлы загрузочного меню. Заходим в нее:

Рассмотрим файлы загрузочного меню:

splash.png — фоновое изображение. Размер изображения 640х480 точек на дюйм.

isolinux.cfg — конфигурационный файл загрузочного меню.

vesamenu.c32, isolinux.bin — системные файлы.

Смело меняем фон загрузочного меню на свой. Тип файла и название должно остаться таким же. Размер изображения обязательно 640х480 точек на дюйм.

Далее я выложил листинг отредактированного конфигурационного файла isolinux.cfg. За основу взят стандартный конфигурационный файл Remastersys. Я постарался максимально понятно написать комментарии к строкам. Почти вся информация в интернете на английском языке и очень краткая, поэтому много времени потратил на эксперименты, чтобы узнать, что и как работает.

default vesamenu.c32
prompt 0
timeout 100
font cyr_a8x16.psf
# Фон загрузочного меню
menu background splash.png

# Цвет имеет первые два регистра прозрачности значение от 0 (прозрачно) до 255 (непрозрачно) в HEX.
# Остальные 6 цифр цвет в режиме HEX (код цвета можно взять из GIMPa). Сначала пишется цвет букв, потом фона, потом 3 режима тени (none, std, all)

# Цвет заголовка
menu color title * #ff00923F #00000000 none
# Цвет оконтовки меню (бордюра)
menu color border * #00000000 #00000000 none
# Цвет выбранной строки меню
menu color sel * #7fffffff #00000000 none
# Цвет невыбранной строки меню
menu color unsel * #ffC4613B #00000000 none
# Цвет неактивной строки (отключенной но отображающейся на экране)
menu color disabled * #ffC4613B #00000000 none
# Цвет строки tabmsg расположенной под меню (с надписью Нажмите ENTER для загрузки или TAB для редактирования меню)
menu color tabmsg * #ffCC623E #00000000 none
# Цвет строки timeout (с надписью Автоматическая загрузка начнется через)
menu color timeout_msg * #ffCC623E #00000000 none
#Отступ с верху, строк
menu vshift 1

#Количество строк меню
menu rows 6

# Положение строки tabmsg
menu tabmsgrow 11
# Положение строки timeout
menu timeoutrow 12
menu AUTOBOOT Автоматическая загрузка начнется через # сек
menu tabmsg Нажмите ENTER для загрузки или TAB для редактирования меню
menu cmdlinerow 11

#Ширина меню, количество символов
menu width 80

#Отступ символов слева от края (как табуляция)
menu margin 12


#menu title Ubuntu 12.04 Desktop Mate 1.6
label live
# menu label live - boot the Live System
menu label Загрузить систему с LiveDVD диска
kernel /casper/vmlinuz
append file=/cdrom/preseed/custom.seed boot=casper initrd=/casper/initrd.gz quiet splash --

label install
menu label Установить Ubuntu 12.04 LTS Mate 1.6
kernel /casper/vmlinuz
append file=/cdrom/preseed/custom.seed boot=casper only-ubiquity initrd=/casper/initrd.gz quiet splash --
# Сделать строку меню не активной
# menu disable

label check
menu label Проверить диск на ошибки
kernel /casper/vmlinuz
append boot=casper integrity-check initrd=/casper/initrd.gz quiet splash --

label memtest
menu label Проверить память
kernel /install/memtest
append -

label hd
menu label Загрузиться с первого жесткого диска\
localboot 0x80

Кодировка файла isolinux.cfg должна быть обязательно CP 866. Можно сохранять и редактировать в Cooledit (текстовый редактор Midnight Commandera), в OpenOffice и др. Взять мой отредактированный файл isolinux.cfg можно здесь.

Кроме этого нужно положить в папку isolinux шрифты поддерживающие русский язык. Взять можно отсюда.

В папке должно получится следующее:

Проверьте права доступа файлов должно быть следующее для всех 5 файлов:

Теперь все приготовления закончены. Запускаем Remastersys:

Нажимаем кнопку Distiso. Процесс пересборки образа пойдет намного быстрее, всего 1 — 5 минут, потому что основные файлы системы пересобираться не будут. На выходе будут те же файлы образа и контрольной суммы, но уже с Вашим неповторимым красивым меню.

5. ОЧИСТКА СБОРКИ ОТ «ЛИШНЕГО»

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

Перед очисткой системы установите пакет ubiquity-frontend-gtk.

В первую очередь воспользуемся стандартными инструментами очистки системы. Открываем терминал и пишем:

sudo apt-get autoremove
sudo apt-get clean

Первая команда автоматически удалит все неиспользуемые пакеты.

Вторая команда удалит скачанные файлы пакетов в архиве.

Теперь воспользуемся программой Synaptic и удалим все ненужные настройки, оставшиеся после удаленных пакетов. Открываем Synaptic. В открывшемся окне внизу выбираем группу фильтров «Состояние».

Выбираем фильтр «Не установленные (остались файлы настроек)», выделяем все пакеты, попавшие в этот фильтр. Правой клавишей мыши на выделенном выбираем в меню «отметить для полного удаления» и жмем «Применить».

Здесь же в этой группе фильтров удалите пакеты под фильтром «Установленные (авто удаляемые)«

Если фильтры «Не установленные (остались файлы настроек)» и «Установленные (авто удаляемые)» отсутствуют, значит система уже прошла чистку и под данные фильтры ничего не попадает.

Следующий инструмент очистки — программа BleachBit из стандартного репозитория. Интерфейс программы на русском языке, очень доступен для понятия, что Вы будете делать. Также перед очисткой есть кнопка «Предпросмотр», которая покажет, что будет удаляться, и позволяет сделать изменения до удаления. Программа очень эффективно чистит систему от ненужных файлов , а также умеет удалять неиспользуемые языковые файлы. В моей сборке программа удалила около 300 МБ.

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

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

С версии 3.06 и выше временные файлы удаляются автоматически

/var/backups

/var/cache/apt/ — не удалять папку archives

/var/cache/apt/archives — не удалять папку partial и файл lock

/var/cache/apt-xapian-index

/var/cache/flashplugin-installer

/var/crash

/var/lib/apt/lists — не удалять папку partial и файл lock

/var/lib/update-notifer/ — не удалять папки package-data-downloads и user.d

/var/lib/update-notifer/package-data-downloads — не удалять папку partial и файл lock

/var/lib/update-notifer/user.dудалять все файлы обязательно, иначе выдает окно ошибки

/var/tmp

Remastersys в начале установки копирует содержимое папки /var в свою временную папку /home/remastersys/remastersys/dummysys/var, откуда потом и включает в сборку файлы. Учитывая, что после копирования Remastersys проводит еще подготовительные операции, у нас есть примерно 5 минут удалить лишнее из папки /home/remastersys/remastersys/dummysys/var. Тем более, что даже, если мы удалили из папки /var/cache/apt файлы, они всё-равно создаются и копируются в папку /home/remastersys/remastersys/dummysys/var/cache/apt , утяжеляя сборку.

В эти же 5 минут у Вас есть возможность почистить папку /root. В ней оставляйте только те файлы, которые есть в папке /etc/skel и папку Desktop.

6. СОВЕТЫ И РЕКОМЕНДАЦИИ

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

  • Настройки новых пользователей хранятся в папке /etc/skel. Если Вы хотите, чтобы все пользователи имели какие-то одинаковые настройки отличные от по-умолчанию(дефолтных), то копируйте нужные файлы из своей папки /home/[ваш логин входа в систему] в эту папку, не забывая менять права со своих на права root. Всё подряд копировать туда не нужно, это может привести к определенным конфликтам. Обычно для каждой программы это 2-3 файла настроек. Помните, чем меньше вы туда скопируете, тем профессиональнее будет сборка и меньше проблем у пользователей.

  • Программы запуска для всех пользователей отредактировать, добавить, удалить лучше в папке /etc/xdg/autostart, не засоряя папку /etc/skel

  • Если Вы хотите сделать сборку с рабочим столом отличным от имеющегося в дистрибутиве, то лучше воспользоваться минимальной сборкой без графического окружения, включающей в себя ядро и самый минимум пакетов, который позволяет запускает систему в режиме консоли. И уже поверх этой системы доустанавить нужные пакеты и проводить нужные настройки. Такой метод имеет меньше ошибок, чем если брать готовую полную сборку и пытаться выпилить из нее ненужное.
    Здесь все возможные mini.iso для Ubuntu от релиза 12.04 до 16.04 https://help.ubuntu.com/community/Installation/MinimalCD

Удачи! И пусть мир узнает Ваши творения!

Ссылки

Рубрика:

Администрирование / 
Продукты и решения

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

Илья Александров

Создаём собственную ОС на базе Linux

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

За долгие годы работы с Linux мною было использовано огромное количество различных дистрибутивов: Mandriva, Fedora, SlackWare, Debian, Ubuntu и многие другие. Какой-то проект нравился больше, какой-то – меньше. Но во всех дистрибутивах неминуемо приходилось сталкиваться с серьезными недостатками, которые сильно затрудняли работу. Один слишком требователен к ресурсам, в другом нет поддержки всего нужного оборудования, в третьем не хватает различного ПО. Вот тогда я вспомнил известную восточную мудрость: если нужно что-то сделать хорошо, сделай это сам.

Linux from Scratch

Я не единственный, кто решил заняться построением собственной версии Linux – ОС, в которой за основу будет взята базовая часть системы и ядро, но где не будет ни единого лишнего килобайта от разработчика, то есть от вас. Большое количество Linux-дистрибутивов, не соответствующих требованиям пользователей, подтолкнуло Герарда Бикменса (Gerard Beekmans) к созданию дистрибутива, который даст возможность каждому собрать систему, где будут только необходимые ему компоненты и функции.

Стремление талантливого программиста вылилось в проект Linux from Scratch (www.linuxfromscratch.org), сокращенно – LFS. Этот проект, позволяет сконструировать «с нуля», из исходных кодов, свою операционною систему на базе Linux. Компиляция LFS проходит на компьютере с уже установленной Linux-системой, впрочем, подойдет и «продвинутый» Live-CD, например, Knoppix [6].

При этом Linux-система, используемая для сборки, может быть любой – обязательно лишь наличие компилятора и системных библиотек. Linux From Scratch трудно назвать дистрибутивом в привычном смысле этого слова – это что-то вроде вспомогательного ПО, которое вкупе с базовой частью операционной системы позволит вам создать свою, уникальную версию ОС.

Как известно, Линус Торвальдс разрабатывал свою операционную систему под девизом «Just for fun!» – то есть только ради удовольствия. Нужно признать, что LFS действительно не часто можно встретить на серверах, используют эту систему, как правило, компьютерные энтузиасты. Установка и работа с Linux from Scratch поможет вам разобраться во взаимосвязи компонентов ОС, что пригодится при собственных разработках Linux-дистрибутива, причем не только на базе LFS. Поэтому LFS во многом рассчитан на тех людей, для которых процесс сборки собственного дистрибутива увлекателен и интересен – а таких людей, поверьте, немало.

Итак, если вы готовы потратить на конструирование системы целый день (а то и больше), то рекомендую скачать с сайта (2) LFS-packages-6.0, LFS-book, и продолжить читать эту статью.

Разбиение диска и создание дерева каталогов

Для лучшего понимания материала опишем весь ход процесса в общих чертах (см. рис. 1).

Рисунок 1. Схема сборки LFS

Рисунок 1. Схема сборки LFS

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

На протяжении всего процесса ваш главный помощник – документация из пакета LFS-book, русский перевод которой можно взять тут: http://multilinux.sakh.com/download/lfsbook.tar.bz2. В книге подробно описан каждый шаг создания ОС, поэтому обязательно обращайтесь к этому руководству в случае возникновения проблем (данная статья не призвана заменить такую обширную документацию).

Создаем новый раздел – в моем случае это /dev/hda5, так как раздел /dev/hda1 уже занят установленным на жесткий диск Linux Slackware. Рекомендуется предварительно сделать бэкап системы, дабы можно было ее восстановить в случае повреждения, хотя вероятность подобного близка к нулю. И тут, думаю, все понятно: выделяем нужное количество (достаточно 23 Гб) под корневой каталог, пространство, равное удвоенному объему ОЗУ – под swap-раздел, по желанию можно создать отдельные разделы для домашнего каталога (/home) и для /boot. Впрочем, излюбленный многими вариант разбиения – отвести под корневой каталог все доступное пространство минус swap, и последующее создание собственно swap – также вполне допустимо при сборке LFS. На компьютере автора и Linux Slackware, являющийся родительской ОС, и LFS, используют один жесткий диск, впрочем, установить LFS на другой винчестер тоже труда не составит.

Файловую систему выбирайте на ваше усмотрение: и с Ext3, и с ReiserFS никаких проблем под LFS не было. А вот поклонников XFS придется огорчить – попытки заставить Linux From Scratch работать с этой ФС не увенчались успехом.

Теперь монтируем раздел, отведенный под новую ОС:       

$ mount /dev/hda5 /mnt/mylin

Для удобства определим переменную MYLIN:

$ export MYLIN=/mnt/mylin

Отлично, для дальнейшей работы лучше создать отдельного пользователя mylin, которого и назначим владельцем смонтированного раздела.

$ useradd mylin

$ chown –R mylin $MYLIN

Нужно создать дерево каталогов в корне нового раздела:

$ cd $MYLIN

$ mkdir –p bin boot dev etc home lib mnt opt root sbin usr/{X11R6,local} var

В каталогах usr, usr/X11R6, usr/local создаем необходимую структуру: подкаталоги bin, etc, include, lib, sbin, share, src.

Затем то же самое проделаем для каталогов /var и /opt будущей системы:

$ mkdir var/{cache,lib,local,lock,log,opt,run,spool}

$ mkdir opt/{bin,doc,include,info,lib,man}

Не будем забывать, что существуют более глубокие иерархии, например, /usr/share/man/man1. Но объем статьи не позволяет привести здесь всю информацию о структуре файлового дерева, поэтому нужно либо воспользоваться документом Filesystem Hierarhy Standart (можно найти по адресу: http://linux-ve.net/MyLDP/file-sys/fhs-2.2-rus), либо внимательно изучить структуру уже установленной у вас ОС семейства Linux. После подготовки жесткого диска приступаем к статической сборке.

Статическая сборка

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

Но когда мы посредством команды chroot установим корневой каталог для вновь собираемой системы, библиотеки «родительской», установленной системы, находящиеся в /lib, /usr/lib, и прочих, станут уже недоступны, поэтому динамически скомпилированные программы работать откажутся, вдобавок совместимость версий никем не гарантирована.

Чтобы избежать этого, все необходимое программное обеспечение для нашей будущей системы мы для начала соберем статически. Начнем, пожалуй, с командного интерпретатора bash. (Поклонники ZSH или TCSH могут установить любимые интерпретаторы после установки системы, но на этапе сборки их использование не предусмотрено автором LFS). Следует проверить, есть ли у вас файл /usr/lib/libcurses.a и если его нет – установите пакет nсursesdev. Все пакеты надо собирать с флагами статической сборки: «—enable-static-link», «—disable-shared» или «—static». Какой именно подходит в каждом конкретном случае, можно узнать из документации к конкретному пакету или из вывода конфигурационного сценария, запущенного с параметром «—help».

$ ./configure –-help

Чтобы не спутать позже статически скомпилированные программы с «динамическими», создадим для них специальный каталог:

$ mkdir $MYLIN/stat

При сборке и установке пакетов не забываем добавлять параметр «—prefix=$MYLIN/stat» для перемещения файлов именно в этот каталог. И, наконец, ставим bash:

$ ./configure –-enable-static-link —prefix=$MYLIN/stat

$ make

$ make install

По такой же схеме собираем остальные необходимые пакеты: binutils, bzip2, textutils, texinfo, tar, sh-utils, gcc, grep, gzip, gawk, diffutils, fileutils, make, patch, sed, и, собственно, linux-kernel.

Да, при компиляции ядра не забываем, что для старых версий ядер (2.2.x-2.4.x) нужно использовать gcc 2.95, а для текущей версии 2.6.x рекомендуется применить gcc 3.x, дабы не возникло проблем.

Не забываем заглядывать в соответствующие разделы LFS-book, там сказано об этом и многих других нюансах. В целом же компиляция ядра в LFS не отличается от подобной процедуры, проводимой при использовании установленного на HDD дистрибутива. Разархивируем исходники ядра в $MYLIN/usr/src/linux-2.6.xx, после чего конфигурируем, запуская:

$ make menuconfig

Процесс настройки параметров ядра многократно описан в Интернете (6), вряд ли есть необходимость останавливаться на этом подробнее. Далее даем следующие команды в папке с исходными текстами Linux-kernel:

$ make bzImage

$ make modules

Все, по адресу $MYLIN/usr/src/linux-2.6.xx/arch/i386/boot/bzImage находится новое ядро.

Далее создаем файлы $MYLIN/etc/passwd и $MYLIN/etc/group. В первом прописываем пока единственного пользователя – root с любым паролем, а во втором группы пользователей (для начала одной группы root тоже будет достаточно).

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

Динамическая сборка

Теперь нам нужно сменить корневой каталог на /mnt/mylin, где мы будем пользоваться только статически собранными утилитами – к помощи инструментов из «родительской» ОС мы уже прибегать не сможем. Даем команду в консоли:

$ chroot $MYLIN/usr/bin/env –i

>HOME=/root TERM=$TERM PS1=’u:w$’

>PATH=/bin: /usr/bin: /sbin: /usr/sbin: /stat/sbin

>/stat/bin/bash —login

Этой командой мы указали пути к исполняемым файлам, тип терминала, интерпретатор и вид приглашения командной строки.

Для обеспечения работы некоторых программ, надо установить файловую систему proc в новой системе.

$ mount proc /proc -t proc

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

При сборке мы указывали параметр «—prefix=$MYLIN/stat», поэтому при смене корня все статически собранные пакеты окажутся в каталоге /stat раздела новой ОС.

Итак, распаковываем архив glibc-2.x.x.tar.gz (например, в директорию /usr/src/) и переходим в каталог glibclinuxthreads. Придется немного подправить исходный код ввиду того, что на данном этапе в системе невозможна идентификация пользователя по имени (как раз из-за отсутствия glibc и других библиотек), и того, что для установки glibc нужен интерпретатор Perl, которого у нас нет.

Заменяем имя пользователя root в файле login/Makefile на его uid, то есть 0, а переменную $PERL в файле malloc/Makefile следует заменить на путь к интерпретатору – /usr/bin/perl – и при конфигурировании он просто будет проигнорирован.

Далее:

$ /usr/src/glibc-2.x.x/configure —prefix=/usr —enable-add-ons —libexecdir=/usr/bin &&

& make

& make install

$ make localedata/install-locales

$ /stat/bash —login

Если вы все сделали правильно, glibc скомпилируется, в строке приглашения наконец-то появится «root», и можно будет динамически перекомпилировать все программы.

Завершим установку ядра:

$ make modules_install

$ make install

Чтобы переместить новое ядро в каталог /boot, выполняем еще одну команду:

$ make unstall

Собираем все установленные и некоторые новые программы, теперь уже без флагов статической компиляции. Нам потребуются (на данном этапе очень важно не забыть скомпилировать все нижеперечисленное) (см. таблицу 1).

Таблица 1. Необходимый набор пакетов для сборки

autoconf

grep

perl

automake

groff

man

bash

gzip

procinfo

bin86

kbd

procps

binutils

less

psmisc

bzip2

reiserfs-progs

diffutils

libtool

sed

e2fsprogs

lilo

sh-utils

ed

m4

shadow

file

make

sysklogd

fileutils

makedev

sysvinit

findutils

man-pages

tar

flex

modutils

texinfo

gawk

ncurses

textutils

gcc

netkitbase

util-linux

bison

net-tools

vim

gettext

patch

После выполнения динамической перекомпиляции можно удалить каталог со статически собранными пакетами:

$ rm -rf /stat

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

Начальное конфигурирование системы

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

Для установки системного времени создадим файл /etc/sysconfig/clock, содержащий всего одну строку:

UTC=0

Теперь часы компьютера будут отображать время вашего часового пояса – при условии, что значение времени в BIOS установлено верно.

Дадим компьютеру имя:

echo «HOSTNAME=my_linux» > /etc/sysconfig/network

Теперь разделы, которые система должна монтировать при загрузке, укажем в /etc/fstab:

# filesystem mount-point fs-type options dump fsck-order

/dev/hda5 /  ext3 defaults 1 1

/dev/hda3 swap swap pri=1 0 0

proc  /proc proc defaults 0 0

Вместо /dev/hda3 и /dev/hda5 напишите ваши разделы (корневой и swap), дополните файл при необходимости точками монтирования других разделов жесткого диска и CD-ROM.

Теперь сделаем нашу систему загружаемой.

Если помимо lFS вы пользуетесь другими дистрибутивами Linux, то сейчас нужно войти в старую систему – для этого выполняем команду:

$ exit

Уже в родительской ОС в файл /etc/lilo.conf добавляем следующее:

# LFS

image=/boot/bzImage

 label=lfs

 root=<partition>

 read-only

Понятно, что «/boot/bzImage» – это путь к скомпилированному вами ядру системы, а «partition» – раздел диска, где находится корневой каталог.

Если же вы не планируете пользоваться другими операционными системами и дистрибутивами Linux, то сразу переходите к настройке LILO в LFS.

В этом случае lilo.conf будет выглядеть примерно так:

boot=/dev/hda

              delay=40

              compact

              vga=normal

              root=/dev/hda1

              read-only

              image=/boot/zImage-2.6.12

              label=Linux

Сделайте необходимые изменения в зависимости от вашей конфигурации. Обновляем загрузчик командой:

$ /sbin/lilo –v

И, если все предыдущие этапы были выполнены правильно, мы окажемся в новой системе. Однако долгий этап «тонкой» настройки (отдельное внимание стоит уделить безопасности новой системы, ибо LFS по умолчанию выглядит довольно-таки незащищенным, как и всякая вновь установленная ОС) еще впереди. Зато собственноручно собранная версия Linux у вас уже есть.

Постскриптум

Герард Бикменс – не единственный, кому пришло в голову создать собственный Linux. Другой проект – BYOLinux, руководителем которого являлся Джонатан Торп (Jonatan Thorpe), на сегодняшний день свое развитие прекратил, хотя написанная имдокументация сохраняет актуальность и сейчас, но она не так детальна, как LFS-book и не переведена на русский. Главное отличие метода Джона в том, что библиотека glibc переносится из родительской системы в дочернюю без перекомпиляции, это не столь эффективно, но позволяет избежать многих проблем при сборке. Желание почувствовать себя конструктором ОС испытывают и некоторые пользователи FreeBSD.

Теперь такое вполне возможно – по адресу http://ezine.daemonnews.org/200302/fbsdscratch.html находится статья о сборке FreeBSD из исходников целиком – от distributions до портов, причем методом не похожим на обычный «rebuild» системы, но схожим с методом Герарда Бикменса. Что ж, теперь и у вас есть личная, уникальная система, созданная на базе Linux. В случае возникновения проблем ищите их решение в LFS-book, там все подробно описано. Также рекомендую с портала http://www.tldp.org скачать руководство Linux Network Administrator’s Guide, оно хоть и не относится непосредственно к LFS, но пригодится на этапе настройки системы. Не стоит забывать, что с каждой программой поставляются также различные man и info pages, также призванные облегчить жизнь линуксоида.

Литература и ссылки

  1. LFS-book на русском – http://multilinux.sakh.com/lfs.
  2. Официальный портал проекта LFS – http://www.linuxfromscratch.org.
  3. Портал ByoLinux – http://www.byolinux.org.
  4. Cтатья о FreeBSD from scratch – http://ezine.daemonnews.org/200302/fbsdscratch.html.
  5. Статья о компиляции ядра Linux – http://vikos.lrn.ru/MyLDP/kernel/kompil-2-6.html.
  6. Байрак А. Обзор Knoppix 3.7 Russian Edition. – Журнал «Системный администратор», №3, март 2005 г. – 4-6 с. (http://www.samag.ru/cgi-bin/go.pl?q=articles;n=03.2005;a=02).

Ссылки на все указанные в статье программы приведены в LFS-book (Часть 3. Приложения).

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

Оригинал:

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 следующие строки:

Убедитесь, что конец секций %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-карту.

Кроме того, не забудьте настроить работу с сетью. Например, вы можете настроить беспроводный адаптер для подключения к вашей точке доступа Wi-Fi, а также доступ к различным сетевым службам.

После завершения настройки дистрибутива необходимо упаковать его в архив. Перейдите в корневую директорию с помощью команды cd / и выполните следующую команду:

Упаковка займет примерно полчаса, в зависимости от количества сделанных вами изменений.
Теперь у вас есть файл root.tar в корневой директории. Аналогично упаковываем загрузчик. Сначала переходим в директорию boot.

Затем создаем архив.

Это не займет много времени. Теперь у вас есть файл 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. Далее, создадим директорию, в которой мы будем настраивать файлы для нашего будущего дистрибутива:

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

Теперь вам нужно скопировать один из двух профилей 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 уже содержит определенный набор пакетов. Вы должны оставить их там, и добавлять свои пакеты в конец файла. Вы можете вывести список всех установленных в системе пакетов с помощью команды:

И затем скопировать те, которые вам нужны. Вы можете создать базовую систему с рабочим столом 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

После чего можете обновить систему с помощью команды:

Сделав необходимые изменения, выйдите из окружения chroot.

Не забудьте сделать эти изменения для обеих архитектур. Теперь необходимо заново собрать образ. Однако скрипт 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

Если вам понравилась статья, поделитесь ею с друзьями:



Download Article


Download Article

This wikiHow teaches you how to create a Linux operating system. While creating a Linux distribution from scratch requires advanced knowledge of how to code, a free Linux distribution called Slax will allow you to customize your Linux installation to create a distribution with only the items you want. You will need a windows computer for this process.

  1. Image titled Build Your Own Linux Distribution Step 1

    1

    Install WinRAR if you don’t have it. Since Windows doesn’t have a program which can open ISO files as directories, you’ll use this free program to open the ISO file for Slax later. Go to https://www.rarlab.com/download.htm (or go to https://www.rarlab.com/ and click Downloads on the left side), then do the following:

    • Click WinRAR x64 (64 bit) 5.60 beta 5 near the top of the page.
    • Double-click the downloaded setup file.
    • Click Yes when prompted.
    • Click Install
    • Make sure the «ISO» box is checked.
    • Click OK
    • Click Done
  2. Image titled Build Your Own Linux Distribution Step 2

    2

    Open the Slax website. Go to https://www.slax.org/en/ in your computer’s web browser. This is the website from which you can download Slax.

    Advertisement

  3. Image titled Build Your Own Linux Distribution Step 3

    3

    Click Slax 64bit. It’s on the left side of the page. Doing so prompts the Slax ISO file to download onto your computer.

    • Unless your computer was manufactured in the 90s or early 2000s, don’t use the 32-bit link for Slax.[1]
  4. Image titled Build Your Own Linux Distribution Step 4

    4

    Plug a flash drive into your computer. You can use any type of USB flash drive for this step, but the flash drive must have at least one gigabyte of storage space.

    • Given that it costs less than $10 to buy a 16-gigabyte flash drive, you might want to purchase a flash drive which is larger than one gigabyte.
  5. Image titled Build Your Own Linux Distribution Step 5

    5

    Format the flash drive for NTFS. If your flash drive has never been formatted for NTFS, you’ll need to change the file system on the flash drive to NTFS by selecting it from the «File system» drop-down menu in the Format window.

  6. Advertisement

  1. Image titled Build Your Own Linux Distribution Step 6

    1

    Right-click the downloaded Slax ISO. Doing so will prompt a drop-down menu.

    • Make sure that Slax has finished downloading before you do this.
  2. Image titled Build Your Own Linux Distribution Step 7

    2

    Select Open with. It’s near the middle of the drop-down menu. This prompts a pop-out menu to appear.

  3. Image titled Build Your Own Linux Distribution Step 8

    3

    Click WinRAR archiver. You’ll see it in the pop-out menu. The ISO file will open in WinRAR.

  4. Image titled Build Your Own Linux Distribution Step 9

    4

    Select the «slax» folder. Click once the «slax» folder near the top of WinRAR.

  5. Image titled Build Your Own Linux Distribution Step 10

    5

    Click Extract To. It’s a folder-shaped option at the top of the WinRAR window. Doing so opens a pop-up window.

  6. Image titled Build Your Own Linux Distribution Step 11

    6

    Select your flash drive’s name. You’ll find this option in the pop-up window.

  7. Image titled Build Your Own Linux Distribution Step 12

    7

    Click OK. It’s at the bottom of the window. This will allow the «slax» folder to extract and copy to your flash drive.

  8. Advertisement

  1. 1

    Understand how modules work. Slax is a lightweight distribution, meaning that it only comes with a few absolutely necessary programs and services installed. By adding module files to your Slax installation flash drive, you can determine which programs, features, and graphical interfaces appear in your final distribution.

    • Like Slax, modules are completely free to download and use.
  2. 2

  3. 3

    Select a category. Click any one of the categories (e.g., artwork) to view a list of its included modules.

  4. 4

    Find a module you want to install. Each listed module will have a description to the right of it, so scroll through the descriptions until you find one for a program or feature you’d like to include in your installation.

  5. 5

    Click 64bit. It’s a button to the left of your preferred module.

    • If this button is greyed out, you’ll click 32bit instead. Almost all of the available modules are 64 bit.
  6. 6

    Repeat for any other module files. Once you’ve downloaded all of the modules you want to install, you can proceed.

    • Don’t worry about renaming or classifying the modules—they’re all going to go in the same folder.
  7. 7

    Copy the module files. Click and drag your mouse to select all of your downloaded module files, then press Ctrl+C.

  8. 8

    Open your flash drive. If your flash drive is already open in a window, you’re all set. If not, do the following:

    • Press Win+E to open File Explorer (or type file explorer into Start and then click File Explorer).
    • Click This PC on the left side of File Explorer.
    • Double-click your flash drive’s name.
  9. 9

    Open the «slax» folder. Double-click the «slax» folder at the top of your flash drive’s window.

  10. 10

    Open the «modules» folder. Double-click the «modules» folder near the top of the window.

  11. 11

    Paste in the module files. Once the empty «modules» folder is open, press Ctrl+V to paste the module files into it.

  12. Advertisement

  1. Image titled Build Your Own Linux Distribution Step 24

    1

    Re-open your flash drive. If you closed your flash drive, re-open it via File Explorer.

    • If your flash drive is open, click the «Back» button in the top-left corner of the File Explorer, then skip the next step.
  2. Image titled Build Your Own Linux Distribution Step 25

    2

    Open the «slax» folder. It should be the only folder on your flash drive.

  3. Image titled Build Your Own Linux Distribution Step 26

    3

    Open the «boot» folder. This folder is near the top of the flash drive’s window.

  4. Image titled Build Your Own Linux Distribution Step 27

    4

    Run the boot installer. Double-click the bootinst file in the «boot» folder, then click Yes when prompted. This will allow Slax to make your USB flash drive bootable.

  5. Image titled Build Your Own Linux Distribution Step 28

    5

    Press any key when prompted. Doing so signifies that your USB flash drive is now bootable.

  6. Image titled Build Your Own Linux Distribution Step 29

    6

    Open your computer’s BIOS page. This will vary slightly from Windows computer to Windows computer, but you’ll always start by restarting your PC. After the computer shuts down and begins to reboot, you’ll press your computer’s «BIOS» key, which will change depending on your computer’s manufacturer.

    • The «BIOS» key is usually one of the function keys (e.g., F12), the Del key, or something similar.
  7. Image titled Build Your Own Linux Distribution Step 30

    7

    Set your flash drive as the primary boot location. Again, this will vary depending on your computer’s manufacturer. In most cases, you’ll find the «Boot», «Advanced», or «Drives» section in which all of your computer’s attached drives are, then you’ll use the arrow keys to select your flash drive and press the + key to move the flash drive to the top of the list.

    • Keep in mind that this will cause your computer to boot from the flash drive rather than its built-in hard drive whenever the flash drive is connected.
  8. Image titled Build Your Own Linux Distribution Step 31

    8

    Save and exit. Press the «Save and Exit» key that’s listed in the key legend at the bottom or on the side of the screen.

    • You may have to confirm this choice by pressing another key.
  9. Image titled Build Your Own Linux Distribution Step 32

    9

    Wait for the Slax startup icon to appear. Once you see the Slax four-leaf clover appear, Slax is opening. You should see the Slax desktop appear shortly after this point.

  10. Image titled Build Your Own Linux Distribution Step 33

    10

    View your installed programs. Click the four-box «Menu» icon in the lower-left corner of the screen to do so. You should see any module programs that you installed here.

    • If you added any graphical modules, they will appear as part of your system. For example, if you added an icon module which changes the icons in your Slax distribution, the icons will be different upon booting.
    • You can delete modules from or add modules to your flash drive at any time from within the «slax/modules/» directory.
  11. Advertisement

Add New Question

  • Question

    Is there any way that I can make it by coding?

    Community Answer

    You can use Linux from scratch. Search for it and you will find some tutorials about it.

  • Question

    How do I build my own Linux distribution if SUSE studio is being discontinued?

    Community Answer

    You’ll have to take the harder path, building your own Linux from scratch. It is quite difficult, but will soon be your only option if you want the best customization.

  • Question

    I try to create an account at SUSE Studio, but get error 500 when trying to use my Google account. I do not have any other account to use for it. I don’t want to use method 1. What do I do?

    Community Answer

    SUSE Studio is discontinuing soon, so there really isn’t that much choice.

See more answers

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

  • If you’re interested in coding your own Linux distribution from scratch, you should check out the free Linux from Scratch eBook available at http://www.linuxfromscratch.org/lfs/downloads/stable/. You can click the LFS-BOOK-8.2.pdf link to open the PDF version of the book, which offers step-by-step instructions on creating your own distribution.

  • While you can easily run Slax on a virtual machine (e.g., VirtualBox), you won’t be able to use any of the modules for it if you do so.

  • By default, Slax only comes with a few programs. This makes it incredibly fast and easy to install on virtually any computer built in the last decade.

Thanks for submitting a tip for review!

Advertisement

  • Unfortunately, building a Linux distribution via other formerly popular methods (e.g., SUSE) is no longer possible as these services have been discontinued.

  • Slax, like any other Linux version, offers limited support for some programs.

Advertisement

References

About This Article

Thanks to all authors for creating a page that has been read 163,322 times.

Is this article up to date?


Download Article


Download Article

This wikiHow teaches you how to create a Linux operating system. While creating a Linux distribution from scratch requires advanced knowledge of how to code, a free Linux distribution called Slax will allow you to customize your Linux installation to create a distribution with only the items you want. You will need a windows computer for this process.

  1. Image titled Build Your Own Linux Distribution Step 1

    1

    Install WinRAR if you don’t have it. Since Windows doesn’t have a program which can open ISO files as directories, you’ll use this free program to open the ISO file for Slax later. Go to https://www.rarlab.com/download.htm (or go to https://www.rarlab.com/ and click Downloads on the left side), then do the following:

    • Click WinRAR x64 (64 bit) 5.60 beta 5 near the top of the page.
    • Double-click the downloaded setup file.
    • Click Yes when prompted.
    • Click Install
    • Make sure the «ISO» box is checked.
    • Click OK
    • Click Done
  2. Image titled Build Your Own Linux Distribution Step 2

    2

    Open the Slax website. Go to https://www.slax.org/en/ in your computer’s web browser. This is the website from which you can download Slax.

    Advertisement

  3. Image titled Build Your Own Linux Distribution Step 3

    3

    Click Slax 64bit. It’s on the left side of the page. Doing so prompts the Slax ISO file to download onto your computer.

    • Unless your computer was manufactured in the 90s or early 2000s, don’t use the 32-bit link for Slax.[1]
  4. Image titled Build Your Own Linux Distribution Step 4

    4

    Plug a flash drive into your computer. You can use any type of USB flash drive for this step, but the flash drive must have at least one gigabyte of storage space.

    • Given that it costs less than $10 to buy a 16-gigabyte flash drive, you might want to purchase a flash drive which is larger than one gigabyte.
  5. Image titled Build Your Own Linux Distribution Step 5

    5

    Format the flash drive for NTFS. If your flash drive has never been formatted for NTFS, you’ll need to change the file system on the flash drive to NTFS by selecting it from the «File system» drop-down menu in the Format window.

  6. Advertisement

  1. Image titled Build Your Own Linux Distribution Step 6

    1

    Right-click the downloaded Slax ISO. Doing so will prompt a drop-down menu.

    • Make sure that Slax has finished downloading before you do this.
  2. Image titled Build Your Own Linux Distribution Step 7

    2

    Select Open with. It’s near the middle of the drop-down menu. This prompts a pop-out menu to appear.

  3. Image titled Build Your Own Linux Distribution Step 8

    3

    Click WinRAR archiver. You’ll see it in the pop-out menu. The ISO file will open in WinRAR.

  4. Image titled Build Your Own Linux Distribution Step 9

    4

    Select the «slax» folder. Click once the «slax» folder near the top of WinRAR.

  5. Image titled Build Your Own Linux Distribution Step 10

    5

    Click Extract To. It’s a folder-shaped option at the top of the WinRAR window. Doing so opens a pop-up window.

  6. Image titled Build Your Own Linux Distribution Step 11

    6

    Select your flash drive’s name. You’ll find this option in the pop-up window.

  7. Image titled Build Your Own Linux Distribution Step 12

    7

    Click OK. It’s at the bottom of the window. This will allow the «slax» folder to extract and copy to your flash drive.

  8. Advertisement

  1. 1

    Understand how modules work. Slax is a lightweight distribution, meaning that it only comes with a few absolutely necessary programs and services installed. By adding module files to your Slax installation flash drive, you can determine which programs, features, and graphical interfaces appear in your final distribution.

    • Like Slax, modules are completely free to download and use.
  2. 2

  3. 3

    Select a category. Click any one of the categories (e.g., artwork) to view a list of its included modules.

  4. 4

    Find a module you want to install. Each listed module will have a description to the right of it, so scroll through the descriptions until you find one for a program or feature you’d like to include in your installation.

  5. 5

    Click 64bit. It’s a button to the left of your preferred module.

    • If this button is greyed out, you’ll click 32bit instead. Almost all of the available modules are 64 bit.
  6. 6

    Repeat for any other module files. Once you’ve downloaded all of the modules you want to install, you can proceed.

    • Don’t worry about renaming or classifying the modules—they’re all going to go in the same folder.
  7. 7

    Copy the module files. Click and drag your mouse to select all of your downloaded module files, then press Ctrl+C.

  8. 8

    Open your flash drive. If your flash drive is already open in a window, you’re all set. If not, do the following:

    • Press Win+E to open File Explorer (or type file explorer into Start and then click File Explorer).
    • Click This PC on the left side of File Explorer.
    • Double-click your flash drive’s name.
  9. 9

    Open the «slax» folder. Double-click the «slax» folder at the top of your flash drive’s window.

  10. 10

    Open the «modules» folder. Double-click the «modules» folder near the top of the window.

  11. 11

    Paste in the module files. Once the empty «modules» folder is open, press Ctrl+V to paste the module files into it.

  12. Advertisement

  1. Image titled Build Your Own Linux Distribution Step 24

    1

    Re-open your flash drive. If you closed your flash drive, re-open it via File Explorer.

    • If your flash drive is open, click the «Back» button in the top-left corner of the File Explorer, then skip the next step.
  2. Image titled Build Your Own Linux Distribution Step 25

    2

    Open the «slax» folder. It should be the only folder on your flash drive.

  3. Image titled Build Your Own Linux Distribution Step 26

    3

    Open the «boot» folder. This folder is near the top of the flash drive’s window.

  4. Image titled Build Your Own Linux Distribution Step 27

    4

    Run the boot installer. Double-click the bootinst file in the «boot» folder, then click Yes when prompted. This will allow Slax to make your USB flash drive bootable.

  5. Image titled Build Your Own Linux Distribution Step 28

    5

    Press any key when prompted. Doing so signifies that your USB flash drive is now bootable.

  6. Image titled Build Your Own Linux Distribution Step 29

    6

    Open your computer’s BIOS page. This will vary slightly from Windows computer to Windows computer, but you’ll always start by restarting your PC. After the computer shuts down and begins to reboot, you’ll press your computer’s «BIOS» key, which will change depending on your computer’s manufacturer.

    • The «BIOS» key is usually one of the function keys (e.g., F12), the Del key, or something similar.
  7. Image titled Build Your Own Linux Distribution Step 30

    7

    Set your flash drive as the primary boot location. Again, this will vary depending on your computer’s manufacturer. In most cases, you’ll find the «Boot», «Advanced», or «Drives» section in which all of your computer’s attached drives are, then you’ll use the arrow keys to select your flash drive and press the + key to move the flash drive to the top of the list.

    • Keep in mind that this will cause your computer to boot from the flash drive rather than its built-in hard drive whenever the flash drive is connected.
  8. Image titled Build Your Own Linux Distribution Step 31

    8

    Save and exit. Press the «Save and Exit» key that’s listed in the key legend at the bottom or on the side of the screen.

    • You may have to confirm this choice by pressing another key.
  9. Image titled Build Your Own Linux Distribution Step 32

    9

    Wait for the Slax startup icon to appear. Once you see the Slax four-leaf clover appear, Slax is opening. You should see the Slax desktop appear shortly after this point.

  10. Image titled Build Your Own Linux Distribution Step 33

    10

    View your installed programs. Click the four-box «Menu» icon in the lower-left corner of the screen to do so. You should see any module programs that you installed here.

    • If you added any graphical modules, they will appear as part of your system. For example, if you added an icon module which changes the icons in your Slax distribution, the icons will be different upon booting.
    • You can delete modules from or add modules to your flash drive at any time from within the «slax/modules/» directory.
  11. Advertisement

Add New Question

  • Question

    Is there any way that I can make it by coding?

    Community Answer

    You can use Linux from scratch. Search for it and you will find some tutorials about it.

  • Question

    How do I build my own Linux distribution if SUSE studio is being discontinued?

    Community Answer

    You’ll have to take the harder path, building your own Linux from scratch. It is quite difficult, but will soon be your only option if you want the best customization.

  • Question

    I try to create an account at SUSE Studio, but get error 500 when trying to use my Google account. I do not have any other account to use for it. I don’t want to use method 1. What do I do?

    Community Answer

    SUSE Studio is discontinuing soon, so there really isn’t that much choice.

See more answers

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

  • If you’re interested in coding your own Linux distribution from scratch, you should check out the free Linux from Scratch eBook available at http://www.linuxfromscratch.org/lfs/downloads/stable/. You can click the LFS-BOOK-8.2.pdf link to open the PDF version of the book, which offers step-by-step instructions on creating your own distribution.

  • While you can easily run Slax on a virtual machine (e.g., VirtualBox), you won’t be able to use any of the modules for it if you do so.

  • By default, Slax only comes with a few programs. This makes it incredibly fast and easy to install on virtually any computer built in the last decade.

Thanks for submitting a tip for review!

Advertisement

  • Unfortunately, building a Linux distribution via other formerly popular methods (e.g., SUSE) is no longer possible as these services have been discontinued.

  • Slax, like any other Linux version, offers limited support for some programs.

Advertisement

References

About This Article

Thanks to all authors for creating a page that has been read 163,322 times.

Is this article up to date?

На чтение 5 мин Просмотров 3.3к. Опубликовано 28.09.2017

Содержание

  1. 1. Linux Respin
  2. 2. Linux Live Kit
  3. 3. Ubuntu Imager
  4. 4. Linux from Scratch
  5. 5. Slax Modules Tool
  6. 6. Live Magic
  7. 7. Instalinux
  8. 8. SUSE Studio
  9. В заключении.

Все пользователи Linux начиная знакомиться с этой операционной системой рано или поздно начинают подыскивать себе дистрибутив который бы их устраивал в большей степени. Кому-то не нравится пакетный менеджер, кому-то ограниченность в настройках, кому-то требуется чтобы предустановленные пакеты были только те которые нужны самому пользователю, а не те которые выбрали разработчики дистрибутива, кто-то хочет готовый Live-образ или дистрибутив для быстрого развертывания на парке машин. Рано или поздно каждый задумывается — раз уж Linux такой открытый. А не попробовать ли мне самому создать дистрибутив своей мечты?

Ниже я расскажу о 8 утилитах которые помогут и облегчат работу по созданию собственного дистрибутива.

1. Linux Respin

Иллюстрация 1

Linux Respin это форк более неподдерживаемого Remastersys. Год назад Remastersys был самым популярным инструментом для создания собственного дистрибутива Linux  и/или создания резервной копии вашей операционной системы. Linux Respin не даёт тех же возможностей что и Remastersys, но всё еще великолепно вам подойдет, если вы используете один из дистрибутивов которые им поддерживаются. Linux Respin доступен только для Debian, Mint и Trisquel, что, конечно, ограничивает его популярность. Еще один жирный минус в этом инструменте — практически полное отсутствие документации.

2. Linux Live Kit

Картинка 2

Linux Live Kit другой инструмент который вы можете использовать для создания своего дистрибутива или создания резервной копии ОС. Предпочитает Debian но к счастью замечательно работает и на других дистрибутивах если они обеспечивают поддержку ядерных модулей aufs и squashfs. Linux Live Kit очень короткий и удобный мастер по созданию дистрибутива – просто выполняйте инструкции шаг за шагов и всё будет готово.

3. Ubuntu Imager

Иллюстрация 3Ubuntu Imager хороший инструмент для создания своего дистрибутива основанного на Ubuntu. Это не единственное такое приложение для Ubuntu, но так как оно хорошее, нельзя было его не упомянуть. Не буду детально останавливаться на его работе, так как для него есть ЧаВо с инструкциями по установке и работе.

4. Linux from Scratch

Иллюстрация 4Если вы хотите иметь абсолютный контроль над тем, что включено в ваш дистрибутив, и у вас много свободного времени, вы можете взглянуть на проект Linux from Scratch. LFS имеет очень обширную документацию и является отличным учебным ресурсом про Linux в целом, а не только о том, как создать собственный дистрибутив. Linux from Scratch позволяет вам создать собственную систему Linux из исходных кодов. LFS это не совсем инструмент, как остальные в этом списке, но вы все равно можете использовать его с той же целью — создать свой собственный дистрибутив Linux (и много узнать о Linux в целом).

Изображение 5Если вы ищете простой в использовании инструмент, и вам нравится легковесный дистрибутив Slax — в основе которого Slackware, то вам повезло! Потому что у Slax есть онлайн-инструмент, который вы можете использовать для выбора модулей, которые вы хотели бы включить в свой дистрибутив. Я использовал этот инструмент в прошлом много раз, когда я хотел создать легкую живую систему для моих друзей, и она работает просто удивительно. Просмотрите категории программного обеспечения и выберите нужные приложения. Добавьте их в сборку. Не беспокойтесь, если вы пропустите что-то, так как всегда сможете добавить больше приложений после создания и запуска дистрибутива.

6. Live Magic

Картинка 6Live Magic еще одна утилита Debian для создания дистрибутива. Она может создавать CD, USB, и сетевые образы. Его гораздо проще использовать, чем некоторые другие приложения в этом списке, такие как Remastersys, но он не использует вашу работающую систему как основу для создания образа. Вместо этого следуйте указаниям мастера и выберите свои параметры конфигурации. Программа вытащит пакеты из ваших репозиториев и добавит их в ваш образ.

7. Instalinux

Иллюстрация 7Изюминка Instalinux в том, что он позволяет создавать образы ISO  онлайн. На сайте можно выбрать на каком дистрибутиве будет основан ваш (это CentOS, Debian, Fedora, Mint, OpenSUSE, Scientific, и Ubuntu), какую версию это дистрибутива использовать и какие пакеты. Instalinux создает небольшой загрузочный ISO (в среднем 30mb) который после загрузки начнет установку и получит все остальные необходимые пакеты из интернета. Это самый универсальный инструмент из списка, к тому же веб-интерфейс прост в использовании. Однако он не предоставит вам live-образ с готовым рабочим окружением и рабочим столом.

8. SUSE Studio

Изображение 8Для пользователей SUSE лучший выбор SUSE Studio. Немного похоже на Instalinux, SUSE studio позволяет вам используя веб-интерфейс создать свой собственный дистрибутив на основе SUSE. Доступно создание образов для CD, DVD, USB, жестких дисков, VMware, VirtualBox, и Xen. Перед использованием вам потребуется создать  аккаунт – это просто, так как используется Single Sign On, и вы быстро можете зарегистрироваться используя ваш аккаунт Google, Facebook, и т.п. Вы сможете выбрать какая версия SUSE будет использована как основа, серверная редакция или нет, и какое окружение рабочего стола будет включено в сборку.

В заключении.

Я надеюсь, что эти инструменты для создания собственного дистрибутива Linux помогут вам. Их уровень сложности (и мощности) варьируется, но я попытался включить как простые в использовании приложения, так и приложения, которые дают вам больше возможностей. В дополнение к этим приложениям многие дистрибутивы имеют свои собственные инструменты, которые были упомянуты здесь, поэтому, если вы используете другой дистрибутив, лучше сначала проверить, какие инструменты доступны в частности для него , а затем, если вас не устроит то что вы найдете, попробуйте универсальные.

Понравилась статья? Поделить с друзьями:
  • Как написать свою ос для смартфона
  • Как написать свою операционную систему на ассемблере
  • Как написать свою операционную систему на python
  • Как написать свою операционную систему для телефона
  • Как написать свою новеллу