MyTetra Share
Делитесь знаниями!
http://www.chipbuk.ru/ б у запчасти для ноутбуков.
Гостиница рядом с крокус www.kroshka-enot.ru.
Как сделать свой 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-сервера будет стартовать нужная нам программа.

Заставить играть все ролики - не проблема, что-то вроде:

ls | grep -i avi | xargs -n1 mplayer

Человеку же надо пускать их по кругу

А это достигается опцией -loop 0 которую нужно вставить в нужное место (ИМХО автозапуск прописывается где-то в init.d). Т.е. должно получиться где то так...

mplayer -loop 0 путь/*

или так

mplayer { путь/*} - loop 0

← Содержание ...
 
MyTetra Share v.0.35
Яндекс индекс цитирования