Bootovateľné CD s FreeBSD
Pokiaľ si chcete urobiť CD z existujúceho systému FreeBSD na pevnom disku, treba povedať, že FreeBSD má niekoľko vetiev – RELEASE, CURRENT a STABLE. Skôr, ako sa rozhodnete urobiť si bootovateľné CD (ale i DVD), môžete si vybrať i vetvu FreeBSD-STABLE, preto si povieme niekoľko slov o vetvách FreeBSD.
FreeBSD-RELEASE
Táto vetva vychádza z vetvy STABLE.
FreeBSD-CURRENT
Vývojová vetva, nie je určená pre normálne používanie. Potrebujú ju najmä vývojári.
FreeBSD-STABLE
Tiež vývojová vetva, ale vzniká z nej FreeBSD-RELEASE. FreeBSD-STABLE zase vzniká z vetvy CURRENT. Vetva STABLE na rozdiel od CURRENT je použiteľná.
FreeBSD-RELEASE transformujete na FreeBSD-STABLE, ale musíte si stiahnuť zdrojové súbory a všetko skompilovať. Druhá možnosť je použiť tzv. „snapshot“ – stiahnite si ISO súbor.
Pokiaľ chcete zdrojové súbory, editujte súbor stable-supfile v adresári /usr/share/examples/cvsup
, kde zmeníte „CHANGE_THIS“ v riadku: *default host CHANGE_THIS.FreeBS.org
napríklad: *default host cvsup1.us.FreeBSD.org
. Súbor skopírujte do adresára /root
a zadajte príkaz:
cd /usr/src csup /root/stable-supfile
Sťahovanie zdrojových súborov môže trvať dlho.
Po stiahnutí zdrojových súborov je nutné vybudovať systém, ale najskôr si treba dôsledne prečítať informácie v súbore /usr/src/UPDATING
.
Systém zo zdrojových súborov vybudujete (rovnako vetvu RELEASE i STABLE):
cd /usr/src/ make buildworld
Nezabudnite ani na jadro:
make buildkernel make installkernel
Konfiguračný súbor pre jadro je GENERIC ( /usr/src/sys/i386/conf/GENERIC
– podľa architektúry sa nachádza i v iných adresároch; poznámky k nemu sú v súbore NOTES
v tom istom adresári – /usr/src/sys/amd64/conf/NOTES
, /usr/src/sys/i386/conf/NOTES
atď.).
Bootujeme CD
Najskôr si vyrobte MFS, čo je popísané v mojom predchádzajúcom článku o bootovateľnom USB s FreeBSD a súbor mfsroot.gz skopírujte do podadresára ./boot
, odkiaľ vyrobíte ISO súbor (napríklad /usr/cdboot/boot
); v adresári /usr/cdboot/
musíte mať aj celý stromový adresár systému ( /bin
, /boot
, /etc
, /dev
atď.) a všetko to, čo potrebujete. ISO súbor vyrobíte:
cd /usr/cdboot mkisofs -R -b boot/cdboot -no-emul-boot \ -c boot.catalog -boot-load-size 4 -o /usr/LiveCD.iso .
Bodka na konci nie je chyba – mkisofs
zoberie obsah aktuálneho adresára.
Bootujeme CD s OpenBSD
Kedysi dávnejšie som vyrobil maličký jednodisketový OpenBSD router (OpenBSD 4.1) a podarilo sa mi ho aj úspešne dostať na CD. S príchodom nových verzií OpenBSD užívatelia nemusia veľmi meniť svoje zvyky (na rozdiel od FreeBSD), tak moje očakávanie, že dávnejší spôsob pre vytvorenie bootovateľného OpenBSD CD mi bude fungovať aj s najnovšou verziou OpenBSD 4.8 (vyšla 1.11.2010), sa pravdaže potvrdilo.
Bootovateľné CD s OpenBSD urobíte:
1) Pripravíte si chroot adresár, kde si skopírujete systém ( /usr/local/chroot
).
2) Prekompilujete jadro. Pokiaľ nemáte zdrojové súbory pre kompiláciu jadra, tie stiahnete napríklad zo stránky zrkadlového servera OpenBSD kliknutím na súbor sys.tar.gz
( src.tar.gz
je zase celý základný systém). Súbor rozbalíte v adresári /usr/src
, čím vznikne adresár sys ( /usr/src/sys
), kde si vyberiete architektúru a premenujete pôvodný konfiguračný súbor jadra GENERIC ( /usr/src/sys/arch/i386/conf/GENERIC
) na CDBOOT. V súbore CDBOOT
zakomentujete riadok config bsd swap generic
a pridáte riadky:
option RAMDISK_HOOKS option MINIROOTSIZE=3560 config bsd root on cd0c
V adresári /usr/src/sys/arch/i386/conf/
(podľa architektúry) zadáte: config CDBOOT
a tým sa v /usr/src/sys/arch/i386/compile vytvorí adresár CDBOOT
, kde zadáte: make depend
a potom make
.
Po kompilácii jadra novovytvorený súbor bsd v adresári /usr/src/sys/arch/i386/compile/CDBOOT
skopírujete do /usr/local/chroot
a potom ešte dva súbory z adresára /usr/mdec
– cdboot
a cdbr
(tiež do /usr/local/chroot
) – teda tam, kde budete mať kópiu vášho systému OpenBSD, z ktorej vyrobíte ISO obraz.
3) Záverom si upravíte súbor /usr/local/chroot/etc/fstab
: /dev/cd0a / cd9660 ro,noatime 0 0
a prípadne i /usr/local/chroot/etc/rc
, kde pridáte riadky, pomocou ktorých sa pri bootovaní vášho OpenBSD CD vytvoria adresáre v pamäti, napríklad:
mount_mfs -s 32768 -o async,nosuid,nodev,noatime swap /var mount_mfs -s 4917 -o async,nosuid,nodev,noatime swap /etc mount_mfs -s 12000 -o async,nosuid,nodev,noatime swap /tmp
ISO súbor je najlepšie otestovať v Qemu.
Systém nabehne aj bez tohto, ale bude vypisovať chyby z dôvodu, že nemôže zapisovať. Vytvorenie adresárov v pamäti je však na vás a možno to urobiť i dodatočným skriptom (po nalogovaní).
4) ISO súbor vytvoríte:
cd /usr/local/chroot mkisofs -b cdbr -no-emul-boot -c boot.catalog -r -J -l -V DVD -o \ /usr/local/OpenBSD-live.iso .
Ak sa stane, že budete musieť zadávať cestu k jadru, pred vytvorením ISO editujte boot.conf.
Do súboru boot.conf
( /usr/local/cdboot/etc
) pred vytvorením ISO zapíšte: set image /bsd
Odkazy
Nástroj livecd v kategórii ports/sysutils vygeneruje pre vás FreeBSD Live CD