Как создать установщик linux

Обновлено: 03.07.2024

Прежде чем делать свою сборку, Вы должны определить цель и задачи своего творения. Иначе сборка может не получить своё предназначение в этом мире и остаться малоизвестной.Итак, цели и задачи определены и Вы решились сделать сборку своей системы.
Для начала Вы должны либо в 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 создает иконку установки Вашей системы на рабочем столе. Опция работает на всех основных рабочих столах.

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.jpg - фоновое изображение. Размер изображения 640х480 точек на дюйм.
isolinux.cfg - конфигурационный файл загрузочного меню.
vesamenu.c32, isolinux.bin - системные файлы.
Смело меняем фон загрузочного меню на свой. Тип файла и название должно остаться таким же. Размер изображения обязательно 640х480 точек на дюйм.
Далее я выложил листинг отредактированного конфигурационного файла isolinux.cfg. За основу взят стандартный конфигурационный файл Remastersys. Я постарался максимально понятно написать комментарии к строкам. Почти вся информация в интернете на английском языке и очень краткая, поэтому много времени потратил на эксперименты, чтобы узнать, что и как работает.

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

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

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

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

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

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

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


Теперь воспользуемся программой 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. СОВЕТЫ И РЕКОМЕНДАЦИИ

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


Следуй традициям gentoo и crux - инсталятор не нужен.

или может тебя что-то вроде live-cd/dvd/usb интересует?


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


Здравствуй, юный падаван. Рано тебе вопросы задавать такие. Ознакомься сперва с документом этим. И да пребудет с тобой Сила.

Инсталлятор Арча — это пользователь. :P The best bug-free code is no code!

за исключением правда Gentoo, LFS, Arch Linux.

ну врать то не надо, там тоже он есть, но только находится между стулом и монитором.


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

дело дениски живёт и здравствует


Хочу установить свою собственную сборку. Есть варианты самому собрать этот инсталлятор?


сборку на основе чего?Для каких целей ты её делаешь?ОТ этого будет зависеть,что и как тебе собирать.


ладно б дениски, главное что бы не Бабушкина.


Вот-вот. Уже ближе)

А у Gentoo или LFS по твоему не так?


читай LFS
пиши shell-скрипт

А у Gentoo или LFS по твоему не так?

Странный вывод из моей фразы.


можно написать скрипт на… на чём угодно

Ну а зачем тогда выделаешь Arch Linux из представленных 3-х дистрибутивов?

Просто я им пользуюсь. ^^


как вариант руками

прими мои соболезнования xD


Здравствуйте! Как сделать инсталятор ОС Linux?

Сначала изучи Линукс. Не как пользователь, как разработчик. Начни например с Linux From Scratches. Овладей языком консоли, bash, разберись в архитектуре ОС и компьютеров, чтобы процесс освоения не превращался в тупой copy\past. Ты должен выяснить смысл каждого твоего действия и понять принципы и необходимость наличия каждого устанавливаемого тобою программного пакета до полной прозрачности.

Параллельно изучай программирование вообще, конкретно язык C и скриптовые языки, python например. И в какой то момент всё станет понятно.


Да. Можно написать на том же bash с использованием какого-нибудь dialog. Посмотри исходники такового, например, в slackware(хотя там sh).

Или, например, установщик Archbang. Да куча уже понаписана. Бери, пили под свои нужды и да пребудет с тобой сила.


Вот и смотри. А как бы ты сделал всё вышеперечисленное в консоли?

Для создания live-cd можно существующую linux-систему запаковать в squashfs. Отдельно положить ядро и initrd. Добавить загрузчик(допустим, syslinux). И полученный результат сделать iso-образом.

Для ручной разметки можно вызвать gparted(если в live-cd есть гуй), или тот же cfdisk + создание файловых систем через mk_нужной_фс.

Для автоматической из скрипта можно вбить нужные команды fdisk.

Дальше копирование нужных тебе компонентов на целевую систему(допустим).

И установка загрузчика.


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

Чтобы запустить Linux на своём компьютере безо всяких виртуальных машин, вам понадобится загрузочная флешка. Для этой задачи подойдёт носитель объёмом от 4 ГБ. Все данные с него будут стёрты, поэтому предварительно скопируйте нужные файлы куда-то ещё. После этого воспользуйтесь нашей инструкцией.

