Создание LiveCD в ОС Astra Linux

LiveCD это операционная система предназначенная для работы сразу после загрузки с оптического носителя (СD, DVD) без установки на жёсткий диск.

В ОС Astra Linux имеется специальная программа для создания LiveCD на основе ОС Astra Linux -- live-build-astra. Программа имеет следующие опции:

-h|--help   Вызов справки
-o|--output <filename>   Задание имени результирующего образа ISO.
-D|--distribution <distribution>   Задание имени варианта ОС Astra Linux. Поддерживаются варианты smolensk и orel.
-T|--tasks   Задание списков пакетов установленных в результирующей ОС.
-P|--packages-list <filename>   Название файла с дополнительным списком пакетов для установки в результирующей ОС.
-p|--additional-packages <list>   Названия одиночных пакетов для установки в результирующей ОС.
-e|--exclude-packages <list>   Названия пакетов которые нужно исключить из списков указанных выше.
-b|--build-directory <dirname>   Название сборочной директории.
-c|--clean-before   Очистка сборочной директории перед сборкой.
-C|--clean-after   Уничтожение сборочной директории после сборки.
-k|--hooks <dirname>   Название директории со сценариями оболочки которые нужно выполнить в результирующей ОС после установки ПО.
-l|--includes-binary <dirname>   Название директории с файлами которые нужно включить в состав результирующего образа ISO.
-m|--includes-chroot <dirname>   Название директории с файлами которые нужно включить в остав результирующей ОС.
-t|--tarball <filename>   Сформировать архив с содержимым коневой ФС результирующей ОС.
-i|--image <filename>   Сформировать образ карты памяти с результирующей ОС.
-q|--partition-script <filename>   Файл с описанием таблицы раздело на карте памяти.
-s|--source-iso <filename>   Исходный образ ISO
-r|--repositories <URL>   Адрес репозитория с пакетами ПО для установки в результирующей ОС
-a|--arch <ARCHITECTURE>   Целевая архитектура результирующей ОС. По умолчанию используется текущая архитектура, скорее всего это AMD64.

Вот пример запуска live-build-astra для сборки LiveCD ОС Orel в ОС Smolensk

# live-build-astra -o orel_live.iso -D orel -s orel-current.iso -r http://mirror.yandex.ru/astra/current/orel/repository/ --tasks "Base Fly" -p "gimp firefox"

В результате работы программы будет создан файл orel_live.iso. При загрузке с диска будут доступны программы из наборов Base и Fly (подробнее смотри в tasksel #?#), а так же GIMP и Firefox. Если при установке каких-то программ или их зависимостей пакетов на диске orel-current.iso будет недостаточно, то будут взяты пакеты из репозитория mirror.yandex.ru. Файлы необходимые для загрузки orel_live.iso на ЭВМ с поддержкой UEFI будут взяты с orel-current.iso.

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

# live-build-astra -o smolensk_live.iso -D smolensk -s "/home/user/smolensk-current.iso;/home/user/devel-smolensk-current.iso"

Если при сборке в качестве одного из источников пакетов не предоставляется установочный диск ОС Astra Linux, то получившийся образ LiveCD не сможет быть загружен с помощью UEFI, только старым способом с помощью BIOS. Некоторые ЭВМ (в основном современные ноутбуки) не предоставляют возможность загрузки без использования UEFI.

По умолчанию собирается образ ОС пригодный для сетевой установки ОС Astra Linux на жёсткий диск ЭВМ.

Если требуется добавить какие-то файлы на диск с LiveCD или в операционную систему LiveCD, то рекомендуется скопировать папки используемые по умолчанию

/usr/share/live-build-astra/includes.binary/
/usr/share/live-build-astra/includes.chroot/

(соответственно) и добавить туда желаемые файлы, после чего указать копии папок в качестве параметров ключей --includes-binary и --includes-chroot. Пример

# cp /usr/share/live-build-astra/includes.binary/ ~/Desktop/includes.binary
# cp /usr/share/live-build-astra/includes.chroot/ ~/Desktop/includes.chroot
# echo "My custom LiveCD" > ~/Desktop/includes.binary/custom.txt
# echo "File in root directory." > ~/Desktop/includes.chroot/root/file.txt
# live-build-astra -o orel_live.iso -D orel -s orel-current.iso -r http://mirror.yandex.ru/astra/current/orel/repository/ --tasks "Base Fly" -p "gimp firefox" --includes-binary ~/Desktop/includes.binary --includes.chroot ~/Desktop/includes.chroot

Файл custom.txt будет в корне файловой системы LiveCD. Файл file.txt будет в /root загруженной операционной системы LiveCD.

Кроме того, если требуется чтобы в ОС LiveCD были произведены какие-то действия на этапе сборки, то можно использовать ключ --hooks аналогично --includes-chroot. То есть скопировать

/usr/share/live-build-astra/hooks/

Поместить в копию необходимые сценарии оболочки и передать путь к копии в качестве ключа к параметру --hooks.


Образ ISO получающийся в результате работы live-build-astra является гибридным, в том смысле, что его можно использовать для загрузки как с DVD, так и с flash накопителя. Для того чтобы загрузить ОС с flash накопителя надо образ ISO побайтово записать на flash накопитель, например с помощью команды dd. Пример: если подключенный USB-flash накопитель обозначен в системе как /dev/sdb, то запуск команды

# dd if=orel_live.iso of=/dev/sdb bs=1M

запишет ISO образ на flash накопитель..

Внимание: команда dd записывает новое содержимое затирая старое. Если ошибиться с параметрами, то можно испортить данные или сделать свою ОС незагружаемой.
