[devel] ALTLinux livecd mini-HOWTO
Anton Farygin
rider на altlinux.com
Вт Мар 15 12:16:29 MSK 2005
Спасибо.
Замечания по тексту:
Konstantin A. Lepikhov wrote:
>Создание liveCD средствами ALTLinux Sisyphus
>-----------------------------------------------
>
>автор: LAKostis <lakostis at altlinux.ru>
>последняя редакция: 14.03.2005
>
>версия: 0.0.1
>
>Для создания livecd необходимы след. пакеты из репозитария Сизиф:
>
>- separator (для сборки загрузочного iso образа)
>- propagator (для создания stage1 и stage2 загрузчика)
>- локальная копия Сизифа (либо смонтированная через NFS/lufs/unionfs)
>
>
Локальная копия уже не актуальна ;-)
separator использует curl для получения пакетов, и умеет работать с
ftp/http/file
>процесс установки данных пакетов:
>
>$ apt-get install separator
>
>1. Подготовка образа
>
>$ mklive-workdir workdir
>
>где workdir - директория для временных файлов
>livecd (там же будет находится и собранный образ)
>
>потом заходим в workdir/profile, и правим там файлы по вкусу:
>
>- profile/config - общая конфигурация livecd, в основном меняются REPO
> (путь к локальной копии Сизифа) и строки, идентифицирующие сборку
> (PUBLISHER ORIGIN SUITE CODENAME VERSION). Теоретически можно менять
> тему/язык, но пока в separator это нереализовано.
>
>
Кстати, есть желающие реализовать ?
>- profile/modules - список модулей ядра, которые необходимо использовать
> при загрузке stage1 и stage2. Для корректной работы туда следует
> добавить loop.ko (FIXME - похоже, это надо только для PXE), и ext2.ko.
>
>
Вообще оно должно вытаскиваться, а ext2 там уже есть.
Кстати, со squashfs это пока не работает, но возможность заставить -
есть. Нужно немного пропатчить propagator (первая стадия инсталятора).
>- profile/packages/main - список пакетов для установки, редактируется
> по-вкусу :) Если нужен десктопный вариант, надо добавить русские шрифты
> (это XFree-cyr_rfx-*) + какой-нить wm
>
>- profile/postinstall/setup.d/ - туда кладутся скрипты, отрабатывающие
> после создания структуры каталогов livecd. Я туда положил скрипты для
> корректировки раскладки клавиатуры/i18n/стартовых сервисов. FIXME - в
> случае однотипной конфигурации, генерацию xorg.conf лучше тоже сделать
> заранее.
>
>
да, имено так (пока)
>2. Создание образа
>
>$ mklivecd workdir
>
>где workdir - директория с уже созданными временными файлами
>
>далее происходит генерация образа, его сжатие в cloop, формирование
>stage1 компонентов и загрузочного образа.
>
>3. Загрузка LiveCD
>
>загрузка с CD - FIXME
>
>загрузка по PXE:
>
>- устанавливаем tftp-server, dhcp-server, syslinux
>- копируем содержимое workdir/opt/isolinux/ в /var/lib/tftpboot
>- копируем /usr/lib/syslinux/pxelinux.0 в /var/lib/tftpboot
>- прописываем в /etc/dhcp/dhcpd.conf следующее:
>
>ddns-update-style none;
>authoritative;
>
>subnet xxxxxx.0 netmask 255.255.255.0 {
>
> host pxeclient {
> hardware ethernet 00:0e:a6:5c:01:a0;
> fixed-address xxxxxxxxx;
>
> filename "/pxelinux.0";
> # tftp сервер, где лежит pxelinux.0
> next-server xxxxxxxxx;
> }
>
>}
>
>- включаем tftp в /etc/xinet.d/, добавляем запись для in.tftpd в
> /etc/hosts.allow
>
>- делаем каталог с livecd.iso доступным по nfs (можно ro)
>- создаем /var/lib/tfptboot/pxelinux.cfg/default след содержания:
>
>default live
>prompt 1
>timeout 0
>
>label live
> kernel alt0/vmlinuz
> append initrd=alt0/full.cz live fastboot automatic=method:nfs,network:dhcp,server:xxxxxx,directory:workdir/livecd.iso stagename=altlinux
>label harddisk
> kernel alt0/vmlinuz
> append SLX=0x202
>
>- пробуем загрузиться. Должно все получится. Если не конфигурили
> xorg.conf, не будет работать раскладка и dri (потому как в x11createconfig
> жестко пробиты nvidia'ызмы).
>
>Замечания
>
>- если хочется "правильного" пользователя, то лучше useradd test перенести
> в profile/postinstall/setup.d/ после i18n, тогда у него будет
> кастомизируемая локаль.
>
>- посмотрев на все эти ковырялки в separatore, есть мысль перенести
> pxesconfig на livecd, дабы "подкручивать" mklive-image по-вкусу. И уже в
> него профайлы понапихать (desktop/terminal/vserver/livecd/etc). Думаю,
> это резко повысит интерес к separator обычных пользователей, которые не
> будут догадываться о смысле слов propagator/predator/alterator ;)
>
>
Вообще pxelinux может грузить сразу образ cloop.
Для этого можно сказать:
append initrd=alt0/full.cz live fastboot automatic=method:nfs,network:dhcp,server:xxxxxx,directory:/ stagename=altlinux
В этом случае будет примонтирован только altlinux как cloop образ и отдано управление егойному init'у
Самое интересное - если stagename=altlinux вдруг станет каталогом - в этом случае также будет сделан в него chroot и запущен из него init.
Rgds,
Rider
Подробная информация о списке рассылки Devel