- Создаём простейший образ Linux сами
- Что потребуется?
- Что к пониманию?
- Начинаем собирать ОС
- Пошаговое руководство как собрать ядро Linux с нуля
- Сборка ядра Linux
- Шаг 1. Загрузите исходный код
- Шаг 2: извлеките исходный код
- Шаг 3: Установите необходимые пакеты
- Шаг 4: Настройте ядро
- Шаг 5: Соберите ядро
- Шаг 6. Обновите загрузчик (необязательно)
- Шаг 7: перезагрузите и проверьте версию ядра
- Итог
- MNorin.com
- Блог про Linux, Bash и другие информационные технологии
- Как собрать свой дистрибутив Linux
- Linux From Scratch (LFS)
- simple-cdd
- SUSE Studio
- Ubuntu Builder
- Novo Builder
- Похожие посты:
Создаём простейший образ Linux сами
Опытные пользователи ОС Linux знают, что система открыта и при желании позволяет собрать дистрибутив “под себя” — включить в него нужные драйвера, программное обеспечение и разные “плюшки”. Сделать это не очень сложно, но потребуется усидчивость и внимательность — ими в разной степени обладает каждый из нас, давайте попробуем создать свой дистрибутив Linux?
Создать такой образ по силам каждому, однако могут это не только лишь все ©. Изображение в свободном доступе.
Что потребуется?
Для начала нам понадобится ядро будущей системы, программа-загрузчик, а также набор утилит для работы с программами ядра и корневая файловая система начального уровня, необходимая для загрузки системы. Помимо этого, как я говорил, потребуется немного внимательности, усидчивости, и вкусный горячий чаёк для настроения (рекомендую зелёный с мятой). Ну или не чаёк — тут уже вопрос предпочтений.
Такого количества мониторов и компьютеров вам навряд ли потребуется, однако приготовьтесь основательно — поработать ручками придётся. Изображение в свободном доступе.
Но самое главное — на компьютере уже должна быть предустановлена ОС Linux, в нашем случае возьмём Ubuntu, как самый распространённый среди пользователей дистрибутив.
Что к пониманию?
Думаю, что нужно для начала объяснить что к чему из всех этих малознакомых для большинства читателей терминов. Загрузчик, ядро, корневая файловая система и набор утилит для работы с ядром — всё это необходимые компоненты для работ по созданию собственного дистрибутива.
Загрузчик — набор из микропрограмм, которые инициируют выполнение протокола загрузки программного обеспечения, входящего в ядре ОС.
Ядро системы — совокупность программного кода, обеспечивающих работу устройств ввода-вывода, файловой системы, системных процессов и прочих программ, входящих в состав ОС. Именно на уровне ядра обеспечивается работа всех компонентов вашего компьютера — его компиляцию мы намеренно рассматривать не будем в рамках данной статьи, ибо этот процесс не совсем понятен даже опытным пользователям Linux.
Корневая файловая система начального уровня необходима для инициации запуска создаваемого дистрибутива — она содержит модули, необходимые для запуска ядра ОС и соответственно, загрузки и работы компьютера.
Набор утилит позволяет работать с программным кодом ядра системы, и именно их наличие определяет функциональность системы, её работоспособность и уровень взаимодействия компьютера с пользователем.
Рабочая среда для создания собственного дистрибутива — необходимо установить пакеты ПО:
- make;
- build-essential;
- bc;
- bison;
- flex;
- libssl-dev;
- libelf-dev;
- wget;
- cpio;
- fdisk;
- extlinux;
- dosfstools;
- qemu-system-x86 (на всякий случай)
Устанавливать эти пакеты «оптом» можно с помощью следующего набора команд:
$ sudo apt install —yes make build-essential bc bison flex libssl-dev libelf-dev wget cpio fdisk extlinux dosfstools qemu-system-x86
Начинаем собирать ОС
После того, как вы установили все необходимые пакеты ПО для разработки, можно приступать к процессу. Для начала нам конечно же потребуется само ядро ОС и BusyBox (в нём проще собирать, как по мне).
Пошаговое руководство как собрать ядро Linux с нуля
Ядро Linux является основой Unix-подобных операционных систем. Ядро отвечает за связь между оборудованием и программным обеспечением и за распределение доступных ресурсов.
Все дистрибутивы Linux основаны на предопределенном ядре. Но если вы хотите отключить несколько параметров и драйверов или попробовать экспериментальные исправления, вам необходимо собрать ядро Linux.
В этом пошаговом руководстве вы узнаете, как собрать и скомпилировать ядро Linux с нуля.
Сборка ядра Linux
Процесс создания ядра Linux состоит из семи простых шагов. Однако процедура требует значительного времени для завершения, в зависимости от скорости системы.
Примечание. Если версия на веб-сайте ядра не совпадает с версией из приведенных ниже шагов, используйте эти команды и замените номер версии ядра.
Шаг 1. Загрузите исходный код
1. Посетите официальный сайт ядра www.kernel.org и загрузите последнюю версию. Загруженный файл содержит сжатый исходный код.
2. Откройте терминал и используйте команду wget для загрузки исходного кода ядра Linux:
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.9.6.tar.xz
По завершении загрузки в выходных данных отображается сообщение «saved».
Шаг 2: извлеките исходный код
Когда файл будет готов, запустите команду tar , чтобы извлечь исходный код:
Вывод отображает извлеченный исходный код ядра:
Шаг 3: Установите необходимые пакеты
Перед сборкой ядра установите дополнительные пакеты. Для этого запустите эту команду:
sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison
Команда, которую мы использовали выше, устанавливает следующие пакеты:
- git — отслеживает и записывает все изменения исходного кода во время разработки. Это также позволяет отменить изменения.
- fakeroot — упаковочный инструмент, создающий фальшивую корневую среду.
- build-essential — Устанавливает инструменты разработки, такие как C, C++, gcc и g++.
- ncurses-dev — Библиотека программирования, предоставляющая API для текстовых терминалов.
- xz-utils — обеспечивает быстрое сжатие и распаковку файлов.
- libssl-dev — поддерживает SSL и TSL, которые шифруют данные и делают интернет-соединение безопасным.
- bc (Basic Calculator) — математический язык сценариев, поддерживающий интерактивное выполнение операторов.
- flex (Fast Lexical Analyzer Generator) — генерирует лексические анализаторы, преобразующие символы в токены.
- libelf-dev — выдает общую библиотеку для управления файлами ELF (исполняемые файлы, дампы ядра и объектный код)
- bison — генератор парсера GNU, который преобразует описание грамматики в программу на языке C.
Шаг 4: Настройте ядро
Исходный код ядра Linux поставляется с конфигурацией по умолчанию. Однако вы можете настроить его под свои нужды. Для этого выполните следующие действия:
1. Перейдите к каталогу linux-5.9.6. с помощью команды cd :
2. Скопируйте существующий файл конфигурации с помощью команды cp :
cp -v /boot/config-$(uname -r) .config
3. Чтобы внести изменения в файл конфигурации, выполните команду make :
Команда запускает несколько скриптов, которые затем открывают меню конфигурации:
4. Меню конфигурации включает в себя такие параметры, как прошивка, файловая система, сеть и параметры памяти. Используйте стрелки, чтобы сделать выбор, или выберите HELP, чтобы узнать больше о вариантах. Когда вы закончите вносить изменения, выберите SAVE, а затем выйдите из меню.
Примечание. Изменение настроек некоторых параметров может привести к тому, что ядро не будет работать. Если вы не знаете, что изменить, оставьте настройки по умолчанию.
Шаг 5: Соберите ядро
1. Начните сборку ядра, выполнив следующую команду:
Процесс сборки и компиляции ядра Linux занимает некоторое время.
Терминал перечисляет все компоненты ядра Linux: управление памятью, драйверы оборудования, драйверы файловой системы, сетевые драйверы и управление процессами.
2. Установите необходимые модули с помощью этой команды:
sudo make modules_install
3. Наконец, установите ядро, набрав:
Вывод показывает готово, когда закончено:
Шаг 6. Обновите загрузчик (необязательно)
Загрузчик GRUB — это первая программа, которая запускается при включении системы.
Команда make install выполняет этот процесс автоматически, но вы также можете сделать это вручную.
1. Обновите initramfs до установленной версии ядра:
sudo update-initramfs -c -k 5.9.6
2. Обновите загрузчик GRUB с помощью этой команды:
Терминал выведет процесс и подтверждающее сообщение:
Шаг 7: перезагрузите и проверьте версию ядра
Когда вы выполните описанные выше действия, перезагрузите компьютер.
Когда система загрузится, проверьте версию ядра с помощью команды uname :
Терминал покажет текущую версию ядра Linux.
Итог
В этом пошаговом руководстве вы узнали, как собрать ядро Linux с нуля и установить необходимые пакеты.
MNorin.com
Блог про Linux, Bash и другие информационные технологии
Как собрать свой дистрибутив Linux
Собрать свой дистрибутив операционной системы на базе ядра Linux и свободного программного обеспечения можно несколькими способами. Среди них есть как сложные, так и очень простые. Давайте рассмотрим несколько способов разной степени сложности и, может быть, вы для себя какой-то из этих способов выберите, чтобы собирать образы операционных систем для дома или работы. Некоторые способы даже не требуют каких-то более или менее глубоких знаний о Linux.
Linux From Scratch (LFS)
Самый суровый способ. LFS представляет из себя сочетание книги и загрузочного диска для сборки собственной операционной системы на базе ядра Linux полностью с нуля из исходных кодов. Отлично подходит для изучения операционных систем GNU/Linux, но абсолютно не подходит для начинающих. Очень не рекомендую тем, кто еще не умеет пользоваться Linux’ом. И очень рекомендую тем, кто хочет более плотно изучить что и как работает в операционных системах на базе ядра Linux и готов на это потратить какое-то время. Официальный сайт — http://www.linuxfromscratch.org/.
Для тех, кто освоил первую часть,- сборку основной части операционной системы,- есть вторая часть, которая называется Beyond Linux From Scratch (BLFS). Из недостатков этого способа можно отметить, пожалуй, только количество времени, которое потребуется.
simple-cdd
Гораздо менее суровое средство сборки своего дистрибутива на базе Debian. Позволяет достаточно быстро собрать свое установочный образ, включающий необходимый набор пакетов. Есть официальная страничка в вики Debian, но она, похоже, достаточно стара и давно не обновлялась. Это один из самых простых и быстрых способов собрать свой дистрибутивный образ, но придется предварительно прочитать официальный How-To и посмотреть страницу руководств.
SUSE Studio
Один из наиболее простых способов собрать собственную операционную систему на базе ядра Linux и свободного программного обеспечения. Если быть более точным, то это возможность собрать свой потомок OpenSUSE или SUSE Linux Enterprise. Для сборки своего дистрибутива надо просто зарегистрироваться на сайте http://susestudio.com. Для хранения образов дается 15 гигабайт. Вкратце сборка своего дистрибутива выглядит так:
- Регистрируетесь на сайте http://susestudio.com
- Выбираете начальную конфигурацию операционной системы
- Модифицируете ее
- При необходимости загружаете необходимые пакеты со своими приложениями
- Создаете образ
Более подробно расписывать не буду, на сайте всё очень просто и понятно. SUSE Studio позволяет создать следующие типы образов:
- Образ для USB-флэшки
- Live CD
- Установочный образ ISO
- Образ диска виртуальной машины в формате .vmdk
- Образ виртуальной машины в формате OVF, который импортируется в гипервизор
- Образ гостевой системы для Xen (.img)
- Образ диска для Hyper-V (.vhd)
- Образ для SUSE Cloud / OpenStack / KVM (.qcow2)
Кроме того, на сайте есть галерея уже готовых операционных систем, в которой можно выбрать готовую конфигурацию и изменять уже ее.
Ubuntu Builder
Программа для сборки дистрибутива на базе Ubuntu. Собственно, получится обычная Ubuntu нужной конфигурации. Проект закрылся 10 марта 2014 года, поэтому сложно его рекомендовать к использованию. Если есть желание с ним ознакомиться, это можно сделать здесь. Там же указана команда для подключения репозитория, из которого можно установить пакет ubuntu-builder. Если не заметили, то вот она:
add-apt-repository ppa:f-muriana/ubuntu-builder
Вообще это был достаточно известный проект в свое время. Жаль, что закрылся.
Novo Builder
Еще одна программа для сборки дистрибутива, которую надо устанавливать. Устанавливается она при помощи скрипта, который можно взять здесь. Скрипт сам добавит репозиторий и поставит пакеты. Это, пожалуй, лучшая на данный момент программа для сборки дистрибутива на базе Ubuntu по простоте использования. И рассказать-то больше особо нечего, достаточно поставить и посмотреть. Всё интуитивно понятно.
В общем, если хотите собрать свой специальный дистрибутив, средств существует достаточно, нужно пробовать, смотреть, что вам больше подойдет и что интереснее. Если знаете еще какой-то способ сборки своей операционной системы — делитесь в комментариях