Vlastné bootovateľné CD s FreeBSD a OpenBSD

Juraj Šípoš 16. 11. 2010

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

widgety

Odkazy

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

Wiki o OpenBSD Live CD

Našli jste v článku chybu?
Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

Vitalia.cz: Tesco nabízí desítky tun jídla zdarma

Tesco nabízí desítky tun jídla zdarma

Root.cz: Hořící telefon Samsung Note 7 zapálil auto

Hořící telefon Samsung Note 7 zapálil auto

Lupa.cz: Proč jsou firemní počítače pomalé?

Proč jsou firemní počítače pomalé?

120na80.cz: Pálení žáhy: která jídla ne a co nás uzdraví?

Pálení žáhy: která jídla ne a co nás uzdraví?

DigiZone.cz: Parlamentní listy: kde končí PR...

Parlamentní listy: kde končí PR...

DigiZone.cz: Wimbledon na Nova Sport až do 2019

Wimbledon na Nova Sport až do 2019

Vitalia.cz: 5 chyb, které děláme při skladování potravin

5 chyb, které děláme při skladování potravin

DigiZone.cz: Technisat připravuje trojici DAB

Technisat připravuje trojici DAB

Vitalia.cz: Tradiční čínská medicína a rakovina

Tradiční čínská medicína a rakovina

DigiZone.cz: Nova opět stahuje „milionáře“

Nova opět stahuje „milionáře“

Vitalia.cz: Pryč se zastaralým stravováním ve školách

Pryč se zastaralým stravováním ve školách

Vitalia.cz: Jsou vegani a vyrábějí nemléko

Jsou vegani a vyrábějí nemléko

Vitalia.cz: Jak Ondra o astma přišel

Jak Ondra o astma přišel

Lupa.cz: Další Češi si nechali vložit do těla čip

Další Češi si nechali vložit do těla čip

DigiZone.cz: Funbox 4K v DVB-T2 má ostrý provoz

Funbox 4K v DVB-T2 má ostrý provoz

DigiZone.cz: Světový pohár v přímém přenosu na ČT

Světový pohár v přímém přenosu na ČT

Podnikatel.cz: Byla finanční manažerka, teď cvičí jógu

Byla finanční manažerka, teď cvičí jógu

DigiZone.cz: Samsung EVO-S: novinka pro Skylink

Samsung EVO-S: novinka pro Skylink

Vitalia.cz: dTest odhalil ten nejlepší kečup

dTest odhalil ten nejlepší kečup