Ako si spraviť bútovateíné CD?

Juraj Šípoš Nasledovné informácie ponúkajú praktické rady, ako vytvoriť bútovateíné CD aj s možnosťou multibút...


Juraj Šípoš
Nasledovné informácie ponúkajú praktické rady, ako vytvoriť bútovateíné CD aj s
možnosťou multibút. Aj keď je problematika vytvorenie bútovateíných CD s
prípadnou možnosťou multibút minimálne zdokumentovaná v českom a slovenskom
jazyku, ide mi skÖr o praktické rady, nie o teoretické vysvetlenie špecifikácií
El Torito.
Časť informácií som čerpal zo stránky http://bbs.im.cju.edu.tw
/~goldentime/bootcd01.htm, táto stránka obsahuje aj dÖležité freeware súbory na
vytvorenie bútovateíných CD, či už s multibútom alebo bez. Časť informácií som
získal na základe vlastného prieskumu problematiky. Hore uvedená stránka
obsahuje aj nasledovné súbory: gtbtim06.zip, makebt.
zip, bootiso.zip, mkbt101. zip, bootcd.zip a ďalšie. Práve makebt.exe v súbore
makebt.zip je najvhodnejší na vytvorenie "multiboot CD".
Automatická príprava CD
Použijeme komerčný softvér pre Windows. Nevýhodou dostupných softvérov je skoro
žiadna podpora multiboot a chabá podpora Unixu. Ak používame program Nero
Burning Rom, hneď pri jeho spustení zvolíme ikonu CD--ROM Boot.
Manuálna príprava CD
a) Vytvoríme bútovateíný "image" súbor napr. zo systémovej diskety a súbor
bootcat.bin o veíkosti 2 048 bajtov (jeho získanie uvádzam ďalej).
b) Vytvoríme súbor vo formáte ISO9660, ktorý bude obsahovať bútovateíný "image"
súbor a súbor bootcat.bin aj s potrebnou adresárovou štruktúrou rÖznych
programov, ktoré plánujeme na CD umiestniť.
c) Editujeme súbor ISO9660 tak, aby po napálení na CD štartoval systém z CD.
d) Súbor ISO9660 napálime na CD.
K bodu a)
Bútovateíný "image" súbor vytvoríme zo systémovej diskety aj programom Winimage
alebo disk2img.exe (disk2image.exe je v súbore bootcd.zip na horeu
vedenej stránke; Winimage nájdete na mnohých stránkach, i na
www.shareware.com). Založíme dosovskú systémovú disketu (alebo systémovú
disketu Linuxu či MS Windows 9x) do disketovej mechaniky a celú ju načítame do
jedného súboru, čím vytvoríme "image". "Image" diskety a "image" súboru ISO9660
sú dve rÖzne veci.
Ak používate Linux, nemusíte si sťahovať nijaké programy. Zo systémovej diskety
vytvoríte "image" súbor príkazom:
dd if=/dev/fd0 of=boot.img bs= 512 count=2880.
Štartovacia disketa v zariadení /dev/fd0 mÖže byť skoro v hocijakom formáte
(ext2, ufs, dos, minix.).
K bodu b)
Ak máte disk nie väčší než 650 MB, mÖžete ho použiť na vytvorenie bútovateíného
CD. Prekopírujete doň obíúbené dosovské programy utility, ktoré pomÖžu
zachrániť dáta pri havárii systému.. Nesmiete zabudnúť na dva súbory "Boot
Catalog" a "boot.img". Boot Catalog možno premenovať napr. na "bootcat.bin" a
"boot. img" mÖže mať tiež iný názov (napr. boot.flp). Vytvoriť súbor ISO9660 o
dížke 650 MB mÖže byť vo Windows problém, najmä ak nemáte na to softvér. Nero
Burning Rom (www.ahead.de) je softvér, ktorý umožní vytvoriť bútovateíné CD
veími íahko. Ak nepoužijete voíbu emulácie 1,44 MB diskety a zvolíte si
emuláciu harddisku a máte disk väčší než prípustná kapacita CD-ROM, Nero vám
nezobrazí možnosť použiť ho. Ak ale máte disk menší než 650 MB, musíte naň ešte
zaviesť systém (napr. príkazom sys x:, kde "x" je váš disk). Nero potom z neho
vytvorí bútovateíné CD (žiaí iba pre DOS). Ak máte veíké disky a nechce sa vám
ich zmenšovať, pomÖžu aj programy, ktoré vytvárajú logické disky.
Ešte jednoduchšie je použiť Linux, resp. Unix, kde "iso image" vytvoríte
pomocou programu mkhybrid (ale aj pomocou mkisofs). Na nasledovnej adrese
ftp:// ftp.ge.ucl.ac.uk/pub/mkhfs/mkisofs-win32.exe si stiahnete mkisofs pre
platformu Win32. Mkisofs je obdoba mkhybrid.
Súbor Boot Catalog nájdete aj na hociktorom originálnom CD distribúcie RedHat
Linux. Jeho veíkosť je vždy rovnaká 2 048 bajtov. Na mojom českom CD RedHat 6.1
mám súbor Boot Catalog uložený v adresári /images pod názvom boot.catalog.
K bodu c)
Súbor ISO9660 editujeme v prípade, ak nemáme Linux a ani OS/2, pre ktoré
existuje program mkhybrid, a ani pre Windows sa nám nepodarilo nič schopné
zohnať. Súbor ISO9660 editujeme aj vtedy, ak chceme veci riešiť zložitejšie,
aby sme potom boli spokojní, že sme vytúžený cieí dosiahli multiboot. Ak
nechcete manuálne editovať súbor ISO9660, použite programy uvedené na začiatku
tohto článku (napr. bootcd.zip, mkbtcd102.zip, mkbt101.zip.) Výhodou úpravy
súboru ISO9660 je možnosť vytvorenia CD s niekoíkými operačnými systémami (až
10), teda multiboot. Ja sám som si vytvoril CD až s Ösmymi operačnými systémami.
K bodu d)
Vytvorili ste si súbor ISO9660, stačí ho napáliť, ale ako ISO Image.
Ako vlastne funguje bútovateíné CD?
Ak si vytvoríte súbor ISO9660, spomenuté utility vám ho upravia tak, aby ste
mohli štartovať systém z CD buď v emulácii diskety 1,2, 1,44, 2,88 MB alebo
harddisku. Uvedené freeware programy sú jednoduché. Načítate nimi súbor ISO, v
ktorom je obsiahnutý Boot Catalog a boot.img, povedzme programom mkbootcd.exe,
a stlačením patričnej klávesy (zobrazí sa vám podobná voíba, akú vidíte nižšie)
vyrobíte bútovateíný disk napríklad s emuláciou 1,44 MB diskety. El Torito
umožňuje nasledovné špecifikácie:
1. 1,2 MB
2. 1,44 MB
3. 2,88 MB
4. harddisk
5. bez emulácie
Manuálnu editáciu súboru ISO9660 urobíme načítaním súboru ISO9660 do
hexeditoru. Podrobnosti sú na horeuvedenej WWW stránke.
Ak napálime CD, ktoré bude emulovať disketovú jednotku A: (povedzme "image"
dosovskej systémovej diskety), potom musíme túto disketu vopred pripraviť, aby
po štarte z CD dokázala načítať aj CD-ROM (kde umiestnime nami zvolený
softvér), lebo inak nebude CD-ROM prístupné a nám sa iba zobrazí dosovský
prompt "A:". Aj keď systém naštartuje z CD-ROM, systém je oklamaný a myslí si,
že naštartoval z diskety. Stačí použiť ovládače na CD-ROM, aké používa
systémová disketa Windows. Emulácia 2,88 MB diskety si vyžaduje image súbor o
veíkosti 2,88 MB.
Takýto súbor, ak nemáte 2,88 MB mechaniku, pripravíte programom Winimage.
Emulácia harddisku zase zneprístupní obsah CD pri jeho bežnom načítaní (nie pri
bútovaní z neho). To znamená, že ak vytvorím bútovateíné CD a spustím z neho
systém, iba vtedy z neho budem vidieť jeho obsah (ak spustím systém z pevného
disku a toto CD neskÖr zasuniem do CD-ROM mechaniky, tá ho nebude vidieť). Pri
spustení bútovateíného CD sa toto CD v emulácii harddisku bude hlásiť ako C:,
čiže BIOS vaše disky premapuje. Teda nemusím inštalovať nijaké ovládače pre
CD-ROM pri emulácii harddisku, tie však budem musieť pripraviť, ak chcem
načítať ďalšiu časť CD disku (multisession), alebo, ak použijem emuláciu 1,2,
1,44 alebo 2,88 MB.
Ako si pripraviť multibút?
1.Vytvorím si niekoíko "boot image" súborov zo systémových 1,44 MB diskiet
mÖžem použiť MS-DOS, PC-DOS, DR-DOS, Windows98, Linux. Na týchto systémových
disketách si pripravím ovládače pre sprístupnenie CD-ROM, prípadne RAM a iné
užitočné veci. V prípade Linuxu odporúčam použiť samostatnú disketovú
distribúciu so simuláciou /dev/fd0. V prípade použitia Linuxu ako celého
systému aj s X Windows (300-650 MB) čítajte doleuvedený odsek "Linux (RedHat)".
2. Pripravím si nejaký adresár, povedzme /iso, do ktorého prekopírujem
antivírové programy, diskové utility či diagnostické balíky. Ak som v Linuxe
(kde sa oveía íahšie vytvára súbor ISO9660 než vo Windows), súbory "boot image"
prekopírujem do tohto adresára aj so súborom bootcat.bin, ktorý napríklad
získam z CD distribúcie RedHat z adresára /images.
3. a) V Linuxe vytvorím IS0 9660 súbor príkazom:
mkhybrid -b boot.flp -a -J -L l -r -T -o /cd.iso -v /iso (kde /iso je íubovolný
adresár a cd.iso bude vytvorený ISO9660 súbor, ktorý potom napálime; voíbou "-c
bootcat.bin" špecifikujem Boot Catalog, ak sa mi nevytvoril automaticky, "-a"
sú všetky súbory, "-J" je Joliet atď. Pozrite si manuálovú stránku príkazu
mkhybrid). Voíba "-b boot.flp" automaticky urobí emuláciu disketovej mechaniky,
v mojom prípade 1,44 MB. Nami vytvorený súbor ISO pripojíme do adresára /
mnt/cdrom príkazom:
mount -t iso9660 -o ro,loop= /dev/loop0 /cd.iso /mnt/ cdrom, aby sme overili,
či sme ho správne vytvorili.
b) Vo Windows použijem mkisofs upravený pre platformu Win32 alebo iný softvér
na vytvorenie ISO súboru. V prípade použitia programu mkisofs použijeme príkaz:
mkisofs -A "Moje_CD" -b images/boot.img -c boot.catalog -a -l -r -L -T -v -V
"Moje_CD" -o ../cd.iso.
4. CD síce bude bútovať, ale nebudeme mať multibút. Ten dosiahneme tak, že
súbor ISO9660 editujeme buď manuálne hexeditorom podía tabuíky špecifikácií El
Torito, alebo napr. programom makebt.exe (pozri obrázok), ktorý sa nachádza v
súbore makebt.zip na stránkach uvedených na začiatku tohto článku.
5. Napálim CD ale nie ako obyčajný súbor, ale ako ISO9660 image súbor.
Údaje o "multiboot" obsahuje súbor Boot Catalog. Žiaí, doposiaí som ešte
nevidel komerčné GUI programy pre napaíovanie CD, ktoré by sa zaoberali
možnosťou "multiboot". Adaptec Easy CD Creator 3.5 umožňuje iba chabú možnosť
napáliť "boot image" z dosovskej systémovej diskety, pričom dokumentácia k
tejto voíbe nie je skoro žiadna a pre experimentovanie s Unixom nemáte ani tie
najmenšie šance. Nero Burning Rom je oveía lepší, ale nevidel som v jeho
nedávnejšej verzii možnosť pre multiboot či Unix. Vytvoriť multiboot je v
podstate veími jednoduché, pretože sa iba jemne edituje súbor ISO9660
spomenutými freeware utilitami. Najväčší problém bude s "image" súbormi, ktoré,
ak boli zle pripravené, nepÖjdu.
K jednotlivým systémom:
MS-DOS, PC-DOS,
DR-DOS, Windows9x.
Bútovateíné CD na platforme DOS sa vytvára relatívne íahko aj s emuláciou
harddisku, problém je s vytvorením Windows 9x v emulácii harddisku, lebo
Windows používa swap a iné súbory, do ktorých pri svojej inicializácii všeličo
zapisuje. Príprava systému Windows 9x bútovateíného z CD v emulácii harddisku
je technicky možná, treba však upraviť inicializačné súbory. Windows 9x používa
súbor system.dat (ale aj iné), ktorého používanie pri štarte systému z
prostredia "read only" spÖsobí chybné hlásenia. Odporúčam vytvoriť ramdisk a
všetky kíúčové súbory prekopírovať dávkovým súborom (autoexec.bat) do ramdisku,
kde nie je prostredie "read only", prípadne, ak viete anglicky, pozrite si
stránku http:// www.heise.de/ct/english/99/11/ 206/.
Linux (RedHat)
Vytvorenie linuxovského bútovateíného ISO9660 súboru (povedzme inštaláciu
RedHat o veíkosti 300-650 MB) urobíte nasledovne: Pripravíte si nejaký adresár,
povedzme /iso. Prekopírujete doň linuxovské súbory či adresáre spolu so súborom
boot. img a bootcat.bin, kde boot.img je image súbor systémovej diskety RedHat,
ktorú ste vytvorili počas inštalácie. Keď do tohto adresára uskladníte
približne 650 MB, potom z neho vytvoríte súbor ISO9660 nasledovne:
mkhybrid -J -R -L -N -o -b boot.img /cd.iso -v /iso. MÖžete použiť aj program
mkisofs. Pozri hore uvedenú hlavičku "Ako si pripraviť multibút" v odsesku 3b.
Mne sa súbor Boot Catalog vytvoril automaticky. Ak máte za voíbou -b (boot.img)
súbor, ktorý obsahuje systémovú disketu Linuxu, mÖžete hneď CD napáliť, pretože
mkhybrid pochopí, že vytvára bútovateíné CD (nebudete mať však multiboot; pre
multiboot treba editovať súbor ISO9660). Napáliť tento súbor mÖžete povedzme aj
vo Windowse ako "track image" alebo "ISO Image". Pozor, nesmiete ho napáliť ako
hocijaký iný súbor, nie tak, ako napaíujete napríklad svoje mp3 súbory.
Nesmiete zabudnúť, že Linux používa systémové diskety, ktoré
a) sú nezávislé od už existujúcej inštalácie Linuxu na pevnom disku (Mulinux,
Brutalware.),
b) systémové diskety, ktoré pripoja pevný disk ako root (ak je už na ňom
Linux). Ak nemáte na pevnom disku inštalovaný Linux, taká disketa je vám na
nič. Na rozdiel od tohto však, ak použijete diskety typu Mulinux či Brutalware,
po spustení systému z tohto CD vašu mechaniku CD-ROM iba pripojíte, nespustíte
z nej programy ako Midnight Commander atď. Ja som použil systémovú disketu,
ktorá mi pripojila diskový oddiel Linuxu ako root (túto disketu som vytvoril
pri inštalácii RedHat). Adresárová štruktúra bútovateíného Linuxu musí spíňať
všetky potrebné požiadavky. Ak po napálení štartujete systém z CD (nie v
spÖsobe Mulinux, ale ako z pevného disku), treba ešte napísať do príkazového
riadku Lila nasledovný text: "linux root=/dev/hdc ro", pretože kernel si bude
myslieť, že štartuje z harddisku a napokon vyhlási "Kernel Panic". Ak chcete
tomuto predísť, mÖžete pred vytvorením boot.img súboru zmeniť v jadre pointer
na /dev/hdc príkazom rdev.
Vlastné bútovateíné CD Linuxu (RedHat) sa mi podarilo vytvoriť dosť rýchlo
podía hore uvedených informácií. Toto CD mi teraz veími slúži, lebo mám na ňom
všetko, čo potrebujem.
OS/2
OS/2 podporuje štart systému z CD iba v emulácii 2,88 MB a harddisku, nie z
1,44 MB diskety. Kíúčom k naštartovaniu OS/2 z CD je súbor cd_boot.flt a
dokumentácia k vytvoreniu si vlastného OS/2 CD aj s potrebnými súbormi je v
niektorých archívoch OS/2 (Hobbes). (Dokumentáciu nájdete zadaním kíúčového
slova "bootcd".) Treba upraviť config. sys a urobiť niektoré malé zmeny napr.
inštalovaním ramdisku, do ktorého sa budú zapisovať informácie.
FreeBSD
Vytvorenie bútovateíného FreeBSD CD je problematické najmä z dÖvodu
nedostatočnej dokumentácie. Ale podarilo sa mi vytvoriť inštalačné bútovateíné
CD. Walnut Creek CD-ROM má Copyright na usporiadanie štruktúry distribúcie
FreeBSD, ktorá je bežne k dispozícii za menší peniaz. Firma nebude asi rada za
zverejnenie tejto informácie. Podía mÖjho návodu si budete mÖcť vytvoriť
vlastné inštalačné distribúcie FreeBSD.
Stiahnite si minimálne adresár /bin z hociktorého servera FreeBSD niekde z
adresára Release alebo Stable (okolo 29 MB). Ďalej si stiahnite 2,88 MB floppy
image z adresára /floppies. Prekopírujte adresár /bin a súbor floppy.img (2,88
MB) a bootcat.bin (keby sa náhodou nevytvoril automaticky ako mne) do adresára
napr. /iso a vytvorte z neho súbor ISO9660 príkazom v hore uvedenom odseku 3
pod hlavičkou "ako si pripraviť multiboot".
Pri zadaní príkazu mkhybrid sa treba prepnúť do adresára /iso, resp. tam, kde
sa nachádza súbor "boot.img". Súbor ISO napáíte potom na CD ako "ISO image".
Editácia či vytvorenie vlastných inštalačných skriptov presahuje rámec tohto
článku.
Na záver
Dúfam, že tieto informácie pomÖžu najmä technikom či správcom systémov, ktorí
sú určite unavení z nosenia desiatok diskiet. Mnohí z nás potrebujú
diagnostické programy, ktoré zaberajú veía miesta, ale aj utility ako Partition
Magic, rozmanité antivírové programy, utility od výrobcov diskov.
A dnes, keď skoro každý počítač vie spustiť systém z CD, by bolo škodou
nevyužiť túto nesmierne užitočnú a zatiaí nie veími zdokumentovanú možnosť.
0 1282 / alsn









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.