MyTetra Share
Делитесь знаниями!
Как сделать свой LiveCD дистрибутив Debian
27.10.2011
22:59
Текстовые метки: linux, live cd, livecd, live-cd, live-build, сборка, ISO
Раздел: Компьютер - Linux - Дистрибутив Debian

Задача: сделать LiveCD, который при загрузке станет показывать видеофайлы по кругу.


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



Создание первого пробного ISO-образа


Вначале нужно установить пакеты live-build, live-helper.


Затем надо создать отдельный каталог, зайти в него, и от обычного пользователя дать команду:


lb config


В результате в этом каталоге будет создан набор директорий с файлами, которые нужны для создания CD-образа генерируемого нами дистрибутива.


Далее в этой директории надо создать файл create.sh сделующего содержания:


#!/bin/sh

lb clean

lb config --architecture i386 --packages-list xfce --packages "mplayer xserver-xorg nodm mc"

lb build


Нужно назначить ему права на выполнение, например 755, и запустить его от рута. В результате в этой же директории будет сгенерирован ISO-образ дистрибутива. Файл будет называться binary-hybrid.iso. Его можно сразу запустить в виртуальной машине и посмотреть, что и как будет грузиться.


Этот образ будет содержать легковесную DE-среду XFCE, проигрыватель mplayer и основные кодеки. Запуск XFCE будет происходить автоматически, ввода логина-пароля не потребуется.


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



Настройка


В наборе каталогов и файлов, сгенерированных командой "lb config" есть директория /config/chroot_local-includes. Это корневая директория генерируемого дистрибутива. В ней можно создавать любые файлы и каталоги, и они будут вставлены в дистрибутив.


По-умолчанию, дистрибутив создаётся с пользователем user. Если нужно создать какие-то файлы для этого пользователя, то в директории /config/chroot_local-includes можно создать поддиректорию /home/user и разместить там нужные файлы.


Например, можно создать поддиректорию /config/chroot_local-includes/home/user/.config/autostart, и сделать в ней файл onstart.desktop следующего содержания:


[Desktop Entry]

Encoding=UTF-8

Type=Application

Name=Starter

Comment=

Exec=/home/user/onstart.sh

StartupNotify=false

Terminal=false

Hidden=false


В результате сразу при старте XFCE будут запускаться команды, прописанные в файле /config/chroot_local-includes/home/user/onstart.sh. Этот файл тоже нужно создать и разместить по тому же принципу, что написан выше. Файлу onstart.sh нужно не забыть поставить права на выполнение, лучше 777 - всеравно это Live-CD.



Настройка начальной загрузки


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


Чтобы это сделать, нужно в директории /config/binary_local-includes создать поддиректорию isolinux, и скопировать в нее файл /binary/isolinux/isolinux.cfg.


По-умолчанию его содеримое следующее:


include menu.cfg

default /isolinux/vesamenu.c32

prompt 0

timeout 00


Нам нужно установить значение timeout в 1, что означает ждать 1 сек. при загрузке, и потом автоматически загружаться.



Всё, теперь можно снова запустить create.sh (обязательно от рута), в результате чего будет получен ISO-образ, в котором автоматически после загрузки X-сервера будет стартовать нужная нам программа.



Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования