Участник:NickGrechukh/Propagator/nfsroot

Материал из ALT Linux Wiki
Версия от 16:01, 28 июля 2008; NickGrechukh (обсуждение | вклад) (Import from freesource.info)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


как я это делал. полученный экспириенс надо бы выложить уровнем выше, пока пусть будет так. оно работает :)

для получения образа использовался spt с profileм live, полученный блоб разворачивается при помощи unsquashfs и пилится по мере необходимости. Одно из допиливаний - remount_root_rw. Unionfs имет документированную траблу с бранчем из reda only nfs, при монтировании надо использовать nfsro вместо ro (а не внести ли нам remount_rood_readwrite в штатный /etc/init.d/functions, ради pristine в всяких livecd? а не приделать ли к этой функции автоугадав nfs корня, более прямой чем мое grep -q 'method:nfs' /proc/cmdline ?)

вообще в качестве nfsroot годится любая система, достаточно живая чтобы взбутнуться на уже смонтированном read only корне. однако, spt заодно сделает нам full.cz со свежим пропагатором, а в нем modules.mar для свежего ядра.

Развернутый корень обязательно экспортировать с no_root_squash, если неразвернутый squashfs - это не нужно. 

замечания по пропагатору: он делает reverse lookup своего айпишника, поэтому для экономии времени желательно иметь dns сервер с обратной зоной. а лучше еще и с прямой, да чтобы A и PTR совпадали. Тогда в qemu до запуска stage2 доходит секунд за 20. иначе - ждем таймаутов и весь прцесс занимает в qemu до 10 минут.

gns@gns gns/qemutest/miniroot $ cat /etc/qemu-ifup

#!/bin/sh
sudo /sbin/ifconfig $1 10.105.0.1/16

gns@gns gns/qemutest/miniroot $ cat /etc/exports

/home/public/sisyphus (ro,subtree_check)
/home/public/gns/qemutest/installer *.tpway.com(ro,nocrossmnt,subtree_check,no_root_squash)
/home/public/gns/qemutest/miniroot *.tpway.com(ro,nocrossmnt,subtree_check,no_root_squash)

gns@gns ~ $ export STAGE2ROOT=/home/public/gns/qemutest/miniroot

gns@gns ~ $ cd $STAGE2ROOT

gns@gns gns/qemutest/miniroot $ mkdir altlinux && cd altlinux

gns@gns qemutest/miniroot/altlinux $ sudo tar xf /home/public/gns/altlinux-mini-20061201.tar.gz

gns@gns qemutest/miniroot/altlinux $ mkdir image && cd ..

gns@gns gns/qemutest/miniroot $ ls altlinux

bin boot dev etc home image lib media mnt opt proc root sbin srv sys tmp usr var

gns@gns gns/qemutest/miniroot $ ls -l

итого 28
drwxrwxr-x 20 root root 4096 Дек 5 09:43 altlinux
drwxr-xr-x 3 gns gns 4096 Дек 4 23:42 isolinux
-r--r--r-- 1 root root 4822 Ноя 2 2005 LICENSE.html
-r--r--r-- 1 root root 8474 Ноя 2 2005 LICENSE.RU.html

gns@gns gns/qemutest/miniroot $ qemu -m 128 -net nic,model=rtl8139,vlan=0 -net tap,vlan=0,ifname=tap0 -kernel $STAGE2ROOT/isolinux/alt0/vmlinuz -initrd $STAGE2ROOT/isolinux/alt0/full.cz -hda /tmp/test.img -append "live fastboot automatic=method:nfs,interface:eth0,network:static,ip:10.105.0.2,netmask:255.255.0.0,hostname:qemu.gns.tpway.com,server:gns.tpway.com,dns:10.105.0.1,gateway:10.105.0.1,directory:$STAGE2ROOT stagename=altlinux"