Hlavní navigace

Vlastné bootovateľné CD s FreeBSD a OpenBSD

16. 11. 2010
Doba čtení: 4 minuty

Sdílet

Bootovateľné CD je užitočné riešenie a miláčikovia BSD tu dostanú návod, ako si vlastnými rukami zálohovať na CD FreeBSD a OpenBSD. Budú tak mať po ruke rôzne nástroje, alebo si iba inteligentne archivujú to, čo považujú za najdôležitejšie. Ako mať svoj obľúbený operačný systém stále so sebou?

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/ar­ch/i386/compi­le 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

root_podpora

Odkazy

Nástroj livecd v kategórii ports/sysutils vygeneruje pre vás FreeBSD Live CD

Wiki o OpenBSD Live CD

Byl pro vás článek přínosný?