![]() | Ta razdelek je prispeval Rizwan Mohammed Darwe (rizwan AT clovertechnologies dot com) |
Ta razdelek predpostavlja, da vam je poznan postopek izdelave plošč CD na Linuxu. Predstavljajte si to kot hiter dodatek, ki omogoča zagon s plošče CD, ki jo boste zapekli. Več o pečenju plošč CD najdete v spisu CD-Writing-HOWTO, ki ga lahko prevedenega najdete na Lugosovih straneh.
Pri arhitekturah x86 je precej Biosov pričelo podpirati zagonske plošče CD. Popravki za mkisofs temeljijo na standardu "El Torito". Preprosto rečeno, El Torito je specifikacija, ki določa, kako naj bo plošča CD formatirana, da bo mogoč neposreden zagon z nje.
Specifikacija El Torito določa, da naj bi bil zagon mogoč s katerimkoli pogonom CD-ROM (SCSI ali EIDE), vse dokler BIOS podpira El Torito. Zaenkrat je bilo to preizkušeno samo s pogoni EIDE, ker se zdi, da še noben izmed do sedaj preizkušenih krmilnikov SCSI ne podpira El Torita. V vsakem primeru, ga mora najprej podpirati matična plošča. Kako to ugotoviti? Tiste, ki to podpirajo, vam omogočajo zagon s trdega diska, diskete, omrežja ali plošče CD.
Standard El Torito predpisuje, da naj se prek Biosovih klicev pogon za CD-ROM obravnava kot običajen disketni pogon. Tako lahko katerokoli sliko velikosti diskete (natanko 1440 kB za diskete 1,44 MB) postavite nekam na datotečni sistem ISO 9660. V zaglavje tega datotečnega sistema vstavite kazalec na to sliko. BIOS bo naložil to sliko in se obnašal, kot da bi zaganjal z diskete. Tako lahko sliko delujoče zagonske diskete z Lilom (npr.) uporabljamo brez sprememb.
Grobo povedano, prvih 1,44 (ali 2,88, če je podprto) MB na plošči CD vsebuje sliko diskete, ki ste jo pripravili. To sliko BIOS obravnava kot disketo in zažene sistem z nje. Posledično se med zagonom s te navidezne diskete lahko zgodi, da siceršnji pogon A: (/dev/fd0) morda ne bo dosegljiv, vendar lahko poskusite z /dev/fd1).
Najprej izdelajte datoteko, recimo "boot.img", ki mora biti natančna slika zagonske diskete (1,44 MB), ki jo želite zagnati s plošče CD. To vam naredi spodnji ukaz
dd if=/dev/fd0 of=boot.img bs=10k count=144 |
Postavite to sliko nekam v imeniško strukturo, ki bo predstavljala izvirnik datotečnega sistema ISO 9660. Po nepisanem pravilu naj bi vse z zagonom povezane datoteke postavili v svoj imenik (npr. "boot/ na vrhu hierarhije datotečnega sistema ISO 9660).
Pazite na past. Začetni pomnilniški disk mora zagonska disketa naložiti z Lilom, ne z gonilnikom za pomnilniške diske v jedru! Ko se namreč jedro zažene, ne "ve" za ukano, da Bios na plošči CD posnema disketo, zato nalaganje ne bo uspelo. LILO bo naložil začetni pomnilniški disk z uporabo Biosovih klicev, tako bo emulacija delovala, kot je bilo zamišljeno.
Specifikacija El Torito zahteva, da se izdela tudi "zagonski katalog". To je datoteka dolžine 2048 zlogov, ki nima nobenega pomena, razen da je obvezna. Ustrezen popravek avtorjev programa mkisofs omogoča, da se zagonski katalog izdela samodejno, vendar morate določiti, kam v datotečnem sistemu ga postaviti. Ponavadi ga postavimo kar v isti imenik kot zagonsko sliko in ime boot.catalog se zdi kar primerno zanj.
Torej, imamo zagonsko sliko v datoteki boot.img in postavili jo bomo v imenik boot/ na vrhu datotečnega sistema ISO 9660. Zagonski katalog bomo morali postaviti v isti imenik in ga poimenovati boot.catalog. Ukaz za izdelavo slike datotečnega sistema ISO 9660 v datoteki bootcd.iso bo potemtakem takšen:
mkisofs -r -b boot/boot.img -c boot/boot.catalog -o bootcd.iso . |
Sedaj lahko na običajen način (npr. z ukazom cdrecord) zapečete ploščo, ki bo tako postala pripravljena za zagon.
Najprej moramo zadržati zagonsko sliko izvirne plošče CD. Vendar ni mogoče kar pritrditi plošče pod Linuxom in z ukazom dd posneti prvih 1440 kB na disketo ali datoteko (npr. boot.img). Namesto tega kratkomalo zaženite sistem z izvirne plošče CD.
Po zagonu s plošče CD za Win9x se znajdete v odzivniku za A:, ki je pravzaprav pomnilniški disk. Ostala vsebina plošče se nahaja na "razdelkih" D: ali Z:. Z uporabo Dosovega ukaza diskcopy prepišite sliko A: na dejansko disketo, ki se sedaj mahaja pod oznako B:. To storite s spodnjim ukazom.
diskcopy A: B: |