ИГОРЬ ОРЕЩЕНКОВ, инженер-программист, iharsw@tut.by
Сборка установочного образа Ubuntu
В статье рассмотрена структура установочных дисков ОС, основанных на Debian Linux, и на примере современной версии Ubuntu 17.04 описана процедура сборки собственного установочного образа
Современные ОС все больше ориентируются на использование сетевых ресурсов. Этап начальной установки системы не является исключением. В предельном случае предлагается использовать минимальный загрузочный образ, доставляющий ПО из сетевого репозитория.
В условиях, когда из-за огромного количества существующих программ составители дистрибутивов не могут предугадать, какую специализацию должно приобрести автоматизированное рабочее место или технологическое оборудование, такой подход не лишен здравого смысла. Благодаря ему в ходе установки принимается только необходимое подмножество программных пакетов, причем их актуальность на момент установки гарантируется «по определению».
Но наличие под рукой инсталляционного образа, на котором находятся тщательно отобранные и проверенные в повседневной деятельности программы, вселяет чувство уверенности и комфорта.
Выбор исходных материалов
Вспомним, как происходит установка Debian Linux [1]. С установочного носителя (флешки или компакт-диска) программой инициализации компьютера (в этой статье подразумевается BIOS) переписывается в оперативную память и получает управление загрузчик ядра ОС (isolinux.bin).
Загрузчик предлагает пользователю выбрать вариант загрузки (из перечисленных в файле isolinux.cfg), после чего разворачивает в оперативной памяти образ файловой системы (initrd.gz), считывает ядро ОС (linux или vmlinuz) и передает ему управление.
Ядро запускает процесс init, который инициализирует систему и запускает инсталлятор Debian-Installer.
Debian-Installer (D-I) – гибкая система, функциональность которой определяется конфигурационными параметрами, командными сценариями и дополнительными модулями. Большое влияние на работу D-I оказывают файлы, находящиеся в скрытом каталоге .disk на установочном носителе.
Есть два варианта создания установочного образа. Первый – это взять в качестве образца загрузочный диск из нужного дистрибутива и внести в него задуманные изменения [2]. Второй – «вырастить» установочный образ своими руками [3]. Мы будем в большей степени ориентироваться на второй путь с использованием минимума вспомогательных средств, хотя обойтись в полной мере без диска-ориентира не получится.
Какой же диск выбрать в качестве эталона? Простой экспресс-анализ конкретного диска можно провести, если посмотреть содержимое файловой системы initrd.gz [4] (под Windows это проще всего сделать с помощью файлового менеджера 7Zip). Присутствие файла /bin/cdrom-checker означает, что инсталлятор умеет устанавливать пакеты с компакт-диска, еслиже имеется файл /bin/ethdetect, то инсталлятор предназначен для установки системы из сетевого репозитория.
В случае Ubuntu альтернативный установочный диск сборки Lubuntu – lubuntu-17.04-alternate-i386.iso – полностью соответствует нашим требованиям. Поэтому в процессе создания своего образа при возникновении затруднений будем сверяться с его структурой.
Из репозитория Ubuntu http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-i386/current/images загрузим:
- компактный (около 48 Мб) образ носителя для сетевой установки netboot/mini.iso;
- адаптированные для установки системы с локального носителя файлы ядра cdrom/vmlinuz и образа корневой файловой системы cdrom/initrd.gz.
Эти материалы будем использовать в качестве основы для автономного установочного диска.
Статью целиком читайте в журнале «Системный администратор», №6 за 2017 г. на страницах 27-31.
PDF-версию данного номера можно приобрести в нашем магазине.
- Debian Installer Internals, Frans Pop, 2006-2010 – http://d-i.alioth.debian.org/doc/internals.
- Install CD customization, Ubuntu documentation – https://help.ubuntu.com/community/InstallCDCustomization.
- Создание своей сборки Linux, BaaTLT, 2013 – http://mkcdlinux.blogspot.com.by.
- Linux initial RAM disk (initrd) overview, M. Jones, 2006 – https://www.ibm.com/developerworks/library/l-initrd.
- List Installed Packages, Debian Wiki – https://wiki.debian.org/ListInstalledPackages.
- Debian-Installer (D-I) и Custom Debian Distributions (CDD). Промышленная платформа для создания специализированных дистрибутивов и сред инсталляции, В. Шахов, 2008 – https://www.ibm.com/developerworks/ru/library/shakhov/debian_installer.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|