Як зробити свій livecd дистрибутив debian

Нижче прведен рецепт, як це зробити в Debian Linux. У тексті всі шляхи до каталогів і файлів вказуються щодо директорії, яка створена для збірки LiveCD.

Створення першого пробного ISO-образу

Спочатку потрібно встановити пакети live-build, live-helper.

Потім треба створити окремий каталог, зайти в нього, і від звичайного користувача дати команду:

В результаті в цьому каталозі буде створено набір директорій з файлами, які потрібні для створення CD-образу генерується нами дистрибутива.

Далі в цій директорії треба створити файл create.sh зро змісту:

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

Потрібно призначити йому права на виконання, наприклад 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 такого змісту:

В результаті відразу при старті 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.

За замовчуванням його содерімое наступне:

Нам потрібно встановити значення timeout в 1, що означає чекати 1 сек. при завантаженні, і потім автоматично завантажуватися.

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

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

ls | grep -i avi | xargs -n1 mplayer

Людині ж треба пускати їх по колу

А це досягається опцією -loop 0 яку потрібно вставити в потрібне місце (ІМХО автозапуск прописується десь в init.d). Тобто повинно вийти десь так.

mplayer -loop 0 шлях / *

mplayer <путь/*> - loop 0