1. Загрузите ISO-образ

Для создания загрузочной флешки вам понадобится один из дистрибутивов Linux. Они распространяются в формате образа диска ISO. Чтобы вы не ломали голову, на каком дистрибутиве остановиться, мы собрали проверенные варианты.

В качестве примера возьмём Ubuntu из-за её популярности, но для других Linux действия идентичны. Откройте сайт Ubuntu, перейдите в раздел Download и нажмите на зелёную кнопку, чтобы скачать ISO-файл системы. Если разработчик предлагает загрузить ISO через торрент, воспользуйтесь этой возможностью. Так выйдет быстрее.

2. Запишите образ на носитель

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

Windows

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

  1. Скачайте Rufus с официального сайта, установите и запустите. Либо просто откройте без инсталляции, если выбрали переносную версию.
  2. Укажите носитель, на который нужно записать образ. Если в компьютер вставлена одна флешка, то Rufus выберет её по умолчанию.
  3. Выберите скачанный образ ISO. Скорее всего, он будет находиться в папке «‎Загрузки». Другие параметры для продвинутых пользователей не трогайте: Rufus сам знает, что делать.
  4. Нажмите на кнопку «‎Старт». Если понадобится подтверждение, нажмите «‎Да» и OK. И ждите, пока Rufus не закончит работу.

macOS

  1. Загрузите приложение balenaEtcher и переместите его в папку с программами, затем запустите.
  2. Нажмите Select Image и укажите скачанный вами ISO.
  3. Щёлкните Select target и выберите нужный носитель.
  4. Теперь нажмите Flash, чтобы начать запись.

Возможно, понадобится ввести пароль суперпользователя macOS. Сделайте это и ждите, пока процесс не завершится.

Linux

Есть целых три способа создать загрузочную флешку на этой ОС.

Startup Disk Creator

Это встроенный инструмент для создания загрузочных флешек. Он есть в Ubuntu и многих её производных. Программу можно найти в меню запуска по названию «‎Создание загрузочного диска» или Startup Disk Creator.

Откройте приложение, нажмите «‎Обзор» и укажите нужный ISO-образ. Затем выберите носитель и щёлкните «‎Создать загрузочный диск». Если понадобится, введите свой пароль суперпользователя Linux.

Etcher

Ещё один вариант — кроссплатформенный Etcher.

  1. Скачайте программу с официального сайта, распакуйте ZIP-архив и запустите.
  2. Нажмите Flasf from file и укажите скачанный вами ISO.
  3. Щёлкните Select target и выберите нужный носитель.
  4. Нажмите Flash, чтобы начать запись.
  5. Введите пароль суперпользователя, если система его запросит, и ждите.

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

  1. Откройте «‎Терминал» и введите команду lsblk . Вы увидите имена всех ваших накопителей в виде sda1, sda2, sdb1 и так далее. Запомните имя флешки, например sdb1.
  2. Введите команду sudo umount /dev/sdb1 и пароль суперпользователя. Это отключит флешку, сделав её доступной для записи.
  3. Теперь введите команду sudo dd if=путь/к/образу/ubuntu.iso of=/dev/sdb1 bs=4M .

Вместо путь/к/образу подставьте адрес папки, где лежит ISO-образ. Или, чтобы не путаться в адресах, переложите образ в свою домашнюю папку. Если файл называется ubuntu-20.04.1-desktop-amd64.iso , команда будет выглядеть вот так: sudo dd if=ubuntu-20.04.1-desktop-amd64.iso of=/dev/sdb1 bs=4M .

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

Восемь утилит для создания своего собственного дистрибутива Linux

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

1. Linux Respin

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

2. Linux Live Kit

Картинка 2

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

3. Ubuntu Imager

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

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

4. Linux from Scratch

5. Slax Modules Tool

6. Live Magic

Картинка 6

Live 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 помогут вам. Их уровень сложности (и мощности) варьируется, но я попытался включить как простые в использовании приложения, так и приложения, которые дают вам больше возможностей. В дополнение к этим приложениям многие дистрибутивы имеют свои собственные инструменты, которые были упомянуты здесь, поэтому, если вы используете другой дистрибутив, лучше сначала проверить, какие инструменты доступны в частности для него , а затем, если вас не устроит то что вы найдете, попробуйте универсальные.

Читайте также: