[devel] ALTLinux livecd mini-HOWTO

Anton Farygin =?iso-8859-1?q?rider_=CE=C1_altlinux=2Ecom?=
Вт Мар 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