Hlavní navigace

Vlastné bootovateľné CD s FreeBSD a OpenBSD

Juraj Šípoš

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

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?

21. 11. 2010 2:17

देवीमाहात्म्यम् (neregistrovaný)

S tym suhlasim, OpenBSD nie je tak bez errorovy, ako si ten pan mysli. Rovnako sa mozem spytat, ci vobec vie otvorit ISO a pozriet sa, aky ma OpenBSD install skript - tam je to cele napisane, aj to ako sa vytvaraju ramdisky. A ked to popisem, tan ten isty pan mi za to vynada.

18. 11. 2010 15:53

szt (neregistrovaný)

to vam nestaci man crash, man style, man gdb, man ddb, man kgdb, man sendbug? (v pripade OpenBSD)
spis by se nekdo znaly problematiky mohl rozepsat o uskalich diskoveho subsystemu, o kterem i vyvojari vedi, ze neni uplne optimalni (zvlaste obskurni systemy jako msdosfs a ntfs) a dat nejake pointry pripadnym zajemcum o vyvoj...
Prijde mi, ze jakykoli uzivatelsky clanek o OpenBSD je jen prelozena manualova stranka, pripadne odstavec z FAQ...



DigiZone.cz: V Plzni odstartovalo Radio 1

V Plzni odstartovalo Radio 1

DigiZone.cz: SES zajistí HD pro M7 Group

SES zajistí HD pro M7 Group

Root.cz: Nová třída SD karet A1 s vysokým výkonem

Nová třída SD karet A1 s vysokým výkonem

120na80.cz: Boreliózu nelze žádným testem prokázat

Boreliózu nelze žádným testem prokázat

DigiZone.cz: R2B2 a Hybrid uzavřely partnerství

R2B2 a Hybrid uzavřely partnerství

Vitalia.cz: Pamlsková vyhláška bude platit jen na základkách

Pamlsková vyhláška bude platit jen na základkách

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

Měšec.cz: Za palivo zaplatíte mobilem (TEST)

Za palivo zaplatíte mobilem (TEST)

Vitalia.cz: Nejlepší obranou při nachlazení je útok

Nejlepší obranou při nachlazení je útok

120na80.cz: 5 nejčastějších mýtů o kondomech

5 nejčastějších mýtů o kondomech

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Měšec.cz: Exekuční poradna: ptejte se online

Exekuční poradna: ptejte se online

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

DigiZone.cz: Ohrozí Freedom TV přechodové sítě?

Ohrozí Freedom TV přechodové sítě?