<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [

<!ENTITY dodatek-A "<link linkend=Premade>Že narejene zagonske diskete</link>">
<!ENTITY troubleshooting "<link linkend=Troubleshooting>Odpravljanje napak ali agonija poraza</link>">
<!ENTITY ramdisk "<link linkend=NonRamdiskRoot>Korenski datotečni sistemi brez pomnilniškega diska</link>">
<!ENTITY vsebina "<link linkend=Listings>Vsebina vzorčnega korenskega sistema</link>">
<!ENTITY pomozni "<link linkend=UtilityDisk>Priprava pomožne diskete</link>">
<!ENTITY slimfast "<link linkend=slimfast>Zmanjšanje velikosti korenskega datotečnega sistema</link>">
<!ENTITY brezlila "<link linkend=TransferringWithoutLILO>Prenos jedra brez Lila</link>">
<!ENTITY ramdiskbeseda "<link linkend=SettingRamdiskWord>Nastavljanje besede za pomnilniški disk</link>">
<!ENTITY pamnss "<link linkend=PAMandNSS>Podpora za PAM in NSS</link>">
<!ENTITY buildroot "<link linkend=buildroot>Priprava korenskega datotečnega sistema</link>">
<!ENTITY vsebinapomozna "<link linkend=utilitydisk>Vsebina vzorčne pomožne diskete</link>">
<!ENTITY prenoszlilom "<link linkend=TransferringWithLILO>Prenos jedra z Lilom</link>">
<!ENTITY profiji "<link linkend=Pros>Kako to delajo profesionalci</link>">
<!ENTITY cdejke "<link linkend=CD-ROMs>Izdelava zagonskih plošč CD</link>">
<!ENTITY korenskids "<link linkend=creatingrootfs>Izdelava datotečnega sistema</link>">
<!ENTITY wrapping "<link linkend=wrappingitup>Ko je končno vse pripravljeno</link>">
]>

<Article>
<!-- Lang=sl ??? -->
<?html-filename Bootdisk-HOWTO-sl.html>
  <Artheader>
    <Title>The Linux Bootdisk HOWTO</Title>
    <TitleAbbrev>Bootdisk-HOWTO</TitleAbbrev>
    <Author>
      <Firstname>Tom</Firstname>
      <Surname>Fawcett</Surname>
      <Affiliation>
        <Address>
        <Email>Bootdisk-HOWTO at linuxdoc dot org</Email>
        </Address>
      </Affiliation>
    </Author>

    <Copyright>
      <Year>1995-2002</Year>
      <Holder>Tom Fawcett</Holder>
    </Copyright>

    <Legalnotice>
      <Para>
      Avtorske pravice so last Toma Fawcetta in Grahama Chapmana
      (&copy; 1995-2002 by Tom Fawcett and Graham Chapman).
      Ta dokument je dovoljeno razširjati v skladu z določili dovoljenja
      <Ulink url="http://linuxdoc.org/copyright.html">Linux Documentation Project
      License</Ulink>. Prosimo, stopite v stik z avtorjema, če besedila dovoljenja
      ne morete dobiti.
      </Para>
    </Legalnotice>

    <Pubdate>v4.5, Januar 2002</Pubdate>

    <Abstract>
      <Title>Povzetek</Title>
      <Para> Ta dokument obravnava načrtovanje in pripravo zagonskih/korenskih
      disket za Linux. Te diskete se lahko uporabljajo kot reševalne diskete
      ali za preizkušanje novih sistemskih komponent. Predznanje o
      sistemskem upravljanju je obvezno.
      Če potrebujete zgolj reševalno disketo za nujne primere, si oglejte
      dodatek &dodatek-A;.
      </para>
    </Abstract>

  </Artheader>

  <Sect1 id="predgovor"><Title>Predgovor</title>

    <Important>
      <Para> Dokument je lahko že zastarel. Če je datum na naslovni strani starejši
      od šestih mesecev, si, prosimo, oglejte
      <Ulink url="http://www.linuxlots.com/~fawcett/Bootdisk-HOWTO/index.html">
      domačo stran angleškega izvirnika tega spisa</Ulink>, da ugotovite, ali morda
      obstaja novejša različica.
      </Para>
    </Important>

    <Para>Čeprav bi ta dokument moral biti berljiv tudi v tekstovni obliki,
    je v oblikah PostScript, PDF ali HTML videti precej lepše zaradi
    uporabljenih tipografskih konvencij.
    </Para>

    <Sect2><Title>Opombe o različicah</Title>

      <INDEXTERM><PRIMARY>jedro</PRIMARY>
	<SECONDARY>različice</SECONDARY>
      </INDEXTERM>

      <Para>Prvotno je spis Bootdisk-HOWTO pisal Graham Chapman in ga tudi
      vzdrževal do različice 3.1. Tom Fawcett je pričel kot soavtor v času,
      ko je bilo izdano jedro v2, in je trenutni vzdrževalec dokumenta.
      Chapman se je umaknil iz skupnosti Linuxa in ni znano, s
      čim se trenutno ukvarja.
      </Para>

      <Para>Te informacije veljajo za izvedbe Linuxa za arhitekturo
      <Emphasis>Intel</Emphasis>.  Večina spisa bi sicer morala veljati
      tudi za Linuxe, ki tečejo z ostalimi tipi
      procesorjev, vendar avtor nima neposrednih izkušenj z njimi
      ali podatkov o njih. Če imate kaj izkušenj z zagonskimi disketami za
      ostale arhitekture, prosimo, stopite v stik z avtorjem.
     </Para>

    </Sect2>

    <Sect2><Title>Kaj je še potrebno storiti</Title>

      <Para>

      <Orderedlist>

	  <Listitem>
	    <Para> Zdi se, da je User-mode-linux (<ULink url="
            http://user-mode-linux.sourceforge.net/">
            http://user-mode-linux.sourceforge.net</ULink>) odlično orodje
	    za preizkušanje zagonskih disket, ne da bi vam bilo potrebno
	    neprestano ponovno zaganjati sistem. Avtorju ga ni uspelo spraviti
	    k delovanju. Če ta program komu brez težav deluje z doma pripravljenimi
	    zagonskimi disketami, ga avtor naproša, naj mu to sporoči.
            </Para>
	  </Listitem>

	  <Listitem>
	    <Para> Znova analizirati razdelek o zagonskih disketah distribucij
	    in posodobiti razdelek "Kako to delajo profesionalci".
            </Para>
	  </Listitem>

	  <Listitem>
	    <Para>Ugotoviti, koliko se da poenostaviti zaporedje init - getty - login
	    in ga oskubiti. Nekaj ljudi trdi, da je mogoče init povezati neposredno na
	    /bin/sh; če je to res in če ne prinaša kakšnih posebnih omejitev, je
	    potrebno dopolniti navodila, da bodo to obravnavala.
	    V tem primeru ne bi bili več potrebni getty, login, gettydefs, morda pa tudi
	    ne vsa navlaka za PAM in NSS.
            </Para>
	  </Listitem>

	  <Listitem>
	    <Para>Znova iti skozi izvirno kodo jedra 2.4 in napisati podrobno
	    razlago, kako delujeta procesa zagona in nalaganja
	    pomnilniških diskov (četudi
	    samo zato, da jo bom sam bolje razumel). Je še nekaj problemov glede initrd in
	    omejitev zagonskih naprav (npr. pomnilnik flash), ki jih še ne razumem.
            </Para>
	  </Listitem>

	  <Listitem>
	    <Para> Odstraniti razdelek, ki obravnava nadgradnjo obstoječih zagonskih
	    disket posameznih distribucij. S tem je ponavadi več težav, kot je vredno.
            </Para>
	  </Listitem>

	  <Listitem>
	    <Para>Nadomestiti ukaze rdev s ključnimi besedami Lila.
            </Para>
	  </Listitem>

	</Orderedlist>
     </Para>
    </Sect2>

    <Sect2><title>Odziv in zasluge</title>

      <Para>Dobrodošel je vsakršen odziv, pozitiven ali negativen, na vsebino
      tega dokumenta. Avtor se je potrudil po najboljših močeh, da so informacije
      in navodila točna in zanesljiva, vendar ne ve vsega in ne sledi
      razvoju jedra. Prosim, obvestite ga, če najdete napake ali kaj manjkajočega.
      Ob odzivu mu sporočite še številko različice dokumenta, na katero se
      nanaša opomba. Bodite prijazni.
      </Para>

      <Para>Zahvaljujemo se veliko ljudem, ki so pomagali s popravki in
      predlogi. Po zaslugi njihovih prispevkov je spis precej boljši, kot
      bi bil, če bi ga avtorja napisala sama.
      </Para>

      <Para>
      Pripombe in popravke pošljite avtorju na elektronski naslov,
      naveden zgoraj.
      <Emphasis>Prosim, preberite razdelek &troubleshooting;,
      preden ga kaj vprašate</Emphasis>.
      <Emphasis>Ne</Emphasis> pošiljajte mu slik disket.
      </Para>

      <Para>
      Pripombe na prevod v slovenščino lahko pošljete prevajalcu
      Jerneju Kovačiču na naslov jkovacic na email pika si.
      </Para>

    </Sect2>

    <Sect2><Title>Pravice razširjanja</Title>
      <Para> Avtorske pravice pripadajo Tomu Fawcettu in Grahamu Chapmanu
      (&copy; 1995-2002, Tom Fawcett in Graham Chapman).
      Ta dokument se lahko razširja pod določili dovoljenja
      <Ulink url="http://linuxdoc.org/copyright.html">Linux Documentation Project
      License</Ulink>. Prosim, stopite v stik z avtorjema, če ne morete dobiti
      besedila dovoljenja.
      </Para>

      <Para> To je prosta dokumentacija. Razširja se v upanju, da bo
      koristna, vendar <Emphasis>brez kakršnegakoli jamstva</emphasis>;
      celo brez vsebovanega jamstva o <emphasis>vrednosti</emphasis> ali
      <emphasis>pripravnosti za določen namen</emphasis>.
      </Para>

    </Sect2>

  </Sect1><!-- End of PREFACE -->

  <Sect1 id="uvod"><Title>Uvod</Title>

    <Para>
Linuxove zagonske diskete pridejo prav marsikdaj, npr. pri
preizkušanju novega jedra, pri odpovedih diska (vse od izgubljenih
zagonskih sektorjev do sesutja diskovne glave), pri krpanju "sesutega"
sistema ali pri varni nadgradnji kritičnih sistemskih datotek (kot npr.
<filename>libc.so</filename>).
</Para>

    <Para>
Obstaja več načinov, da pridete do zagonske diskete:

<Itemizedlist>
	<Listitem>
	  <Para>
Uporabite zagonsko disketo kakšne od že obstoječih distribucij, kot je
npr. Slackware. Tako boste lahko vsaj zagnali sistem.
          </Para>
	</Listitem>

	<Listitem>
	  <Para>
Uporabite reševalni (angl. rescue) paket, ki pripravi reševalne diskete.
          </Para>
	</Listitem>

	<Listitem>
	  <Para>
Naučite se, kaj je potrebno za delovanje posameznih tipov zagonskih disket,
in si pripravite svoje lastne zagonske diskete.
</Para>
	</Listitem>

      </Itemizedlist>

Nekateri izberejo zadnjo navedeno možnost, tako lahko vse storijo sami.
Na ta način lahko, če se kaj zalomi, ugotovijo, kaj storiti, da to popravijo.
Poleg tega je to odličen način, da spoznajo, kako Linux sploh deluje.
</Para>

<Para>Predvideva se, da že nekaj veste o sistemskem
upravljanju Linuxa. Tako se predvideva, da veste, kaj so imeniki,
datotečni sistemi in diskete. Znana bi vam morala biti
uporaba ukazov <command>mount</command> in <command>df</command>. Vedeti
bi morali, čemu sta namenjeni datoteki <filename>/etc/passwd</filename> in
<filename>fstab</filename> ter kako izgledata. Prav tako bi morali vedeti,
da naj bi večino ukazov v tem spisu pognali kot sistemski upravitelj
(root).</Para>

<Para>Izdelava zagonske diskete od začetka je lahko zapletena. Če še niste
prebrali seznama pogosto zastavljenih vprašanj o Linuxu (Linux FAQ) in
podobnih dokumentov, npr. spis Kako namestiti (Installation HOWTO) in
Vodnik po namestitvi Linuxa (Linux Installation Guide), se ne bi smeli
lotiti priprave zagonskih disket. Če potrebujete samo delujočo zagonsko
disketo za nujne primere, je <emphasis>precej</emphasis> enostavneje
prenesti si sliko že vnaprej pripravljene diskete. Glede napotkov, kje jih
lahko dobite, si oglejte podrazdelek &dodatek-A;.
</para>

</Sect1>

<Sect1 id="zagon">
<Title>Zagonske diskete in proces zagona</Title>

<Indexterm><Primary>zagonski proces</primary></indexterm>

<Para>
Zagonska disketa je v osnovi miniaturen samostojen sistem Linux
na disketi. Izvajati mora precejšnje število enakih nalog kot popoln sistem.
Preden poskusite pripraviti takšno disketo, morate razumeti osnovni proces
zagona Linuxa. Tukaj predstavljamo osnove, ki naj bi zadostovale za
razumevanje preostanka dokumenta. Precej podrobnosti in alternativnih
možnosti je bilo izpuščenih.
</para>

<sect2>
<title>Proces zagona</title>

<indexterm><primary>Zagonski sektor</primary></indexterm>
<indexterm><primary>BIOS</primary></indexterm>
<indexterm><primary>zagonski pogon</primary></indexterm>

<para>

Vsi sistemi PC začnejo proces zagona z izvršitvijo kode v pomnilniku ROM
(natančneje, v <emphasis>BIOS-u</emphasis>), ki prebere sektor 0, cilinder 0
na zagonskem pogonu. Zagonski pogon je ponavadi prvi disketni pogon
(v Dosu označen kot <filename>A:</filename>, v Linuxu kot
<filename>/dev/fd0</filename>). Zatem BIOS poskusi izvršiti kodo na tem
sektorju. Na večini
zagonskih diskov sektor 0, cilinder 0 vsebuje nekaj od naštetega:

<itemizedlist>
<listitem>

<para>
kodo zagonskega nalagalnika, kot je npr. LILO, ki poišče jedro, ga naloži
in izvrši; ali

</para>
</listitem>
<listitem>

<para>
začetek jedra operacijskega sistema, npr. Linuxa

</para>
</listitem>

</itemizedlist>

</para>

<para>
Če je bilo Linuxovo jedro "surovo" prepisano na disketo, bo prvi sektor
diskete kar prvi sektor samega Linuxovega jedra. Vsebina tega prvega
sektorja je takšna, da se zagonski proces lahko nadaljuje z nalaganjem
preostanka jedra z zagonske naprave.
</para>

<indexterm><primary>korenski datotečni sistem</primary></indexterm>
<indexterm><primary>pomnilniški disk</primary></indexterm>
<indexterm><primary>stisnjen datotečni sistem</primary></indexterm>

<para>
Ko je jedro v celoti naloženo, nastavi gonilnike naprav in njihove podatkovne
strukture na začetne vrednosti. Ko je to narejeno, poišče posebno lokacijo
v svoji sliki, ki se imenuje <Emphasis>beseda pomnilniškega diska</Emphasis>.
Iz te "besede" lahko razbere, kje in kako najti korenski datotečni sistem.
Korenski datotečni sistem je, preprosto povedano, datotečni sistem, ki bo
pritrjen (angl. mount) na imenik ``<filename>/</filename>''. Jedru je treba povedati,
kje naj išče korenski datotečni sistem; če tam ne najde naložljive slike,
se "obesi".
</para>

<para>V nekaterih zagonskih situacijah, predvsem ob zagonu z diskete,
se korenski datotečni sistem naloži v <emphasis>pomnilniški disk</emphasis>
(angl. ramdisk), to je del pomnilnika RAM, do vsebine katerega sistem dostopa,
kot da bi bila na disku. Dostop do pomnilnika RAM je za nekaj razredov hitrejši
od dostopa do disketnih pogonov, zato so
sistemska opravila s pomnilniškega diska hitra. Jedro lahko naloži tudi
<emphasis>stisnjen datotečni sistem</emphasis> z diskete in ga razširi v
pomnilniški disk, na ta način lahko na disketo spravimo občutno več datotek.</para>

<para>
Ko je korenski datotečni sistem naložen in pritrjen, bi morali videti
sporočilo, podobno naslednjemu:
<Screen width=60>
        VFS: Mounted root (ext2 filesystem) readonly.
</Screen>
</para>

<indexterm><primary>init</primary></indexterm>
<indexterm><primary>inittab</primary></indexterm>
<indexterm><primary>sysinit</primary></indexterm>

<para>Ko je sistem uspešno naložil korenski datotečni sistem, poskuša
pognati program <filename>init</filename> (v imeniku <filename>/bin</filename>
ali <filename>/sbin</filename>).  <filename>init</filename> prebere
svojo nastavitveno datoteko <filename>/etc/inittab</filename>, poišče vrstico,
označeno s <literal>sysinit</literal> in izvrši tam omenjeni skript.
Skript <literal>sysinit</literal> je ponavadi <filename>/etc/rc</filename> ali
<filename>/etc/init.d/boot</filename>.  Ta skript je množica lupinskih ukazov,
ki nastavijo osnovne sistemske storitve, npr. izvedejo ukaz <command>fsck</command>
za preverjanje datotečnih sistemov na trdih diskih, naložijo potrebne module
jedra, nastavijo izmenjevalni prostor (swap) in omrežje na začetne vrednosti
in  pritrdijo naprave, ki so omenjene v <filename>/etc/fstab</filename>.
</Para>
<Indexterm><Primary><Filename>/etc/rc.d/</Filename></Primary></Indexterm>

<Para>Ta skript pogosto kliče ostale skripte, tako je zagon raznih storitev
modularen. Na primer, v splošni strukturi SysVinit vsebuje
imenik <filename>/etc/rc.d/</filename> zapleteno strukturo podimenikov,
katerih datoteke določajo, kako pognati in ustaviti večino sistemskih storitev.
Na zagonskih disketah pa je skript sysinit največkrat zelo preprost.
</Para>

<Para>
Ko se skript sysinit zaključi, kontrolo znova prevzame <command>init</command>,
ki vstopi v <emphasis>privzeti način delovanja</emphasis>
(angl. default runlevel), določen v datoteki
<filename>inittab</filename> s ključno besedo <literal>initdefault</literal>.
Vrstica z oznako načina delovanja ponavadi določi program, kot je
<command>getty</command>, ki je odgovoren za komunikacijo preko konzole in
tty. To je program, ki izpiše znani odzivnik ``<prompt>login:</prompt>''.
Program <command>getty</command> izvede program <command>login</command>, ki
poskrbi za prijavo in nastavitev uporabniških sej.
</para>

</sect2>

<sect2>
<title>Zvrsti zagonskih disket</title>

<para>
Ko smo si ogledali osnove zagonskega procesa, lahko podamo definicije
raznih zvrsti disket, ki se uporabljajo pri zagonu. Diskete razvrstimo v
štiri zvrsti. Če ne bo določeno drugače, se bo vsebina spisa nanašala na
diskete, večina informacij pa bi povsem enako veljala tudi za trde diske.
</para>

<para>
<variablelist>

<varlistentry><term>zagonska disketa (boot)</term>
<listitem>
<para>
Disketa, ki vsebuje jedro, ki ga je mogoče zagnati. Disketo se lahko uporablja
za zagon jedra, ki lahko zatem naloži korenski datotečni sistem na drugi
disketi. Jedru na zagonski disketi je ponavadi potrebno povedati, kje naj
najde ta korenski datotečni sistem.
</para>

<para>
Zagonska disketa pogosto naloži korenski datotečni sistem z druge diskete,
vendar je zagonsko disketo mogoče nastaviti, da namesto tega naloži
korenski datotečni sistem s trdega diska. To se ponavadi počenja ob
preizkušanju novega jedra (pravzaprav bo ukaz ``<command>make zdisk</command>''
samodejno naredil takšno zagonsko disketo iz izvirne kode jedra).
</para>
</listitem>
</varlistentry>

<varlistentry><term>korenska disketa (root)</term>
<listitem>
<para>
Disketa z datotečnim sistemom, ki vsebuje zahtevane datoteke za
delovanje Linuxa. Za takšno disketo ni nujno, da vsebuje jedro ali
zagonski nalagalnik.
<Indexterm><Primary>korenska disketa</Primary></Indexterm>
</para>

<para>
Ko se jedro zažene, lahko korensko disketo uporabljamo za delovanje sistema
neodvisno od vseh ostalih diskov. Ponavadi se korenska disketa samodejno
prepiše v pomnilniški disk. Tako je dostop do vsebine korenske diskete precej
hitrejši, poleg tega se sprosti disketni pogon za uporabo pomožne diskete.
</para>
</listitem>
</varlistentry>

<varlistentry><term>zagonska/korenska disketa (boot/root)</term>
<indexterm><primary>zagonska/korenska disketa</primary></indexterm>
<listitem>
<para>
To je disketa, ki vsebuje jedro in korenski datotečni sistem. Z drugimi
besedami, vsebuje vse potrebno za zagon in delovanje Linuxa brez trdega
diska. Prednost te zvrsti diskete je v tem, da je kompaktna, vse
potrebno se nahaja na eni disketi. Vendar velikosti vseh komponent s
časom postopoma naraščajo, kar pomeni, da je vedno težje spraviti vse
na eno disketo, tudi če se poslužite stiskanja.
</para>
</listitem>
</varlistentry>

<varlistentry><term>pomožna disketa (utility)</term>
<listitem>
<para>
Disketa, ki vsebuje datotečni sistem, ki se ne pritrdi
kot korenski datotečni sistem. To je dodatna podatkovna disketa. Uporabljala
naj bi se kot nosilec dodatnih pripomočkov, ki se jih ne da spraviti
na korensko disketo.
<indexterm><primary>pomožna disketa</primary></indexterm>
</para>
</listitem>
</varlistentry>

</variablelist>
</para>

<para>
Ko v splošnem govorimo o ``pripravi zagonske diskete'', mislimo na izdelavo
obeh delov, t.j. zagonskega (jedro) in korenskega (datoteke). Lahko sta
bodisi skupaj (enovita zagonska/korenska disketa) ali ločena (zagonska +
korenska disketa). Najprilagodljivejši pristop za reševalne diskete je
verjetno uporaba ločenih zagonskih in korenskih disket in še dodatne pomožne
diskete, kamor spravite vse, kar ne gre na korenski disk.
</para>

</sect2>

</sect1>

<sect1 id="buildroot">
<title>Priprava korenskega datotečnega sistema</title>
<para>
Izdelava korenskega datotečnega sistema pomeni izbrati potrebne datoteke,
da bo sistem deloval. V tem razdelku bomo obravnavali izdelavo
<emphasis>stisnjenega korenskega datotečnega sistema</emphasis>. Manj
običajna možnost je izdelava nestisnjenega datotečnega sistema na disketi,
ki se ga neposredno pritrdi kot korenskega; ta alternativa je obravnavana v
razdelku &ramdisk;.
</para>

<sect2>
<title>Pregled</title>

<para>
Korenski datotečni sistem mora vsebovati vse potrebno za podporo polnemu
sistemu Linux. Da lahko zadostimo temu pogoju, mora biti na disk vključeno
vsaj naslednje:
</para>

<para>

<itemizedlist>
<listitem>

<para>
Osnovna struktura datotečnega sistema,
</para>
</listitem>
<listitem>

<para>

Minimalen nabor imenikov: <filename class="directory">/dev</filename>,
<filename class="directory">/proc</filename>,
<filename class="directory">/bin</filename>,
<filename class="directory">/etc</filename>,
<filename class="directory">/lib</filename>,
<filename class="directory">/usr</filename>,
<filename class="directory">/tmp</filename>,
</para>
</listitem>

<listitem>
<para>
Osnovni nabor pripomočkov: <filename/sh/, <filename/ls/, <filename/cp/,
<filename/mv/, itd.,
</para>
</listitem>
<listitem>

<para>
Minimalni nabor nastavitvenih datotek: <filename>rc, inittab, fstab</filename>, itd.,
</para>
</listitem>
<listitem>

<para>
Datoteke gonilnikov naprav: <filename>/dev/hd*, /dev/tty*, /dev/fd0</filename>, itd.,
</para>
</listitem>
<listitem>

<para>
Knjižnica, ki omogoča delovanje osnovnih funkcij pripomočkov.
</para>
</listitem>

</itemizedlist>

</para>

<para>
Sistem seveda šele postane uporaben, ko lahko na njem kaj poženete in
korenska disketa ponavadi šele postane uporabna, ko lahko naredite
kaj od naslednjega:
</para>

<para>

<itemizedlist>
<listitem>

<para>

Pregledate datotečni sistem na drugem disku, npr. da pregledate korenski
datotečni sistem na vašem trdem disku, morate najprej znati zagnati
Linux z drugega diska (npr. s korensko disketo). Potem
lahko poženete ukaz <command>fsck</command> za preverjanje datotečnega
sistema na disku, kjer se nahaja vaš siceršnji datotečni sistem, ne da
bi ta disk sploh bil pritrjen.

</para>
</listitem>
<listitem>

<para> Obnovite rezervne kopije celotnega ali dela diska z uporabo
orodij za arhiviranje in stiskanje, npr. <filename>cpio</filename>,
<filename>tar</filename>, <filename>gzip</filename> in
<filename>ftape</filename>.

</para>
</listitem>

</itemizedlist>

</para>

<para>

Obravnavamo izdelavo <emphasis>stisnjenega</emphasis> datotečnega
sistema, tako se imenuje, ker se na disketi nahaja stisnjen in se ob
zagonu razširi v pomnilniški disk. S stisnjenim datotečnim sistemom lahko
na standardno 1440 kB disketo spravite precej datotek (za pribl. 6 MB). Ker
je datotečni
sistem precej obsežnejši od kapacitete diskete, ga ne morete pripraviti
na disketi. Najprej ga je treba izdelati nekje drugje, ga stisniti in
nato prepisati na disketo.
</para>

</sect2>

<sect2 id="CreatingRootFS">
<title>Izdelava datotečnega sistema</title>
<para>
Za izdelavo takšnega korenskega datotečnega sistema potrebujete dodatno
napravo z dovolj veliko kapaciteto, da boste lahko nanjo že pred stiskanjem
spravili vse datoteke. Na tej napravi potrebujete okoli 4 MB prostora.
Na voljo je več možnosti:
</para>

<para>

<itemizedlist>

<listitem>
<para> Uporaba <emphasis>pomnilniškega diska</emphasis> (<Symbol>DEVICE</Symbol> =
<filename>/dev/ram0</filename>). V tem primeru pomnilnik RAM posnema
disk. Pomnilniški disk mora biti dovolj obsežen, da boste lahko nanj spravili
datotečni sistem ustrezne velikosti. Če uporabljate LILO, v nastavitveni
datoteki (<filename>/etc/lilo.conf</filename>) preverite vrstico
<literal>RAMDISK = nnn</literal>, ki določa največjo količino pomnilnika
RAM, ki se lahko uporablja kot pomnilniški disk. Privzeto je 4096 kB, kar bi moralo
zadostovati. Tolikšnega pomnilniškega diska verjetno ne bi smeli niti poskusiti
uporabljati na računalnikih z manj kot 8 MB pomnilnika RAM.

Prepričajte se, da obstaja datoteka gonilnika naprave <Filename>/dev/ram0,
/dev/ram</Filename> ali <Filename>/dev/ramdisk</Filename>. Če ne obstaja,
naredite <Filename>/dev/ram0</Filename> z ukazom <Command>mknod</Command>
(višja številka 1, nižja 0).

</para>
</listitem>
<listitem>

<para>
Če imate dovolj velik neuporabljen razdelek (particijo) trdega diska
(več MB), bo sprejemljivo tudi to.

</para>
</listitem>

<listitem>
<para>
Uporaba <Emphasis>povratnozančne naprave</Emphasis> (loopback device), ki
omogoča, da se lahko datoteko na disku obravnava kot napravo. Z uporabo
povratnozančne naprave lahko naredite 3 MB dolgo datoteko na disku in v njej
pripravite datotečni sistem.
</para>

<para>
Vtipkajte <Command>man losetup</Command> za navodila, kako uporabljati
povratnozančne naprave. Če ukaza <command>losetup</command> nimate, ga
lahko dobite priloženega kompatibilnim različicam ukazov
<command>mount</command> in <command>unmount</command> iz paketa
<filename>util-linux</filename> v imeniku <ulink
url="ftp://ftp.win.tue.nl/pub/linux-local/utils/util-linux/"><filename
class="directory">ftp://ftp.win.tue.nl/pub/linux/utils/util-linux/
</filename>
</ulink>.
</para>

<para> Če v vašem sistemu nimate datoteke gonilnika za zančno napravo
(<filename>/dev/loop0</filename>, <filename>/dev/loop1</filename>, itd.),
jo boste morali izdelati z ukazom ``<command>mknod /dev/loop0 b 7 0</command>''.
Potem, ko ste namestili ti posebni izvršilni datoteki <command>mount</command> in
<command>umount</command>, naredite začasno datoteko na trdem disku z dovolj
veliko kapaciteto (npr. <filename>/tmp/fsfile</filename>).  To lahko storite z
ukazom
<Screen>
	dd if=/dev/zero of=/tmp/fsfile bs=1k count=<varname>nnn</varname>
</Screen>
ki izdela datoteko v velikosti <varname>nnn</varname> blokov.
</para>

<Para>
V vseh nadaljnjih primerih nadomestite besedo <Symbol>NAPRAVA</Symbol> z imenom
pravkar narejene datoteke. Ob klicu
ukaza <command>mount</command> morate dodati tudi izbiro
<option>-o loop</option>, s čimer ukazu <command>mount</command> poveste,
naj uporablja povratnozančno napravo.

<Indexterm><Primary>povratnozančna naprava</Primary></Indexterm>
</Para>
</Listitem>
</Itemizedlist>
</Para>

<Para>
Ko ste izbrali eno izmed teh možnosti, pripravite <Symbol>NAPRAVO</Symbol>
z ukazom:
<Screen width=50>
        dd if=/dev/zero of=<Symbol>NAPRAVA</Symbol> bs=1k count=4096
</Screen>
</para>

<para>
Ta ukaz zapolni prostor za <Symbol>NAPRAVO</Symbol> z ničlami (angl. to zero).
</para>

<Important>
<Para>
Zapolnitev z ničlami je zelo pomembna, ker bo datotečni sistem kasneje stisnjen.
Zato naj bi bili vsi neuporabljeni predeli zapolnjeni z ničlami, s čimer
dosežemo največjo možno stisljivost. Na to pomislite vsakič, ko prestavljate
ali brišete datoteke v tem datotečnem sistemu. Datotečni sistem bo pravilno
odstranil bloke iz svoje tabele, <Emphasis>vendar njihovih mest ne bo zapolnil z ničlami.</Emphasis>
Če veliko brišete in prepisujete po datotečnem sistemu, bo lahko stisnjeni
datotečni sistem na koncu precej obsežnejši, kot bi lahko bil.
</Para>
</Important>

<Para>

<Indexterm><Primary>i-vozlišča</Primary>
           <Secondary>dodelitev na korenskem datotečnem sistemu</Secondary></Indexterm>

Nato izdelajte datotečni sistem. Linuxovo jedro prepozna dve vrsti
datotečnih sistemov za korenske diskete, ki se samodejno prepišejo v
pomnilniški disk. To sta minix in ext2, pri čemer se priporoča uporaba
slednjega. Ob uporabi ext2 bo morda koristna izbira
<literal>-N</literal>, s katero lahko določite večje število vozlišč
(angl. inodes) od privzetega; predlaga se izbira
<literal>-N 2000</literal>, tako vam vozlišč ne bi smelo zmanjkati.
Po drugi strani lahko prihranite nekaj vozlišč z odstranitvijo precej
nepotrebnih datotek iz imenika <Filename>/dev</Filename>. Ukaz
<Command>mke2fs</Command> bo na 1,44 MB disketi privzeto naredil
360 vozlišč. Avtor sicer poroča, da za njegovo reševalno disketo
zadostuje že 120 vozlišč, vendar če vključite vse datoteke gonilnikov
naprav v <Filename>/dev</Filename>, boste zlahka presegli 360 vozlišč.
S stiskanjem je mogoč obsežnejši datotečni sistem in s tem privzeto
več vozlišč, vendar boste še zmeraj morali bodisi zmanjšati število
datotek bodisi povečati število vozlišč. </Para>

<Para>
Tako bo ukaz, ki ga boste vtipkali, podoben naslednjemu:
<Screen>
        mke2fs -m 0 -N 2000 <Symbol>NAPRAVA</Symbol>
</Screen>
</Para>

<Para>
(Če uporabljate povratnozančno napravo, nadomestite
<Symbol>NAPRAVO</Symbol> z imenom uporabljene datoteke.)
</Para>

<Indexterm><Primary>povratnozančna naprava</Primary></Indexterm>

<Para>Ukaz <Command>mke2fs</Command> samodejno ugotovi količino
prostora, ki je na voljo, in v skladu s tem nastavi vse potrebno.
Izbira ``<Literal>-m&nbsp;0</Literal>'' prepreči, da je nekaj
prostora (privzeto 5%) namenjenega samo sistemskemu upravitelju
(uporabnik <Literal>root</Literal>), tako ostane na disku več
uporabnega prostora.
</para>

<para>
Nato pritrdimo napravo:
<Screen>
        mount -t ext2 <Symbol>NAPRAVA</Symbol> /mnt
</Screen>
(Če še ne obstaja, morate narediti imenik <filename>/mnt</filename>,
ki bo služil kot točka vpetja na datotečni sistem.) V preostalih
razdelkih bomo predpostavili, da so imena ciljnih imenikov relativna
glede na <Filename>/mnt</Filename>.
</para>

</sect2>

<sect2>
<title>Naselitev datotečnega sistema</title>

<para>
Tukaj je naveden razumen najmanjši nabor imenikov za vaš
korenski datotečni sistem
<footnote>
<para>Tukaj predstavljena imeniška struktura velja samo za korenske
diskete. Resnični sistemi Linux imajo kompleksnejši in strožje določen
pravilnik, imenovan
<Ulink url="http://www.pathname.com/fhs/2.0/fhs-toc.html">Filesystem
Hierarchy Standard</ulink> (standard za hierarhijo datotečnega sistema),
ki določa, kje naj bo katera datoteka.
</Para>
</Footnote>:

<Itemizedlist>

<Listitem>
<Para><Filename>/dev</Filename> -- Datoteke gonilnikov naprav, obvezne za delovanje vhodno/izhodnih operacij
</Para>
</Listitem>

<Listitem>
<Para><Filename>/proc</Filename> -- Imenik, obvezen za delovanje datotečnega sistema proc
</Para>
</Listitem>

<Listitem>
<Para><Filename>/etc</Filename> -- Datoteke s sistemskimi nastavitvami
</Para>
</Listitem>

<Listitem>
<Para><Filename>/sbin</Filename> -- Pomembne sistemske izvršljive datoteke
</Para>
</Listitem>

<Listitem>
<Para><Filename>/bin</Filename> -- Potrebne izvršljive datoteke, ki se smatrajo za del sistema
</Para>
</Listitem>

<Listitem>
<Para><Filename>/lib</Filename> -- Deljene knjižnice, ki zagotavljajo delovanje izvršljivih datotek
</Para>
</Listitem>

<Listitem>
<Para><Filename>/mnt</Filename> -- Točka priklopa za delo z ostalimi diski
</Para>
</Listitem>

<Listitem>
<Para><Filename>/usr</Filename> -- Dodatni pripomočki in programi
</Para>
</Listitem>

</Itemizedlist>
</Para>

<Para>
Trije izmed naštetih imenikov bodo v korenskem datotečnem sistemu prazni
in jih je potrebno le ustvariti z ukazom <Command>mkdir</Command>. Imenik
<filename>/proc</filename> je v osnovi le mesto, kamor se bo namestil
datotečni sistem proc. Imenika <filename>/mnt</filename> in <filename>/usr</filename>
sta samo priklopni točki, ki se uporabljata, ko zagonski/korenski sistem
že teče. Še enkrat, te tri imenike je potrebno samo ustvariti.
</para>

<para>
Ostali štirje imeniki so opisani v naslednjih razdelkih.
</para>

<sect3><title>/dev</title>

<Indexterm><Primary>imenik gonilnikov naprav dev)</Primary></Indexterm>

<para> Imenik <filename>/dev</filename>, ki vsebuje posebne datoteke
za vse v sistemu uporabljane naprave, je obvezen v vsakem sistemu Linux.
Sam po sebi je to običajen imenik in ga lahko na običajen način ustvarimo
z ukazom <literal>mkdir</literal>. Zato pa je potrebno posebne datoteke
naprav ustvariti na poseben način z ukazom <Command>mknod</Command>.
</para>

<para> Obstaja tudi lažji način, mogoče je namreč prepisati datoteke iz
obstoječega imenika <filename>/dev</filename> na trdem disku. Zahtevano
je edino, da se ukazu za prepisovanje (<Command>cp</Command>) doda še
izbira <literal>-R</literal>. Tako prepišete imenik brez prepisovanja
vsebine datotek. Prepričajte se, da <Emphasis> bo izbira <Option>R</Option>
vtipkana kot velika črka</Emphasis>.
Primer:
<Screen>
        cp -dpR /dev/fd[01]* /mnt/dev
        cp -dpR /dev/tty[0-6] /mnt/dev
</Screen>
ob predpostavki, da je disketa pritrjena na imenik <filename>/mnt</filename>.
Stikali <literal>dp</literal> poskrbita, da se simbolne povezave prepišejo
kot povezave (ne pa datoteke, kamor te povezave kažejo) in da se ohranijo prvotni
atributi datotek ter skupaj z njimi tudi podatki o njihovem lastništvu.
</para>

<para>
Če hočete to storiti na težji način, z ukazom <literal>ls -l</literal> ugotovite
višje (major) in nižje (minor) številke naprav za želene naprave in jih
naredite na disketi z uporabo ukaza <literal>mknod</literal>.
</para>

<Para>Kakorkoli že naredite datoteke gonilnikov naprav, preverite, ali
ste na disketo namestili datoteke gonilnikov naprav, ki jih potrebujete.
Na primer, <literal>ftape</literal> uporablja datoteke gonilnikov naprav za
tračne enote, zato boste morali prepisati vse te datoteke gonilnikov
naprav, če nameravate po zagonu s pripravljene diskete
uporabljati tračno enoto.
</Para>

<Para>Upoštevajte, da vsaka datoteka gonilnikov naprav porabi eno vozlišče
in vozlišč lahko hitro zmanjka, kar še posebej velja za datotečne
sisteme na disketah. Zato boste morali skrbno izbrati, katere datoteke
gonilnikov naprav vključiti na disketo. Če npr. nimate diskov SCSI, lahko
mirno izpustite vse datoteke <Literal>/dev/sd*</Literal>; če ne nameravate
uporabljati serijskih vrat, lahko izpustite <Literal>/dev/ttyS*</Literal>
itn.</Para>

<Para>Če se ob pripravi korenskega datotečnega sistema izpiše sporočilo
<Literal>No space left on device</Literal> (Na napravi je zmanjkalo
prostora), ukaz <Literal>df</Literal> pa pokaže, da je prostor še na razpolago,
vam je zelo verjetno zmanjkalo vozlišč. Porabo vozlišč lahko ugotovite z
ukazom <Literal>df -i</Literal>.
</Para>

<Important><Para>Vsekakor pa naj bodo vključene naslednje datoteke iz
tega imenika:
<Filename/console/, <Filename/kmem/, <Filename/mem/, <Filename/null/,
<Filename/ram0/ in <Filename/tty1/.</para> </Important>

</sect3>

<sect3><title>/etc</title>
<Indexterm><Primary>imenik etc</Primary></Indexterm>

<para>
Imenik /etc vsebuje nastavitvene datoteke. Njegova vsebina je odvisna
od programov, ki jih nameravate poganjati. Na večini sistemov lahko njegovo
vsebino razdelimo v tri skupine:
<OrderedList>
<Listitem>
<Para>
Vedno obvezne datoteke, <Emphasis>npr.</Emphasis> <Filename/rc/,
<Filename/fstab/, <Filename/passwd/.
</Para>
</Listitem>

<Listitem>
<Para>
Datoteke, ki so lahko obvezne, vendar ni nihče 100% prepričan v to.
</Para>
</Listitem>

<Listitem>
<Para>
Šara, ki se je, kdo ve, kako, znašla tu.
</Para>
</Listitem>

</Orderedlist>
Ponavadi lahko neobvezne datoteke razkrinkamo z ukazom:
<Screen>
        ls -ltru
</Screen>
Ta ukaz nam razvrsti datoteke glede na čas zadnjega dostopa do njih,
začenši s tistimi s časovno najbolj oddaljenimi dostopi. Če se torej
katera datoteka odpira neredno, je ni potrebno prepisovati na
korensko disketo.
</Para>

<Para>
Kot poroča avtor, je število nastavitvenih datotek na korenski disketi
oklestil na 15. Na ta način je mogoče prihraniti nekaj dela z razdelitvijo
na tri množice datotek:
<Orderedlist>
<Listitem>

<Para>
Datoteke, ki jih je treba posebej nastaviti za zagonsko/korenski
sistem:
<Orderedlist>

<Listitem>
<Para>
<Filename>rc.d/*</Filename> -- skripti za zagon sistema in spremembe načinov delovanja
</Para>
</Listitem>

<Listitem>
<Para>
<Filename>fstab</Filename> -- seznam datotečnih sistemov, ki jih je mogoče pritrditi
</Para>
</Listitem>

<Listitem>
<Para>
<Filename>inittab</Filename> -- parametri za proces <Command>init</Command>,
                prvi proces, ki steče ob zagonu.
</Para>
</Listitem>

<Listitem>
<Para>
<Filename>gettydefs</Filename> -- parametri za proces <Command>init</Command>,
                prvi proces, ki steče ob zagonu.
</Para>
</Listitem>

</Orderedlist>
</Para>
</Listitem>

<Listitem>
<Para>
Datoteke, ki jih je potrebno le ``počistiti'' za uporabo na zagonskem/korenskem sistemu:
<Orderedlist>
<Listitem>
<Para>
<Filename>passwd</Filename> -- seznam uporabnikov, domačih imenikov itd.
</Para>
</Listitem>

<Listitem>
<Para>
<Filename>group</Filename> -- uporabniške skupine.
<Indexterm><Primary>uporabniške skupine</Primary></Indexterm>
</Para>
</Listitem>

<Listitem>
<Para>
<Filename>shadow</Filename> -- gesla uporabnikov. Ni rečeno, da jo imate.
<Indexterm><Primary>gesla shadow</Primary></Indexterm>
</Para>
</Listitem>

<Listitem>
<Para>
<Filename>termcap</Filename> -- zbirka podatkov o zmožnostih terminala.
</Para>
</Listitem>
</Orderedlist>
</Para>

<Para>
Če je varnost pomembna, bi morali biti datoteki <filename>passwd</filename>
in <filename>shadow</filename> okleščeni. Na ta način ne razširjamo naokrog
uporabniških gesel brez potrebe, obenem pa ob zagonu z diskete onemogočimo
neželene prijave.
</Para>
<Indexterm><Primary>obnavljanje datotek</Primary></Indexterm>

<Para>
<Indexterm><Primary>gesla shadow</Primary></Indexterm>
<Indexterm><Primary><Filename>passwd</Filename></Primary></Indexterm>
Prepričajte se, da datoteka <Filename>passwd</Filename> vsebuje vsaj
sistemskega upravitelja (<Literal>root</Literal>). Če nameravate
omogočiti dostop tudi drugim uporabnikom, poskrbite, da obstajajo tudi
njihove lupine in domači imeniki.
</Para>

<Para>
<Filename>termcap</Filename>, zbirka podatkov o terminalu, je običajno
dolga več 100 kB. Različica za zagonsko/korensko disketo naj bi bila
toliko okleščena, da vsebuje samo terminal(e), ki ga (jih) uporabljate,
to pa je ponavadi samo vnos <Literal>linux</Literal> ali
<Literal>linux-console</Literal>.
</Para>
</Listitem>

<Listitem>
<Para>
Ostalo. Ker trenutno delujejo, jih avtor pusti pri miru.
</Para>
</Listitem>
</Orderedlist>
</Para>

<Para>
Poleg tega je potrebno nastaviti dve datoteki in izkaže se, da je
njuna vsebina presenetljivo kratka.

<Itemizedlist>
<Listitem>
<Para>
<Filename>rc</Filename> naj vsebuje:
<Programlisting>
        #!/bin/sh
        /bin/mount -av
        /bin/hostname Kangaroo
</Programlisting>

Poskrbite, da je izvršljiva (nastavljena dovoljenja za izvrševanje),
da se prva vrstica prične z "#!" in da so vsa absolutna imena datotek
pravilna. Ukaza <Command>hostname</Command> niti ni potrebno pognati,
če ga, je izgled nekoliko prijaznejši.

</Para>
</Listitem>

<Listitem>
<Para>
<Filename>fstab</Filename> naj vsebuje vsaj:
<Programlisting>
        /dev/ram0       /               ext2    defaults
        /dev/fd0        /               ext2    defaults
        /proc           /proc           proc    defaults
</Programlisting>
<Indexterm><Primary><Filename>fstab</Filename></Primary></Indexterm>
Prepišete lahko vnose z vaše obstoječe datoteke <Filename>fstab</Filename>,
vendar ne bi smeli samodejno pritrditi kar vseh razdelkov trdega diska,
zato zraven dopišite še ključno besedo <Literal>noauto</Literal>.
Ko uporabljate zagonsko disketo, je vaš trdi disk namreč lahko poškodovan
ali pokvarjen.
</Para>
</Listitem>
</Itemizedlist>
</Para>

<Para>
Datoteko <Filename>inittab</Filename> je potrebno preurediti tako, da vrstica
s <Literal>sysinit</Literal> požene <Filename>rc</Filename> ali katerikoli
osnovni zagonski skript boste že uporabili. Če nočete, da se uporabniki
prijavljajo prek serijskih vrat, zakomentirajte vse vnose za
<Filename>getty</Filename>, ki imajo na koncu vrstice vključeno napravo
<Filename>ttys</Filename> ali <Filename>ttyS</Filename>. Vrata
<Filename>tty</Filename> pustite, da se bo mogoče prijavljati prek konzole.
</para>

<Indexterm><Primary><Filename>inittab</Filename></Primary></Indexterm>
<Indexterm><Primary><Filename>sysinit</Filename></Primary></Indexterm>
<Indexterm><Primary><Filename>rc</Filename></Primary></Indexterm>

<para>
Minimalna datoteka <Filename>inittab</Filename> je videti nekako takole:

<Programlisting>
        id:2:initdefault:
        si::sysinit:/etc/rc
        1:2345:respawn:/sbin/getty 9600 tty1
        2:23:respawn:/sbin/getty 9600 tty2
</Programlisting>

Datoteka <Filename>inittab</Filename> določa, kaj bo sistem pognal v različnih
stanjih, vključujoč zagon, premik v večuporabniški način itd. Pozorno preverite
imena datotek, omenjena v datoteki <filename>inittab</filename>; če
<literal>init</literal> ne najde tam omenjenih programov, se bo sistem obesil
in verjetno ne boste videli niti sporočila o napaki.
</para>

<Indexterm><Primary>vprogramirane lokacije</Primary></Indexterm>

<para>
Upoštevajte, da nekaterih programov ni mogoče prestavljati drugam, ker imajo
drugi programi že vprogramirane (angl. hardcoded) poti do njih. Primer je
<Filename>/etc/shutdown</Filename>, ki ima v sebi že vprogramirano pot do
<Filename>/etc/reboot</Filename>. Če prestavite <Filename>reboot</Filename> npr.
v <Filename>/bin/reboot</Filename> in nato poskusite pognati ukaz
<Literal>shutdown</Literal>, vam to ne bo uspelo, ker <Literal>shutdown</Literal>
ne bo našel datoteke <Literal>reboot</Literal>.
</Para>

<Indexterm><Primary>imenik etc</Primary></Indexterm>

<Para>Kar se tiče ostalega, samo prepišite vse tekstovne datoteke v imeniku
<Filename>/etc</Filename>, poleg njih pa še vse izvršilne datoteke v tem imeniku,
za katere niste prepričani, da jih ne potrebujete. Poskusite se zgledovati po
vzorčnem seznamu v dodatku &vsebina;. Verjetno bo zadostovalo, če
prepišete samo te datoteke, vendar se lahko sistemi kar precej
razlikujejo med seboj,
zato ne morete biti prepričani, da je ta ista množica datotek v vašem sistemu
enakovredna datotekam na tem seznamu. Edini zanesljiv način je, da si ogledate
<Literal>inittab</Literal> in ugotovite, kaj vse se zahteva.
</para>

<para>Dandanes večina sistemov uporablja imenik <filename>/etc/rc.d/</filename>,
ki vsebuje lupinske skripte za različne načine delovanja. Vsebovati mora najmanj
skript <filename>rc</filename>, vendar je morebiti enostavneje kar prepisati
<Filename>inittab</Filename> in vsebino imenika <Filename>/etc/rc.d</Filename> z
obstoječega sistema ter nato oklestiti skripte v imeniku <Filename>rc.d</Filename>,
da tako odstranite vse, česar ne potrebujete za delovanje sistema, zagnanega s
sistemske diskete.
</para>

</Sect3>

<Sect3>
<Title>/bin in /sbin</Title>

<Indexterm><Primary>imenik bin</Primary></Indexterm>
<Indexterm><Primary>imenik sbin</Primary></Indexterm>

<Para>

Imenik <filename>/bin</filename> je primerno mesto za dodatne
pripomočke, ki jih potrebujete za izvajanje osnovnih opravil,
pripomočkov, kot so <command>ls</command>, <command>mv</command>,
<command>cat</command> in <command>dd</command>. Oglejte si dodatek
&vsebina; kot referenčni seznam datotek, ki sodijo
v imenika <command>/bin</command> in <filename>/sbin</filename>.
Na tem seznamu ni pripomočkov za obnavljanje rezervnih kopij,
kot so <command>cpio</command>, <command>tar</command> ali
<command>gzip</command>. Vzrok temu je, da se te datoteke praviloma
nahajajo na posebni disketi s pripomočki, tako se prihrani prostor
na zagonski/korenski disketi. Ko je sistem enkrat zagnan z
zagonske/korenske diskete, se njena vsebina prepiše v pomnilniški disk,
disketni pogon pa se sprosti za pritrditev dodatne diskete, t.j.
pomožne diskete. Ponavadi se jo pritrdi na
<filename>/usr</filename>.
</para>

<para>Izdelava pomožne diskete je opisana v podrazdelku &pomozni;.
Verjetno je pametno, da na pomožno disketo shranite orodja za
obnavljanje rezervnih kopij, ki naj bodo enake različice, kot tista, s
katerimi ste rezervne kopije tudi naredili. Tako ne boste tratili časa
z namestitvijo različic, ki ne znajo prebrati vaših trakov z rezervnimi kopijami.
</para>


<Important>
<Para>
Nikar ne pozabite vključiti naslednjih programov: <filename/init/,
<filename/getty/ ali enakovredna zamenjava, <filename/login/,
<filename/mount/, lupina, ki lahko poganja vaše skripte rc,
povezava <filename/sh/, ki kaže na to lupino.
</para>
</Important>

<Indexterm><Primary>init</Primary></Indexterm>
<Indexterm><Primary>getty</Primary></Indexterm>
<Indexterm><Primary>login</Primary></Indexterm>
<Indexterm><Primary>sh</Primary></Indexterm>
<Indexterm><Primary>lupine</Primary></Indexterm>

</sect3>

<Sect3><Title>/lib</Title>

<Indexterm><Primary>imenik s knižnicami (lib)</Primary></Indexterm>
<Indexterm><Primary>knjižnice</Primary></Indexterm>

<para>
V imenik <filename>/lib</filename> boste namestili potrebne deljene
knjižnice in nalagalnike. Če sistem potrebnih knjižnic ne najde v
imeniku <filename>/lib</filename>, se ne bo mogel zagnati. Če boste
imeli srečo, boste morebiti celo videli sporočilo o napaki.
</para>

<para>
<Indexterm><Primary><Filename>libc.so</Filename></Primary></Indexterm>
Skorajda vsak program zahteva vsaj knjižnico <filename>libc</filename>,
<Filename>libc.so.</Filename><Emphasis>N</Emphasis>, kjer
<emphasis>N</emphasis> pomeni številko trenutne različice. Preverite
vaš imenik <filename>/lib</filename>. Datoteka
<filename>libc.so.N</filename> je ponavadi simbolična povezava do
datoteke, ki v imenu vsebuje popolno številko različice:
</para>

<para>

<Screen width=82>
% ls -l /lib/libc*
-rwxr-xr-x   1 root     root      4016683 Apr 16 18:48 libc-2.1.1.so*
lrwxrwxrwx   1 root     root           13 Apr 10 12:25 libc.so.6 -> libc-2.1.1.so*
</Screen>

</para>

<para> V tem primeru potrebujete datoteko <filename>libc-2.1.1.so</filename>.
Do seznama preostalih potrebnih knjižnic se pride tako, da vsaki izvršljivi datoteki,
ki jo želite vključiti na disketo, ugotovite njene odvisnosti z ukazom
<Command>ldd</Command>.  Na primer:

<Screen width=70>
        % ldd /sbin/mke2fs
        libext2fs.so.2 =&#62; /lib/libext2fs.so.2 (0x40014000)
        libcom&lowbar;err.so.2 =&#62; /lib/libcom&lowbar;err.so.2 (0x40026000)
        libuuid.so.1 =&#62; /lib/libuuid.so.1 (0x40028000)
        libc.so.6 =&#62; /lib/libc.so.6 (0x4002c000)
        /lib/ld-linux.so.2 =&#62; /lib/ld-linux.so.2 (0x40000000)
</Screen>
Dodati je potrebno vse datoteke na desni strani zgornjega izpisa. Datoteka
je lahko tudi simbolična povezava.
</para>

<para> Upoštevajte, da so nekatere knjižnice <emphasis>kar obsežne</emphasis>
in jih ni lahko spraviti na korenski datotečni sistem. Primer je zgoraj
navedena knjižnica <filename>libc.so</filename>, ki obsega približno 4 MB.
Preden prepišete knjižnice na korenski datotečni sistem, jih boste verjetno
morali oskubiti (angl. strip). Za nadaljnja navodila si oglejte
razdelek &slimfast;.
</para>

<Indexterm><Primary>nalagalniki</Primary></Indexterm>

<para>
V imeniku <filename>/lib</filename> ne sme manjkati tudi nalagalnik
knjižnic. Nalagalnik bo ali <filename>ld.so</filename> (za knjižnice
A.OUT, ki se postopoma opuščajo) ali <filename>ld-linux.so</filename>
(za knjižnice ELF). Novejše različice <command>ldd</command> (kot je npr.
v zgornjem primeru) tudi natančno povedo, kateri nalagalnik je potreben,
starejše različice pa morda ne. Če niste prepričani, katerega
potrebujete, poženite ukaz <command>file</command> nad knjižnicami.
Na primer:
<Screen width=80>
% file /lib/libc.so.4.7.2 /lib/libc.so.5.4.33 /lib/libc-2.1.1.so
/lib/libc.so.4.7.2: Linux/i386 demand-paged executable (QMAGIC), stripped
/lib/libc.so.5.4.33: ELF 32-bit LSB shared object, Intel 80386, version 1, stripped
/lib/libc-2.1.1.so: ELF 32-bit LSB shared object, Intel 80386, version 1, not stripped
</Screen>
Besedica <literal>QMAGIC</literal> pove, da je različica <literal>4.7.2</literal>
za knižnice A.OUT, <literal>ELF</literal> pa pove, da sta različici
<literal>5.4.33</literal> in <literal>2.1.1</literal> za knjižnice ELF.

<Indexterm><Primary>ELF</Primary></Indexterm>
</para>

<para>
Nalagalnik(e), ki jih potrebujete, prepišite na korenski disk,
ki ga pripravljate. <Emphasis>Temeljito</Emphasis> preverite
ali ste prepisali vse knjižnice in nalagalnike, ki jih potrebujejo
vključene izvršilne datoteke. Če jedro ne more naložiti kakšne
izmed knjižnic, se utegne obesiti brez opozorila o napaki.
</para>

</sect3>
</sect2>

<Sect2 id="PAMandNSS">
<Title>Podpora za PAM in NSS</title>
<Para>
Vaš sistem lahko zahteva tudi dinamično naložene knjižnice, ki jih
<filename>ldd</filename> ne vidi. Če ne omogočite podpore za te
knjižnice, utegnete imeti težave ob prijavi ali uporabi zagonske
diskete.
</Para>

<sect3>
<Title>PAM (Pluggable Authentication Modules - vtični moduli za avtentikacijo)</Title>

<Para>
Če vaš sistem uporablja PAM, morate na zagonski disketi poskrbeti za nekaj
zaloge zanjo, Na kratko, PAM je sofisticirana modularna metoda za
avtentikacijo uporabnikov in nadzor njihovega dostopa do storitev.
Preprost način, da ugotovite, ali vaš sistem uporablja PAM, je,
da poženete ukaz <filename>ldd</filename> na izvršilni datoteki
<filename>login</filename>; če v izpisu vidite
<filename>libpam.so</filename>, potem potrebujete PAM.
</Para>

<Para> Na srečo varnost ne igra pomembne vloge pri uporabi
zagonskih disket, kajti vsak, ki ima fizični dostop do računalnika,
lahko tako ali tako počne, kar hoče. Zato lahko učinkovito onemogočite
PAM, če v vaš korenski datotečni sistem dodate preprosto datoteko
<filename>/etc/pam.conf</filename>, ki je videti takole:
<Programlisting>
OTHER   auth       optional     /lib/security/pam&lowbar;permit.so
OTHER   account    optional     /lib/security/pam&lowbar;permit.so
OTHER   password   optional     /lib/security/pam&lowbar;permit.so
OTHER   session    optional     /lib/security/pam&lowbar;permit.so
</Programlisting>

Prepišite tudi datoteko <filename>/lib/security/pam&lowbar;permit.so</filename>
v vaš korenski datotečni sistem. Ta knjižnica zasede samo 8 kB, tako da
predstavlja minimalne dodatne prostorske zahteve.
</Para>

<Para>Takšna nastavitev dovoli vsakomur popoln dostop do datotek in
storitev. Če vam je iz kakršnegakoli vzroka varnost pri uporabi
zagonskega diska pomembna, boste morali s trdega diska prepisati nekaj
ali kar vse nastavitve za PAM v vaš korenski datotečni sistem. Pazljivo
preberite
dokumentacijo za PAM in prepišite vse potrebne knjižnice v imeniku
<filename>/lib/security</filename> v vaš korenski datotečni sistem.
</Para>

<Para>
Na zagonsko disketo morate dodati tudi <Filename>/lib/libpam.so</Filename>.
Vendar to že veste, saj ste datoteki <Filename>/bin/login</Filename> z
ukazom ldd preverili odvisnosti in to ugotovili.
</Para>

</Sect3>

<Sect3>
<Title>NSS (Name Service Switch - stikalo imenskih storitev)</Title>

<Para>
Če uporabljate glibc (poznan tudi kot libc6), boste morali poskrbeti
tudi za imenske storitve, sicer se ne boste mogli prijaviti.
Datoteka <Filename>/etc/nsswitch.conf</Filename> nadzira poizvedbe
v zbirki podatkov za različne storitve. Če ne nameravate dostopati do
omrežnih storitev (npr. poizvedbe DNS ali NIS), morate le pripraviti
preprosto datoteko <Filename>nsswitch.conf</Filename>, ki je videti
takole:
<Programlisting>
     passwd:     files
     shadow:     files
     group:      files
     hosts:      files
     services:   files
     networks:   files
     protocols:  files
     rpc:        files
     ethers:     files
     netmasks:   files
     bootparams: files
     automount:  files
     aliases:    files
     netgroup:   files
     publickey:  files
</Programlisting>

Tako določite, da bodo vse storitve na voljo le lokalnim datotekam.
Dodati boste morali še datoteko <Filename>/lib/libnss&lowbar;files.so.</Filename><Emphasis>X</Emphasis>,
kjer je <Emphasis>X</Emphasis> enak 1 za glibc 2.0 in 2 za glibc 2.1.
Ta knjižnica se bo naložila dinamično in obdelala poizvedbe datotek.
</Para>

<Para>
Če nameravate z zagonskega diska tudi dostopati do omrežja, boste morda
morali pripraviti bolj dovršeno datoteko <filename>nsswitch.conf</filename>.
Za več podrobnosti si oglejte priročniško stran za <Filename>nsswitch</Filename>.
Ne smete pozabiti na datoteko <Filename>/lib/libnss&lowbar;</Filename>,
<Emphasis>storitev</Emphasis><Filename>.so.1</Filename>
za vsako <Emphasis>storitev</Emphasis>, ki jo določite.
</para>

</sect3>

</sect2>

<sect2>
<title>Moduli</title>
<Indexterm><Primary>moduli</Primary></Indexterm>

<para> Če imate modularno jedro, se morate odločiti, katere module želite
naložiti ob zagonu z zagonske diskete. Če delate rezervne kopije na
trak, boste tako verjetno vključili modula <command>ftape</command> in
<command>zftape</command>, če imate naprave SCSI, boste verjetno dodali
module z gonilniki zanje, morda pa boste dodali še module za podporo
PPP ali SLIP, če želite tudi v sili dostopati do interneta.
</para>

<para>
Ti moduli se običajno nahajajo v imeniku <filename>/lib/modules</filename>.
Ne smete pozabiti še na ukaze <command>insmod</command>, <command>rmmod</command>
in <command>lsmod</command>. Če želite samodejno nalaganje modulov, pa ne
smejo manjkati še ukazi <command>modprobe</command>, <command>depmod</command>
in <command>swapout</command>. Če uporabljate <command>kerneld</command>,
ga dodajte v <filename>/etc/conf.modules</filename>.
</para>

<para>
Glavna prednost uporabe modulov je, da lahko module, ki niso nujni
za zagon, spravite na pomožno disketo in jih naložite, ko jih
potrebujete, tako porabite manj prostora na korenski disketi. Če boste
imeli opravka z veliko različnimi napravami, je ta način primernejši od
gradnje obsežnega monolitnega jedra s precej vgrajenimi gonilniki.
</para>

<Important>
<Para>
Za zagon stisnjenega datotečnega sistema ext2 morata biti podpori za
pomnilniški disk in ext2 že vgrajeni v jedro. <Emphasis>Podpora zanju
v obliki modulov ni mogoča.</Emphasis>
</Para>
</Important>

</sect2>

<sect2>
<title>Nekaj končnih podrobnosti</title>

<para> Nekateri sistemski programi, npr. <command>login</command>, se
bodo pritoževali, če datoteka <filename>/var/run/utmp</filename> in
imenik <filename>/var/log</filename> ne obstajata. Zatorej naredite
naslednje:
</para>
<Screen width=60>
        mkdir -p /mnt/var/&lcub;log,run&rcub;
        touch /mnt/var/run/utmp
</Screen>

<para>
Na koncu, ko ste nastavili vse potrebne knjižnice, poženite še ukaz
<command>ldconfig</command>, ki ustrezno prikroji datoteko
<filename>/etc/ld.so.cache</filename> na korenskem datotečnem sistemu.
Iz te datoteke bo nalagalnik knjižnic črpal podatke, kje najti knjižnice.
To lahko storite takole:
<Screen width=60>
        ldconfig -r /mnt
</Screen>
<Indexterm><Primary><Filename>ldconfig</Filename></Primary></Indexterm>
<Indexterm><Primary><Filename>ld.so.cache</Filename></Primary></Indexterm>
</para>

</sect2>

<Sect2 id="WrappingItUp"><Title>Ko je končno vse pripravljeno...</Title>

<para>
Ko končate s pripravljanjem korenskega datotečnega sistema, ga
odklopite, prepišite v datoteko in stisnite:
<Screen width=50>
        umount /mnt
        dd if=<Symbol>NAPRAVA</Symbol> bs=1k | gzip -v9 > rootfs.gz
</Screen>

Ko se ta postopek konča, boste dobili datoteko <filename>rootfs.gz</filename>.
To je vaš stisnjen datotečni sistem. Preverite njegovo velikost in se
prepričajte, da je dovolj kratek, da ga je mogoče spraviti na disketo;
če to ni mogoče, se boste morali vrniti na enega prejšnjih podrazdelkov
in zbrisati nekaj datotek. Nekaj namigov za zmanjšanje korenskega
datotečnega sistema lahko najdete v razdelku &slimfast;.
</para>

</sect2>

</sect1>

<sect1><title>Izbira jedra</title>
<Indexterm><Primary>jedro, izbira</Primary></Indexterm>

<para>
Sedaj ste verjetno že pripravili stisnjen korenski datotečni
sistem. Naslednji korak bo priprava ali izbira jedra. V večini
primerov bi bilo mogoče kar prepisati vaše trenutno jedro na zagonsko
disketo in zagnati sistem z nje. So pa tudi primeri, ko boste želeli
pripraviti posebno jedro.
</para>

<para>
En razlog je velikost. Če pripravljate enovito zagonsko/korensko disketo,
bo jedro ena izmed najdaljših datotek na tej disketi, tako ga boste morali
skrajšati, kolikor je le mogoče. Njegovo dolžino zmanjšate, če ga
prevedete z minimalnim naborom pripomočkov za podporo želenega sistema.
To pomeni, da morate izpustiti vse, česar ne potrebujete. Mirno lahko
izpustite podporo za omrežne kartice kot tudi podporo za diskovne pogone in za ostale naprave, ki jih
ne potrebujete med poganjanjem vašega zagonskega/korenskega sistema. Kot
je bilo omenjeno že prej, v jedru <emphasis>mora</emphasis> biti vključena
podpora za pomnilniške diske in datotečni sistem ext2.
</para>

<para> Ko ste ugotovili, kaj bi lahko predstavljalo minimalni nabor
pripomočkov za vključitev v jedro, boste morali premisliti, kaj od
izpuščenega vključiti nazaj. Verjetno najobičajnejša uporaba z
zagonskimi/korenskimi disketami zagnanega sistema bo pregled in obnova
okvarjenega korenskega datotečnega sistema na trdem disku in za kaj takega
utegnete potrebovati podporo v jedru. Na primer, če so vse vaše rezervne kopije
shranjene na traku, do katerega lahko dostopate s programom Ftape, potem
v primeru, da izgubite dostop do korenskega datotečnega sistema in
dostop do pogonov, kamor piše Ftape, ne boste mogli obnoviti rezervnih
kopij. V tem primeru boste morali znova namestiti Linux, naložiti in
znova namestiti <Command>ftape</Command> in potem poskušati prebrati
vsebino rezervnih kopij.
</para>

<para>
Ideja je, da kakršnekoli vhodno/izhodne gonilnike  ste že dodali v
jedro (na trdem disku) za podporo izdelave rezervnih kopij, to isto podporo naj bi
vključili tudi v jedro za zagonsko/korensko disketo.
</para>

<Indexterm><Primary>jedro, gradnja iz izvirne kode</Primary></Indexterm>

<para>
Postopek za dejansko prevajanje jedra je opisan v dokumentaciji, ki je
priložena jedru. Slediti ji je dokaj lahko, iskati jo začnite
v imeniku <filename>/usr/src/linux</filename>. Če imate težave pri
prevajanju jedra, se najverjetneje sploh ne bi smeli ukvarjati s
pripravo zagonskih/korenskih disket. Ne pozabite stisniti jedra
z ukazom ``<command>make zImage</command>''.
</para>

</sect1>

<sect1>
<title>Priprava disket(e)</title>

<para>
Sedaj ste verjetno že pripravili jedro in stisnjen korenski datotečni
sistem. Če pripravljate zagonsko/korensko disketo, se prepričajte, da
je oboje mogoče spraviti na eno disketo. Če pripravljate sistem ločenih
zagonske in korenske diskete, se prepričajte, da korenski datotečni
sistem morebiti ni predolg, da bi ga spravili na disketo.
</para>

<para> Odločite se, ali boste zagnali jedro z zagonske diskete z Lilom.
Druga možnost je, da prepišete jedro neposredno na disketo in ga zaženete
brez Lila. Prednost uporabe Lila je, da lahko ob zagonu podaste jedru
dodatne parametre, ki so lahko nujni, da pripravite strojno opremo k
delovanju. Poglejte datoteko <filename>/etc/lilo.conf</filename> v vašem
sistemu. Če obstaja in če vsebuje vrstico, ki se začne z
``<literal>append=...</literal>'', potem verjetno morate zaganjati z Lilom.
Slabost uporabe Lila je, da je priprava jedra zapletenejša in da je potrebnega
nekoliko več prostora. Pripraviti boste morali dodaten majhen datotečni sistem,
imenovan tudi <emphasis>datotečni sistem jedra</emphasis>, kamor boste prenesli
jedro in še nekaj datotek, ki jih potrebuje Lilo.
</para>

<Indexterm><Primary>datotečni sistem Lilo</Primary></Indexterm>
<Indexterm><Primary><Filename>lilo.conf</Filename></Primary></Indexterm>
<Indexterm><Primary>jedro</Primary><Secondary>parametri</Secondary></Indexterm>

<para> Če boste pripravili zagonsko disketo z Lilom, berite dalje, če pa boste
neposredno prenesli jedro, preskočite na podrazdelek &brezlila;.
</para>

<sect2 id="TransferringWithLILO">
<title>Prenos jedra z Lilom</title>

<para>
Najprej se prepričajte, da imate kolikor toliko novo različico Lila.
</para>

<para>
Narediti morate kratko nastavitveno datoteko za Lilo.
Izgleda naj nekako takole:
<Programlisting>
        boot      =/dev/fd0
        install   =/boot/boot.b
        map       =/boot/map
        read-write
        backup    =/dev/null
        compact
        image     = JEDRO
        label     = Bootdisk
        root      =/dev/fd0
</Programlisting>
Obrazložitev teh parametrov najdete v uporabniški dokumentaciji Lila.
Verjetno boste morali v to datoteko dodati še vrstico
<literal>append=...</literal> iz datoteke <filename>/etc/lilo.conf</filename>
na vašem trdem disku.
</para>

<para>
Datoteko shranite pod imenom <filename>bdlilo.conf</filename>.
</para>

<para> Sedaj morate narediti majhen datotečni sistem, ki ga bomo poimenovali
<emphasis>datotečni sistem jedra</emphasis>, da bomo ločili med njim in
korenskim datotečnim sistemom.
</para>

<para>
Najprej poskusite uganiti, kolikšen naj bo ta datotečni sistem. Določite
velikost jedra v blokih (z ukazom ``<command>ls -s JEDRO</command>'') in
prištejte še 50 blokov. Približno toliko prostora namreč porabijo
i-vozlišča in ostale datoteke. Če želite, lahko natančno izračunate to število,
lahko pa privzamete kar 50. Če pripravljate zagon z dveh disket, lahko izberete
tudi kakšno večjo številko, ker bo na prvi disketi tako in tako samo jedro.
Vrednost <literal>DOLŽINA&lowbar;JEDRA</literal> naj bo enaka tej številki.
</para>

<para>
Vstavitre disketo v pogon (zaradi poenostavitve bomo predpostavili, da je
njegova naprava <filename>/dev/fd0</filename>) in na njej naredite
datotečni sistem ext2:
<Screen width=50>
        mke2fs -N 24 -m 0 /dev/fd0 DOLŽINA&lowbar;JEDRA
</Screen>

<Indexterm><Primary>i-vozlišča</Primary><Secondary>dodelitev</Secondary></Indexterm>

Izbira ``<literal>-N 24</literal>'' določi 24 i-vozlišč, kar zadostuje za ta
datotečni sistem. Nato ga priklopite, odstranite imenik
<filename>lost+found</filename> ter naredite imenika <filename>dev</filename>
in <filename>boot</filename> za Lilo:
<Screen>
        mount -o dev /dev/fd0 /mnt
        rm -rf /mnt/lost+found
        mkdir /mnt/&lcub;boot,dev&rcub;
</Screen>
</Para>

<Para>
Nato izdelajte datoteki gonilnikov naprav <filename>/dev/null</filename> in
<Filename>/dev/fd0</Filename>. Namesto da ugotavljate številke naprav, jih
lahko kar prepišete s trdega diska z izbiro <literal>-R</literal>:
<Screen>
        cp -R /dev/{null,fd0} /mnt/dev
</Screen>
Lilo potrebuje kopijo svojega zagonskega nalagalnika, <filename>boot.b</filename>,
ki ga lahko snamete s trdega diska. Ponavadi se nahaja v imeniku
<filename>/boot</filename>.
<Screen>
        cp /boot/boot.b /mnt/boot
</Screen>
Na koncu prepišite še datoteko z nastavitvami Lila, ki ste jo naredili v
prejšnjem razdelku, in jedro. Oboje se lahko nahaja v korenskem imeniku:
<Screen>
        cp bdlilo.conf JEDRO /mnt
</Screen>
Vse, kar Lilo potrebuje, je sedaj na datotečnem sistemu jedra, tako da je
pripravljen na zagon. Uporabimo Lilovo izbiro <literal>-r</literal>, ki
namesti zagonski nalagalnik na drug korenski imenik:
<Screen>
        lilo -v -C bdlilo.conf -r /mnt
</Screen>

Lilo bi se moral pognati brez napak, za tem bi moral datotečni sistem
izgledati nekako takole:
<Screen width=75>
total 361
  1 &ndash;rw&ndash;r&ndash;&ndash;r&ndash;&ndash;   1 root     root          176 Jan 10 07:22 bdlilo.conf
  1 drwxr&ndash;xr&ndash;x   2 root     root         1024 Jan 10 07:23 boot/
  1 drwxr&ndash;xr&ndash;x   2 root     root         1024 Jan 10 07:22 dev/
358 &ndash;rw&ndash;r&ndash;&ndash;r&ndash;&ndash;   1 root     root       362707 Jan 10 07:23 vmlinuz
boot:
total 8
  4 &ndash;rw&ndash;r&ndash;&ndash;r&ndash;&ndash;   1 root     root         3708 Jan 10 07:22 boot.b
  4 &ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root         3584 Jan 10 07:23 map
dev:
total 0
  0 brw&ndash;r&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root       2,   0 Jan 10 07:22 fd0
  0 crw&ndash;r&ndash;&ndash;r&ndash;&ndash;   1 root     root       1,   3 Jan 10 07:22 null
</Screen>
</Para>

<Indexterm><Primary>jedro</Primary><Secondary>datotečni sistem</Secondary></Indexterm>

<Para>
Ne skrbite, če se zgoraj navedene velikosti datotek nekoliko razlikujejo od
vaših.
</Para>

<Para>
Sedaj pustite disketo v pogonu in preskočite na podrazdelek &ramdiskbeseda;.
</Para>

</Sect2>

<Sect2 id="TransferringWithoutLILO">
<Title>Prenos jedra brez Lila</Title>

<Para>
Če <emphasis>ne</emphasis> uporabljate Lila, preneste jedro na zagonsko
disketo z ukazom <command>dd</command>:
<Screen width=50>
        % dd if=JEDRO of=/dev/fd0 bs=1k
        353+1 records in
        353+1 records out
</Screen>

V tem primeru je <command>dd</command> zapisal 353 polnih blokov plus še
enega nepolnega, jedro tako zasede prvih 354 blokov na disketi. Poimenujmo
to številko <literal>DOLŽINA&lowbar;JEDRA</literal> in si jo zapomnimo, saj
jo bomo potrebovali v naslednjem razdelku.
</para>

<para>
Na koncu nastavimo, da bo korenska naprava sama disketa, in da se bo naložila
z dovolilnicami za branje in pisanje:
<Screen>
        rdev /dev/fd0 /dev/fd0
        rdev -R /dev/fd0 0
</Screen>

<Indexterm><Primary>rdev</Primary></Indexterm>

Bodite pozorni, da boste v drugem ukazu <Command>rdev</Command> vtipkali
izbiro kot veliki <literal>-R</literal>.
</para>

</sect2>

<sect2 id="SettingRamdiskWord"><title>Nastavljanje besede za pomnilniški disk</title>

<para>
Znotraj slike jedra se nahaja skupina bitov z imenom
<Emphasis>beseda pomnilniškega diska</Emphasis> (beseda (angl. word) v tem
primeru pomeni 16 bitov), ki s še nekaj drugimi možnostmi določa predvsem,
kje naj se išče korenski datotečni sistem. To besedo lahko dosežemo in
nastavimo z ukazom <Command>rdev</Command>, posamezni njeni biti pa
pomenijo naslednje:
  <InformalTable>
    <Tgroup cols=2 align=left>
      <Colspec colname=Bit align=right colwidth="1in">
      <Colspec colname=Descrip align=left>
      <Thead>
	<Row>
	  <entry>Bit št.</entry>
	  <entry>Opis</entry>
	</Row>
      </Thead>
      <Tbody>
	<Row>
	  <entry>0-10</entry>
	  <entry>Odmik do začetka pomnilniškega diska v blokih velikosti
	  1024 zlogov (bajtov)</entry>
	</Row>
	<Row>
	  <entry>11-13</entry>
	  <entry>Neuporabljeni</entry>
	</Row>
	<Row>
	  <entry>14</entry>
	  <entry>Zastavica, ali naj se naloži pomnilniški disk</entry>
	</Row>
	<Row>
	  <entry>15</entry>
	  <entry>Zastavica, ali naj se pred nalaganjem korenskega
	  datotečnega sistema pojavi pozivnik</entry>
	</Row>
      </Tbody>
    </TGroup>
  </InformalTable>
</para>

<para>
Če je bit št. 15 nastavljen na 1, boste ob zagonu pozvani, da v pogon
vstavito naslednjo disketo. To je potrebno v sistemih z ločenima zagonsko
in korensko disketo.
</para>

<para>
Ločimo dva primera v odvisnosti od tega, ali pripravljamo enovito
zagonsko/korensko disketo ali pa sistem z dvema (zagonska + korenska)
disketama.
</para>

<orderedlist>
<listitem>

<para> Če pripravljate enovito disketo, bo stisnjen korenski datotečni
sistem nameščen takoj za jedrom, Tako bo odmik enak številki prvega
prostega bloka (ki naj bi bila enaka <literal>DOLŽINA&lowbar;JEDRA</literal>).
Bit št. 14 nastavimo na 1, bit št. 15 pa na 0.

Recimo, da pripravljate enovito zagonsko disketo in da se bo korenski
datotečni sistem začel na bloku št. 253 (desetiško). Vrednost besede
pomnilniškega diska bo tako 253 (desetiško), bit št. 14 bo nastavljen na 1,
bit št. 15 pa na 0. Vrednost besede lahko izračunate, če preprosto
seštejete vrednosti v desetiškem številskem sistemu:
253 + (2&circ;14) = 253 + 16384 = 16637. Če vam ni povsem jasno, od kod ta
številka, jo vtipkajte v znanstveni kalkulator in pretvorite v dvojiški
sistem.
</para>
</listitem>

<listitem>
<para>
Če pripravljate sistem z dvema zagonskima disketama, se bo korenski
datotečni sistem začel na bloku št. 0 druge diskete, odmik bo tako enak 0.
Bit št. 14 bo enak 1, bit št. 15 pa ravno tako 1. Desetiška vrednost besede
bo tako v tem primeru enaka 2&circ;14 + 2&circ;15 = 49152.
</para>
</listitem>

</orderedlist>


<Indexterm><Primary>beseda pomnilniškega diska</Primary></Indexterm>
<Indexterm><Primary>rdev</Primary></Indexterm>

<para>
Potem, ko ste izračunali vrednost besede pomnilniškega diska, jo nastavite
z ukazom <command>rdev -r</command>. Bodite pozorni, da boste nastavili
njeno <emphasis>desetiško</emphasis> vrednost. Če ste se odločili za
namestitev jedra z Lilom, naj bo argument za ukaz <command>rdev</command>
<emphasis>pot do pritrjenega jedra</emphasis>, npr. <filename>/mnt/vmlinuz</filename>;
če ste jedro prepisali z ukazom <command>dd</command>, namesto tega
vnesite ime gonilniške datoteke za disketni pogon (<emphasis>npr.,</emphasis>
<filename>/dev/fd0</filename>).
<Screen>
        rdev -r JEDRO&lowbar;ALI&lowbar;DISKETNI&lowbar;POGON  VREDNOST
</Screen>
</Para>

<Para>
Če ste se odločili za namestitev jedra z Lilom, sedaj odklopite disketo.
</Para>

<Important>
   <Para>Ne verjemite tega, kar pravi priročniška stran za rdev/ramsize o
   velikosti pomnilniškega diska.
    Priročniška stran je zastarela. Od jedra 2.0 dalje (ali nekaj takšnega)
    beseda pomnilniškega diska nič več ne določa njegove velikosti; namesto
    tega se beseda interpretira v skladu s tabelo na začetku podrazdelka
    &ramdiskbeseda;. Podrobnejšo razlago najdete v
    dokumentacijski datoteki <Ulink
    url="file:/usr/src/linux/Documentation/ramdisk.txt">ramdisk.txt</ULink>
    ali na naslovu
    <ULink
    url="http://www.linuxhq.com/kernel/v2.4/doc/ramdisk.txt.html"></ULink>.

   </Para>
</Important>

</Sect2>

<Sect2><title>Prenos korenskega datotečnega sistema</title>

<Para>
V zadnjem koraku je potrebno prenesti še datotečni korenski sistem.
</para>

<para>

<itemizedlist>
<listitem>

<para> Če bo korenski datotečni sistem nameščen na <emphasis>isto</emphasis>
disketo kot jedro, ga prenesite z ukazom <Command>dd</Command> in izbiro
<Option>seek</Option>, ki določi, koliko blokov je treba preskočiti:
<Screen>
        dd if=rootfs.gz of=/dev/fd0 bs=1k seek=<Emphasis>DOLŽINA&lowbar;JEDRA</Emphasis>
</Screen>
</para>
</listitem>

<listitem>
<para>
Če bo korenski datotečni sistem nameščen na <emphasis>drugo</emphasis>
disketo, vzemite prvo disketo iz pogona, vanj vstavite drugo disketo
in prenesite nanjo korenski datotečni sistem:
<Screen>
        dd if=rootfs.gz of=/dev/fd0 bs=1k
</Screen>
</para>
</listitem>

</itemizedlist>

</para>

<para>
Čestitke, končali ste!
</para>

<Important>
<Para>
Preden zagonsko(i) disketo(i) pospravite za nujne primere, jo/ju vsekakor
preizkusite. Če zagon z nje/njiju ne uspe, berite dalje.
</Para>
</Important>
</Sect2>
</Sect1>

<Sect1 id="Troubleshooting">
<Title>Odpravljanje težav ali agonija poraza</title>
<Indexterm><Primary>Odpravljanje težav</Primary></Indexterm>

<Para>
Če ste začetniki, se pripravljene zagonske diskete pogosto ne bodo hotele
zagnati v prvih nekaj poskusih. Splošni pristop k pripravi korenske diskete je
zbrati komponente iz obstoječega sistema ter zatem poskusiti zagnati sistem
vsaj do točke, kjer se na konzoli začno prikazovati sporočila. Ko je enkrat mogoče
brati sporočila, je pol bitke že za vami, ker lahko vidite, zaradi česa se
pritožuje, in lahko tako odpravljate posamezne probleme, dokler sistem ne
teče gladko. Če se sistem kratkomalo obesi brez obrazložitve, je ponavadi
težko ugotoviti vzrok. Priporočen postopek za raziskovanje problemov, kjer
sistem ne izpisuje sporočil, je naslednji:
</para>

<para>

<itemizedlist>

<listitem>
<para>
Morda se bo pojavilo sporočilo, podobno naslednjemu:
<Screen>
Kernel panic: VFS: Unable to mount root fs on XX:YY
</Screen>
To je splošen problem, ki mu lahko botruje samo nekaj vzrokov. Najprej
preverite napravo <emphasis>XX:YY</emphasis>, če se ujema s seznamom
kod naprav v datoteki <Filename>/usr/src/linux/Documentation/devices.txt</Filename>.
Če je naprava nepravilna, verjetno niste izvršili ukaza <command>rdev -R</command>
ali pa ste to storili na napačni sliki. Če je koda naprave pravilna, pazljivo
preverite gonilnike naprav, ki so prevedeni v jedru. Prepričajte se, da so
vanj vgrajeni podpora za disketne pogone, pomnilniški disk in datotečni
sistem ext2.
</para>
</listitem>

<listitem>
<para>
Če se pojavi precej sporočil podobnih naslednjemu:
<Screen>
end&lowbar;request: I/O error, dev 01:00 (ramdisk), sector NNN
</Screen>
je to vhodno/izhodna napaka v gonilniku za pomnilniški disk, do katere ponavadi
pride, ker jedro poskuša pisati prek meja te naprave. To pomeni, da je
pomnilniški disk premajhen za celoten korenski datotečni sistem. V zagonskih
sporočilih jedra z zagonske diskete poiščite vrstice, podobne naslednji:
<Screen>
        Ramdisk driver initialized : 16 ramdisks of 4096K size
</Screen>
To velikost primerjajte z velikostjo <Emphasis>nestisnjenega</Emphasis>
korenskega datotečnega sistema. Če so pomnilniški diski premajhni, jih
povečajte.
</para>
</listitem>

<listitem>

<para>
Preverite, ali so na korenski disketi dejansko tisti imeniki, ki bi morali
biti tam. Ni se težko zmotiti in jih prepisovati na napačni stopnji, tako
da na koncu na korenski disketi dobite nekaj podobnega
<filename>/rootdisk/bin</filename> namesto <filename>/bin</filename>.

</para>
</listitem>
<listitem>

<para>
Prepričajte se, da obstaja datoteka <filename>/lib/libc.so</filename> z enako
povezavo, kot se pojavi v imeniku <filename>/lib</filename> na trdem disku.

</para>
</listitem>
<listitem>

<para>
Preverite, da vse simbolične povezave v imeniku <filename>/dev</filename>
obstajajo tudi v korenskem datotečnem sistemu diskete. To velja za povezave
do naprav, ki ste jih vključili na korensko disketo. V precej primerih so
še posebej potrebne povezave na <filename>/dev/console</filename>.
</para>

<Indexterm><Primary>imenik z napravami</Primary></Indexterm>

</listitem>
<listitem>

<para>
Poglejte, ali ste dodali datoteke <filename>/dev/tty1, /dev/null, /dev/zero,
/dev/mem, /dev/ram</filename> in <filename>/dev/kmem</filename>.

</para>
</listitem>
<listitem>

<para>
Preverite nastavitve jedra. Podpora za vsa sredstva, ki so potrebna do
prijave, mora biti vgrajena v jedro, ne v modulih! To velja zlasti
za <emphasis>podporo pomnilniškim diskom in datotečnemu sistemu
ext2</emphasis>.

</para>
</listitem>
<listitem>

<para>
Prepričajte se, da so nastavitve za korensko napravo jedra ter pomnilniški
disk pravilne.
</para>
</Listitem>
</Itemizedlist>
</Para>

<para>
Ko ste obdelali te splošne vidike, je treba preveriti še nekaj
določenih datotek:

<orderedlist>
<Listitem>
<Para>
Prepričajte se, da je datoteka <command>init</command> vključena kot
<filename>/sbin/init</filename> ali <filename>/bin/init</filename>.
Prepričajte se, da je izvršljiva.
</Para>
</Listitem>

<Listitem>
<Para>
Poženite ukaz <command>ldd init</command> da ugotovite, od katerih knjižnic
je <command>init</command> odvisen. Ponavadi je to samo knjižnica
<filename>libc.so</filename>, vendar vseeno raje preverite. Prepričajte se,
da ste vključili potrebne knjižnice in nalagalnike.
</Para>
</Listitem>

<listitem>
<para>
Prepričajte se, da imate pravi nalagalnik za knjižnice --
<filename>ld.so</filename> za a.out oz. <filename>ld-linux.so</filename>
za ELF.
<Indexterm><Primary>nalagalniki</Primary></Indexterm>
</para>
</listitem>

<listitem>
<para>
V datoteki <filename>/etc/inittab</filename> na zagonski disketi preverite
klice programa <command>getty</command> (ali kakšne zamenjave zanj, npr.
<command>agetty</command>, <command>mgetty</command> ali
<command>getty&lowbar;ps</command>). Dvakrat jih preverite v primerjavi z
<filename>inittab</filename>om na trdem disku. Poglejte priročniško stran
uporabljenega programa, da se prepričate, ali imajo smisel. Datoteka
<filename>inittab</filename> verjetno predstavlja najzapletenejši del, ker
sta njena skladnja in vsebina odvisni od programa init in od narave sistema.
Edini način, da se je lotite, je branje priročniških strani za
<command>init</command> in <filename>inittab</filename> ter da do potankosti
ugotovite, kaj vaš sistem počne ob zagonu. Preverite, ali
<filename>/etc/inittab</filename> vsebuje vnos za inicializacijo sistema.
Ta vnos bi moral vsebovati ukaz za izvršitev skripta za to nalogo in ta skript
vsekakor mora obstajati.

</para>
</listitem>
<listitem>

<para> Podobno, kot ste storili pri ukazu <command>init</command>, poženite
<command>ldd</command> še na ukazu <Command>getty</Command>, da vidite, katere
knjižnice potrebuje in da preverite, ali so te knjižnice in nalagalniki
vključeni v korenski datotečni sistem.

</para>
</listitem>
<listitem>

<para>
Prepričajte se, da ne manjka lupinski program (npr. <command>bash</command>
ali <command>ash</command>), ki je sposoben izvesti vse zagonske
skripte rc.
<Indexterm><Primary>lupine</Primary></Indexterm>
</para>
</listitem>

<listitem>
<para>
Če imate na reševalni disketi datoteko <filename>/etc/ld.so.cache</filename>,
jo naredite znova.
</para>
</listitem>

</orderedlist>

</para>

<para>
Če se <Command>init</Command> zažene, vendar dobite sporočilo, podobno
naslednjemu:
<Screen width=80>
        Id xxx respawning too fast: disabled for 5 minutes
</Screen>
je to sporočila procesa <Command>init</Command>, ki ponavadi pomeni, da
se program <Command>getty</Command> ali <Command>login</Command> prekine
takoj po zagonu. Preglejte njuni izvršilni datoteki in knjižnice, od
katerih sta odvisna. Prepričajte se, da sta v datoteki
<filename>/etc/inittab</filename> klicana pravilno. Če dobite čudna sporočila
od programa <command>getty</command>, lahko to pomeni, da je obrazec za
njegovo izvajanje v datoteki <filename>/etc/inittab</filename> napačen.
</para>

<para> Če dobite vnosnik za prijavo in vnesete veljavno uporabniško ime,
sistem pa vas takoj spet vpraša po uporabniškem imenu, je lahko problem
s PAM ali NSS. Oglejte si podrazdelek &pamnss;. Lahko pa uporabljate
senčna gesla (angl. shadow) in ste pozabili prepisati
<filename>/etc/shadow</filename> na korensko disketo.
</para>

<para> Če poskusite pognati neko izvršljivo datoteko na reševalni disketi,
npr. <command>df</command>, in dobite sporočilo v slogu "<literal>df: not
found</literal>", preverite dvoje: (1.) ali je imenik z izvršljivimi
datotekami naveden v spremenljivki PATH, in (2.) ali imate knjižnice
(in nalagalnike), ki jih program potrebuje. </para>

</sect1>

<sect1 id="Slimfast">
<title>Zmanjšanje velikosti korenskega datotečnega sistema</title>

<Para>

Eden glavnih problemov pri pripravi zagonskih disket je spraviti vse na eno
ali dve disketi. Tudi če datoteke stisnemo, je to lahko zelo težko, saj
velikosti komponent Linuxa med razvojem ves čas naraščajo. V nadaljevanju je
predstavljenih nekaj nasvetov, kako spraviti vse na datotečni sistem
omejene velikosti.
</Para>

<sect2>
<title>Povečanje gostote diskete</title>
<Para>
Privzeto so diskete formatirane na velikost 1440 kB, mogoče pa jih je
sformatirati tudi na večjo gostoto. Od Biosa pa je odvisno, ali je tudi
mogoč zagon s takšnih disket.
Ukaz <Filename>fdformat</Filename> formatira diskete na naslednje velikosti:
1600 kB, 1680 kB, 1722 kB, 1743 kB, 1760 kB, 1840 kB in 1920 kB.
Oglejte si priročniško stran za <Command>fdformat</Command> in
<Filename>/usr/src/linux/Documentation/devices.txt</Filename>.
</Para>

<Para> Toda katere gostote/geometrije disket bo računalnik podpiral? Tukaj
podajamo nekaj odgovorov Alaina Knaffa, avtorja programa fdutils.
</Para>

<BlockQuote>
<Para>
To je bolj stvar Biosa kot fizičnega formata disket. Če se BIOS odloči, da bo
vsak sektor nad 18. slab, potem se ne da dosti storiti. Zares se zdi, da je
kratko vzvratno sledenje delovanja Biosa in poskušanje z napakami edini način,
kako to ugotoviti. Kakorkoli že, če BIOS podpira diske ED (extra density:
36 sektorjev/sled in 2,88 MB), je možnost, da bodo podprte tudi diskete,
formatirane na 1722 kB.
</Para>

<Para>
Pričakujemo lahko, da s superformatiranih disket z več kot 21 sektorji na sled verjetno
ni mogoče zagnati sistema. Zares se izkaže, da uporabljajo sektorje nestandardnih
velikosti (1024 zlogov na sektor namesto 512) in da verjetno niso primerne za zagonske
diskete. Moralo pa bi biti mogoče narediti program za zapis zagonskega sektorja, ki bi
to obšel. Če se prav spominjam, ima nekaj takšnega Dosov pripomoček 2m, kot ga ima
tudi XDF za OS/2.
</Para>

<Para>
Nekateri Biosi sami po sebi privzamejo, da so vsi sektorji nad 18. okvarjeni.
Ker 1722 KB diskete uporabljajo številke sektorjev vse do 21, te diskete ne
bodo mogle biti zagonske. Najboljši način za preizkus bi bil formatirati
preizkusno disketo za DOS ali Syslinus in jo narediti za zagonsko. Če uporabljate
LILO, ne uporabite izbire linear, sicer bo LILO predpostavil, da ima disketa
privzetih 18 sektorjev/sled, in zagon z diskete ne bo uspel, četudi bi BIOS
to podpiral.
</Para>
</BlockQuote>
</Sect2>

<Sect2>
<Title>Nadomestitev splošnih pripomočkov s paketom BusyBox</Title>

<Para> Večino prostora na korenskem datotečnem sistemu zasedajo splošni GNU
sistemski pripomočki kot <Literal>cat, chmod, cp, dd, df</Literal> itd.
Naloga projekta <Emphasis>BusyBox</Emphasis> je izdelati čim krajše nadomestke
za te splošne sistemske pripomočke. BusyBox je ena monolitna izvršljiva datoteka,
<Literal>/bin/busybox</Literal>, dolžine pribl. 150 KB, ki izvaja naloge teh
pripomočkov. Na to datoteko naredite simbolne povezave z imeni teh pripomočkov.
BusyBox ugotovi, na kakšen način je bil poklican in temu primerno izvede ustrezno
funkcijo. Vsebuje celo osnovno lupino.

BusyBox je že preveden na voljo v paketih za številne distribucije, izvirna koda
pa je na voljo na <Ulink url="http://www.busybox.net/">domači strani BusyBoxa</Ulink>.

<!-- Pri povezavi na zgornji naslov dobite napako 404 (stran ne obstaja), vendar avtor
v srcu čuti, da je to pravilen URL, zato ga ni spreminjal -->

</Para>
</Sect2>

<Sect2>
<Title>Uporaba druge lupine</Title>

<Para> Nekatere priljubljene lupine za Linux, npr. <Command>bash</Command>
ali <Command>tcsh</Command>, so obsežne in zahtevajo precej knjižnic. Če ne
uporabljate lupine BusyBoxa, boste kljub temu še vedno primorani zamenjati lupino.
Seznam nekaterih nadomestnih lupin obsega <command>ash</command>,
<command>lsh</command>, <command>kiss</command> in <command>smash</command>,
ki zasedejo precej manj prostora in zahtevajo malo (ali celo nobenih) knjižnic.
Večino teh nadomestnih lupin dobite na naslovu <ulink
url="http://www.ibiblio.org/pub/Linux/system/shells/"><filename
class="directory">http://www.ibiblio.org/pub/Linux/system/shells/
</filename></ulink>. Prepričajte se, da je z lupino, ki jo boste izbrali, mogoče
pognati vse zagonske skripte na zagonski disketi.

<Indexterm><Primary>lupine</Primary></Indexterm>

</Para>

</Sect2>

<Sect2>
<Title>Oskubljenje knjižnic in prevedenih programov</Title>

<Para> Precej knjižnic in prevedenih programov se razširja s podatki za
razhroščevanje. Če je temu tako, izvedba ukaza <command>file</command> na
teh datotekah vrne ``<literal>not stripped</literal>''.
<Indexterm><Primary>knjižnice</Primary></Indexterm> Ko prepisujete prevedene
programe na korenski datotečni sistem, je pametno izvesti:
<Screen>
      objcopy --strip-all OD DO
</Screen>

<Indexterm><Primary>knjižnice</Primary><Secondary>stripping</Secondary></Indexterm>
<Indexterm><Primary><Filename>strip</Filename></Primary></Indexterm>
<Indexterm><Primary><Filename>objcopy</Filename></Primary></Indexterm>

<Important>
<Para>
Ko prepisujete knjižnice, se prepričajte, da namesto <Option>strip-all</Option>
uporabite izbiro <Option>strip-debug</Option>.
</Para>
</Important>

</Para>
</Sect2>

<Sect2>
<Title>Prestavitev datotek na pomožno disketo</Title>

<Para> Če kakšnih programov ne potrebujete takoj ob zagonu ali prijavi,
jih lahko prestavite na pomožno disketo. Za več podrobnosti si oglejte
podrazdelek &pomozni;.
details. Razmislite lahko tudi o preselitvi modulov na pomožno disketo.

<Indexterm><Primary>pomožna disketa</Primary></Indexterm>

</Para>

</Sect2>
</Sect1>

<Sect1><title>Razno</title>


<sect2 id="NonRamdiskRoot">
<title>Korenski datotečni sistemi brez pomnilniškega diska</title>
<Indexterm><Primary>pomnilniški disk</Primary></Indexterm>

<para>
Razdelek &buildroot; nas nauči izdelati stisnjen korenski datotečni
sistem, ki se ob zagonu sistema naloži v pomnilniški disk. Ker ima ta način
veliko prednosti, se ga največkrat uporablja. Vendar si pri nekaterih sistemih
z malo pomnilnika ne moremo privoščiti pomnilnika RAM za kaj takšnega, zato
moramo v takšnih primerih korenski datotečni sistem pritrditi neposredno
na disketo.
</para>

<para>
Takšne datotečne sisteme je pravzaprav lažje izdelati kot stisnjene, ker jih
lahko naredimo kar na disketi namesto na drugih napravah in jih ni treba
stiskati. Opisali bomo tudi ta postopek, saj se razlikuje od prej opisanega.
Če se odločite za to možnost, ne pozabite, da boste imeli na voljo
<emphasis>precej manj prostora</emphasis>.
</para>

<para>

<orderedlist>
<listitem>

<para>
Izračunajte, koliko prostora boste imeli na voljo za korenske datoteke.

Če pripravljate enovito zagonsko/korensko disketo, boste morali nanjo
spraviti vse bloke jedra in še vse bloke korenskega datotečnega sistema.

</para>
</listitem>
<listitem>

<para>
Z ukazom <command>mke2fs</command> izdelajte korenski datotečni
sistem ustrezne velikosti.

</para>
</listitem>
<listitem>

<para>
Naselite datotečni sistem, kot je opisano v prejšnjih razdelkih.

</para>
</listitem>
<listitem>

<para>
Ko končate, odklopite datotečni sistem in ga prenesite v datoteko, vendar
<emphasis>ga ne stiskajte</emphasis>.

</para>
</listitem>
<listitem>

<para>
Po prej opisanem postopku prenesite jedro na disketo. Ko računate vrednost
besede pomnilniškega diska, <emphasis>nastavite bit št. 14 na 0</emphasis>,
tako označite, naj se korenski datotečni sistem ne naloži v pomnilniški disk.
Poženite ukaz <command>rdev</command>, kot je opisano.
<Indexterm><Primary>beseda pomnilniškega diska</Primary></Indexterm>
<Indexterm><Primary>rdev</Primary></Indexterm>

</para>
</listitem>
<listitem>

<para>
Prenesite korenski datotečni sistem enako kot prej.

</para>
</listitem>

</orderedlist>

</para>

<para> Uberete lahko kar nekaj bližnjic. Če pripravljate zagon z dveh disket,
lahko korenski datotečni sistem pripravite kar neposredno na drugi disketi
in vam ga tako ni treba prenašati v datoteko na trdem disku in nazaj.
Če pripravljate enovito zagonsko/korensko disketo in nameravate uporabiti
LILO, lahko na celotni disketi pripravite <emphasis>enovit</emphasis>
datotečni sistem, ki vsebuje jedro, datoteke za LILO, in datoteke korenskega
datotečnega sistema. Na koncu morate le še pognati LILO.
</para>

</sect2>

<sect2 id="UtilityDisk">
<title>Priprava pomožne diskete</title>
<indexterm><primary>pomožna disketa</primary></indexterm>

<para>
Priprava pomožne diskete je sorazmerno lahka. Na formatirani disketi
naredite datotečni sistem in nanjo prepišite ustrezne datoteke. Da jo boste
lahko uporabljali, jo ročno pritrdite po zagonu z zagonske diskete.
</para>

<para>
Kot smo že omenili, je pomožna disketa lahko priklopljena na imenik
<filename>/usr</filename>. V tem primeru lahko izvršilne datoteke postavimo
v imenik <filename>/bin</filename> na pomožni disketi, tako jih bo mogoče
doseči, če spremenljivko PATH nastavite na <filename>/usr/bin</filename>.
Dodatne knjižnice, ki jih te datoteke potrebujejo, postavite v imenik
<filename>/lib</filename> na pomožni disketi.
</para>

<para>
Ob načrtovanju pomožne diskete je treba pomisliti na kar nekaj pomembnih stvari:
</para>

<para>

<orderedlist>
<listitem>

<para>
Ne nameščajte pomembnih sistemskih programov in knjižnic na pomožno
disketo, ker le te ne bo mogoče pritrditi, dokler ne bo sistem zagnan.

</para>
</listitem>
<listitem>

<para>
Hkrati ni mogoče dostopati do diskete in tračne enote. To pomeni, da če
imate tračno enoto, z njo ne boste mogli delati, dokler je pomožna
disketa priklopljena.

</para>
</listitem>
<listitem>

<para>
Dostop do datotek na pomožni disketi bo počasen.

</para>
</listitem>

</orderedlist>

</para>

<para>V dodatku &vsebinapomozna; je prikazana vsebina vzorčne
pomožne diskete, po kateri naj bi se zgledovali. Sledi nekaj napotkov za
programe, ki bi utegnili biti koristni: programi za
delo z diski (<command>format, fdisk</command>) in datotečnimi sistemi
(<command>mke2fs, fsck, debugfs, isofs.o</command>), kratek urejevalnik
(<command>elvis, jove</command>), pripmočki za stiskanje in arhiviranje
(<command>gzip, bzip, tar, cpio, afio</command>), za delo s tračnimi
enotami (<command>mt, ftmt, tob, taper</command>), komunikacijo
(<command>ppp.o, slip.o, minicom</command>) in pripomočke za delo z
napravami (<command>setserial, mknod</command>).
</para>

</sect2>

</sect1>

<sect1 id="Pros">
<title>Kako to delajo profesionalci</title>

<para>
Morda ste opazili, da so zagonske diskete, priložene nekaterim pomembnejšim
distribucijam Linuxa, npr. Slackware, RedHat ali Debian, videti bolj
dodelane od zagonskih disket, ki jih pripravimo po navodilih iz tega spisa.
Pripravljene so po enakih postopkih, kot so opisani v spisu, vendar je
uporabljenih še nekaj trikov, ker je postavljenih še nekaj dodatnih zahtev.
Te zagonske diskete morajo delovati s širokim spektrom strojne opreme, tako
morajo imeti možnost, da uporabnik vnese kakšne potrebne podatke, obenem
morajo znati naložiti raznorazne gonilnike naprav. Biti morajo tudi
pripravljene na delovanje s precej različnimi možnostmi namestitve, z
različnimi stopnjami samostojnega delovanja. In končno, zagonske diskete
distribucij so ponavadi načrtovane za namestitev in reševanje.
</para>

<Indexterm><Primary>začetni pomnilniški disk (initrd)</Primary></Indexterm>

<para>
Nekatere zagonske diskete uporabljajo lastnost <emphasis>initrd</emphasis>
(<emphasis>začetni pomnilniški disk</emphasis>, angl. initial ramdisk).
Ta lastnost se je pojavila nekje z jedrom 2.0.x in dovoljuje jedru zagon
v dveh korakih. Ko se jedro prvič zažene, z zagonske diskete naloži sliko
začetnega pomnilniškega diska. Ta začetni pomnilniški disk je korenski
datotečni sistem, ki vsebuje program, ki se izvrši, še preden se naloži
resnični korenski datotečni sistem. Ta program ponavadi pregleda sistem
in/ali pozove uporabnika, naj izbere med različnimi možnostmi zagona, npr.
s katere naprave naj se naloži resnična korenska disketa. Ponavadi naloži
dodatne module, ki niso vgrajeni v jedro. Ko ta program preneha z
delovanjem, jedro naloži resnično sliko korenskega datotečnega sistema
in zagon se normalno nadaljuje. Za nadaljnje informacije o
<command>začetnem pomnilniškem disku</command> si preberite datoteki
<ulink url="file:/usr/src/linux/Documentation/initrd.txt">
<filename>/usr/src/linux/Documentation/initrd.txt</filename></ulink>
in <ulink url="ftp://elserv.ffm.fgan.de/pub/linux/loadlin-1.6/initrd-example.tgz">
<filename>ftp://elserv.ffm.fgan.de/pub/linux/loadlin-1.6/initrd-example.tgz</filename>
</ulink>.
</para>

<para>
V nadaljevanju si bomo na hitro ogledali, kako naj bi delovale zagonske
diskete pri vsaki distribuciji. Do ugotovitev smo prišli s pregledom vsebine
datotečnega sistema in/ali izvirne kode. Ne jamčimo, da so ti podatki
popolnoma resnični ali da se od navedenih različic dalje niso spremenili.
</para>

<para> Slackware (3.1) uporablja nezapleten zagon z Lilom, podoben opisanemu
v podrazdelku &prenoszlilom;. Ob zagonu se izpiše sporočilo
&ldquo;<literal>Welcome to the Slackware Linux bootkernel disk!</literal>&rdquo;,
pri čemer je bila uporabljena Lilova izbira <literal>message</literal>.
Tako uporabnik dobi navodilo, naj vnese zagonski parameter, če je to
potrebno. Po zagonu se z druge diskete naloži korenski datotečni sistem.
Uporabnik zažene skript <command>setup</command>, ki prične namestitev.
Namesto uporabe modularnega jedra imamo na voljo več različnih jeder in
uporabnik izbere eno, ki ustreza njegovim zahtevam glede strojne opreme.
</para>

<para> RedHat (4.0) se ravno tako poslužuje zagona z Lilom. Najprej se
naloži stisnjen pomnilniški disk na prvi disketi, ki požene prirejen
program <command>init</command>. Ta program poizve po gonilnikih in
nato po potrebi naloži dodatne datoteke z dopolnilne diskete.
</para>

<para> Debian (1.3) ima verjetno najbolj dodelan sistem namestitvenih
disket. Uporablja nalagalnik SYSLINUX, ki najprej uredi vse potrebno
glede raznih možnosti nalaganja, nato se uporabi slika
<Literal>initrd</Literal>, ki uporabnika popelje skozi namestitev. Kaže,
da sta uporabljena tako prirejena program <command>init</command> kot
prirejena lupina.
</para>

</sect1>

<sect1 id="CD-ROMs"><Title>Izdelava zagonskih plošč CD</Title>
    <note>
      <para> Ta razdelek je prispeval Rizwan Mohammed Darwe
      (<literal>rizwan AT clovertechnologies dot com</literal>)
     </para>
    </note>

<para>
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.
</para>

<sect2><title>Kaj je El Torito?</title>

<para>
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.
</para>

<para> Specifikacija El Torito določa, da naj bi bil zagon mogoč s
<emphasis>katerimkoli</emphasis> 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. </para>

</Sect2>
<Sect2>
<title>Kako deluje?</title>

<para> 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. </para>

<para> 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:
(<filename>/dev/fd0</filename>) morda ne bo dosegljiv, vendar lahko poskusite
z <filename>/dev/fd1</filename>).  </para>

</Sect2>

<sect2><title>Kako jo pripraviti k delovanju</title>

<para>
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
<Screen>
	dd if=/dev/fd0 of=boot.img bs=10k count=144
</Screen>
ob predpostavki, da je disketa v pogonu A:.
</para>

<para>
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).
</para>

<para>
Pazite na past. Začetni pomnilniški disk <emphasis>mora</emphasis> 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.
</para>

<para>
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 <filename>boot.catalog</filename> se zdi kar primerno zanj.
</para>

<para> Torej, imamo zagonsko sliko v datoteki <filename>boot.img</filename>
in postavili jo bomo v imenik <filename class="directory">boot/</filename>
na vrhu datotečnega sistema ISO 9660. Zagonski katalog bomo morali
postaviti v isti imenik in ga poimenovati <filename>boot.catalog</filename>.
Ukaz za izdelavo slike datotečnega sistema ISO 9660 v datoteki
<filename>bootcd.iso</filename> bo potemtakem takšen:

<screen>
mkisofs -r -b boot/boot.img -c boot/boot.catalog -o bootcd.iso .
</screen>

Izbira <option>-b</option> določi zagonsko sliko, ki naj se uporabi (kot lahko
vidite, mora biti pot relativna glede na vrh imeniške hierarhije, ki naj se
pretvori v sliko ISO 9660), z izbiro <option>-c</option> pa določimo, kje
je datoteka zagonskega kataloga. Izbira <option>-r</option> bo datotekam
nastavila primerno lastništvo in dovolilnice (oglejte si priročniško stran
za <filename>mkisofs</filename>). Pika (".") na koncu določa, da želimo
preslikati trenutni imenik s podimeniki. </para>

<para>
Sedaj lahko na običajen način (npr. z ukazom cdrecord) zapečete ploščo, ki
bo tako postala pripravljena za zagon.
</para>
</sect2>

<sect2><title>Izdelava zagonskih plošč CD za Win9x</title>

<para> 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. <filename>boot.img</filename>).
Namesto tega kratkomalo zaženite sistem z izvirne plošče CD.</para>

<para>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.

<screen>
diskcopy A: B:
</screen>

Ta ukaz deluje enako kot dd. Poskusite lahko zagnati sistem s te pravkar
narejene diskete, da preizkusite, ali je zagonski proces podoben tistemu na
izvirni plošči CD. Nato vsebino diskete z ukazom dd preprosto prepišete v
datoteko (npr. boot.img) in nadaljujete z običajnim postopkom priprave.
</para>
</sect2>
</sect1>

<sect1><title>Odgovori na pogosto zastavljena vprašanja</title>

<QandAset defaultlabel='qanda'>

<QandAentry>
<Question>
<Para>
<Emphasis>Poskušam zagnati sistem z zagonske/korenske diskete, pa se ne zgodi
nič. Kaj naj storim?
</Emphasis>
</Para>
</Question>

<Answer>
<Para>
Preberite razdelek &troubleshooting;.
</Para>
</Answer>
</QandAentry>

<QandAentry>
<Question>
<Para>
<Emphasis>Kako delujejo zagonske diskete za Slackware, Debian oz. RedHat?
</Emphasis>
</Para>
</Question>

<Answer>
<Para>
Oglejte si razdelek &profiji;.
</Para>
</Answer>
</QandAentry>

<QandAentry>
<Question>
<Para>
<Emphasis>Kako naj uporabim diskete z večjo gostoto (> 1440 kB)?
Kako naj ugotovim, kakšne diskete (s kakšnimi gostotami) bodo delovale z
mojim pogonom?
</Emphasis>
</Para>
</Question>

<Answer>
<Para>
Oglejte si opombe Alaina Knaffa v razdelku &slimfast;.
Njegov odgovor je najbolj kompetenten od vseh poznanih.
</Para>
</Answer>
</QandAentry>

<QandAentry>
<Question>
<Para>
<Emphasis>Kako lahko povečam velikost pomnilniških diskov?
</Emphasis>
</Para>
</Question>

<Answer>
<Para>
Verjetno bi to moralo biti bolje razloženo v spisu, do takrat pa bo odgovor
napisan tu.
</Para>

<Para>
<Emphasis>Nikar</Emphasis> ne poskušajte narediti tega z ukazoma
<Literal>rdev</Literal> ali <Literal>ramsize</Literal>, ne glede na to, kar
piše v njuni dokumentaciji. Beseda pomnilniškega diska ne določa več
njegove velikosti.
</Para>

<Para>Zapomnite si, da so pomnilniški diski v bistvu dinamični; ko določite
njegovo velikost, s tem pravzaprav ne zasežete pomnilnika, s tem samo
nastavite mejo, do katere se lahko povečujejo. Tako jih lahko brez posebne
zadrege nastavite na kar velike vrednosti (npr. 8 ali celo 16 MB).
Pomnilnik RAM se ne porablja, dokler ga dejansko ne potrebujete. Omejitve
lahko nastavite na enega izmed naslednjih načinov.
</Para>
<Para>
<OrderedList>
<ListItem>
<Para>S parametrom <Literal>ramdisk&lowbar;size=NNN</Literal> v ukazni vrstici.
Lahko ga vnesete ročno ali z ukazom
<Literal>append="ramdisk&lowbar;size=NNN"</Literal> v Lilu.</Para>
</ListItem>

<ListItem><Para>Če uporabljate LILO, lahko to storite z vnosom v datoteki
<Literal>lilo.conf</Literal>, npr. <Literal>ramdisk=8192K</Literal>.
</Para>
</ListItem>

<ListItem><Para>V jedru spremenite vrednost parametra
<Literal>CONFIG_BLK_DEV_RAM_SIZE</Literal> in prevedite jedro.
</Para>
</ListItem>
</OrderedList>
</Para>
</Answer>
</QandAentry>

<QandAentry>
<Question>
<Para>
<Emphasis>Kako naredim zagonsko ploščo CD?
</Emphasis>
</Para>
</Question>

<Answer>
<Para>
Preberite razdelek &cdejke;.
</para>
</Answer>
</QandAentry>


<QandAentry>
<Question>
<Para>
<Emphasis>Kako naredim zagonsko disketo LS-120?
</Emphasis>
</Para>
</Question>

<Answer>
<Para>
Ker avtor nima tovrstnega pogona, je povzel
<ULink URL="http://www.linuxrouter.org/floppy.shtml"> podatke Dava Cinega
</Ulink> s projekta Linux Router Project.
</Para>

<Para>

LS-120 je disketni pogon IDE. Kompatibilen je z običajnimi 3,5 palčnimi
in novimi 120 MB disketami. Polno je podprt od jedra 2.0.31 dalje. Da lahko z njega
zaženete sistem, morate imeti BIOS, ki dovoljuje, da se pogon LS-120
obravnava kot pogon 0 (medtem ko se naprave IDE običajno začnejo na 80). Če
BIOS tega ne podpira, lahko kupite majhno kartico IDE FloppyMAX podjetja
Promise Technologies, ki odpravi to pomanjkljivost.
</Para>

<Para>

Zagonski nalagalnik jedra ne mara LS-120 in se obeša. Tudi diskete 2m ga ne
marajo in se ne bodo hotele zagnati. Diskete kapacitete med 1,44 in 1,74 MB
bodo delovale brez problemov. SYSLINUX deluje s 120 MB disketami od različice
1.32. Če ne potrebujete kompatibilnosti z MS_DOS, namesto uporabe SYSLINUXA
raje razdelite disketo in uporabite datotečni sistem ext2 ali minix.
</Para>

<Para>
LILO lepo deluje s 120 MB disketami. Tukaj je vzorčna datoteka lilo.conf:
<Screen>
        boot=/dev/hda
        compact
        disk=/dev/hda bios=0
        install=/floppy/boot.b
        map=/floppy/map
        image=/floppy/linux
        label=Linux
        append="load_ramdisk=1"
        initrd=/floppy/root.bin
        ramdisk=8192
</Screen>
V vrstici "disk=/dev/hda bios=0" se skriva trik, kako zagnati z diskete LS-120.
</para>
</Answer>
</QandAentry>

<QandAentry>
<Question>
<Para>
<Emphasis>Kako lahko naredim zagonsko disketo z xyz gonilnikom?
</Emphasis>
</Para>
</Question>

<Answer>
<Para>
Najlažji način je, da z najbližjega zrcalnega mesta snamete Slackwarovo
jedro. Ta jedra so generična jedra, ki poskušajo zajeti gonilnike za
čimvečje število naprav. Če imate torej krmilnik SCSI ali IDE, je veliko
možnosti, da je gonilnik zanj že vključen v Slackwarovo jedro.
</para>

<para>
Pojdite v imenik <Filename>a1</Filename> in izberite jedro s podporo IDE
ali SCSI, odvisno od vrste krmilnika, ki ga imate. Oglejte si datoteko
xxxxkern.cfg za izbrano jedro, da ugotovite, kateri gonilniki so vključeni
v to jedro. Če na tem seznamu najdete napravo, katere gonilnik potrebujete,
potem bi s tem jedrom morali uspeti zagnati vaš računalnik. Prenesite si
datoteko xxxxkern.tgz in
jo prepišite na zagonsko disketo, kot je to opisano v prejšnjih razdelkih o
izdelavi zagonskih disket.
</para>

<Indexterm><Primary>gonilniki naprav</Primary></Indexterm>

<Para> Zatem morate z ukazom <Command>rdev zImage</Command> preveriti
korensko napravo v jedru. Če ta ni enaka vaši želeni korenski napravi, jo
spremenite z ukazom <Command>rdev</Command>. Da boste lahko uporabljali
korensko disketo, boste morali vtipkati ukaz
<Command>rdev zImage /dev/fd0</Command>.
</para>

<para>
Nastavitev Slackwarove korenske diskete presega namen tega spisa, zato vam
predlagamo, da si ogledate Linux Install Guide (vodnik po namestitvi Linuxa)
ali si priskrbite distribucijo Slackware. Oglejte si tudi razdelek ``Viri in
povezave'' pri koncu tega spisa.
</Para>
</Answer>
</QandAentry>


<QandAentry>
<Question>
<Para>
<Emphasis>Kako posodobim korenske diskete z novimi datotekami?</Emphasis>
</Para>
</Question>

<Answer>
<Para>

<Indexterm><Primary>korenski datotečni sistemi</Primary>
<Secondary>posodobitev</Secondary></Indexterm>

Najpreprosteje je prepisati datotečni sistem korenske diskete nazaj na
<Symbol>NAPRAVO</Symbol>, ki ste jo uporabljali že v podrazdelku
&korenskids;. Nato datotečni sistem priklopite in
opravite želene spremembe. Zapomniti si morate, kje se je vaš korenski
datotečni sistem pričel in koliko blokov je zasedel:
<Screen width=80>
        dd if=/dev/fd0 bs=1k skip=ZAČETEK_K_D_S count=ŠT_BLOKOV | gunzip &#62; <Symbol>NAPRAVA</Symbol>
        mount -t ext2 <Symbol>NAPRAVA</Symbol> /mnt
</Screen>
Ko ste izvedli vse želene spremembe, nadaljujte, kot je opisano v podrazdelku
&wrapping;, in korenski datotečni sistem prenesite nazaj
na disketo. Jedra vam ni potrebno prenašati, prav tako vam ni potrebno
izračunati nove besede pomnilniškega diska, če se začetni položaj novega
datotečnega sistema ni spremenil.
</Para>
</Answer>
</QandAentry>

<QandAentry>
<Question>
<Para>
<Emphasis>Kako naj odstranim LILO, da bom za zagon lahko ponovno uporabil DOS?</Emphasis>
</Para>
</Question>

<Indexterm><Primary>Master Boot Record (MBR)</Primary></Indexterm>
<Indexterm><Primary>LILO</Primary><Secondary>odstranitev</Secondary></Indexterm>

<Answer>
<Para>
Ta tema sicer nima neposredne zveze z zagonskimi disketami, vendar se
vprašanje pojavi pogosto. Znotraj Linuxa lahko poženete:
<Screen width=60>
        /sbin/lilo -u
</Screen>
</para>

<para> Z ukazom <Command>dd</Command> lahko tudi na zagonski sektor prepišete
rezervno kopijo, ki jo je shranil LILO. Če želite to storiti, si oglejte
Lilovo dokumentacijo.
</para>

<para>
Znotraj Dosa ali Windows lahko poženete Dosov ukaz:
<Screen width=80>
        FDISK /MBR
</Screen>
MBR pomeni Master Boot Record (glavni zagonski zapis). Ta ukaz nadomesti
zagonski zapis s čistim Dosovim, ne da bi se pri tem spremenila razdelitvena
tabela diska. Nekateri pikolovci se sicer ne strinjajo s to metodo, vendar
jo priporoča celo Werner Almesberger, avtor Lila. Je preprosto in deluje.
</Para>
</Answer>
</QandAentry>

<QandAentry>
<Question>
<Para>
<Emphasis>Kako lahko zaženem, če sem izgubil jedro  <Emphasis>in</Emphasis>
zagonsko disketo?</Emphasis>
</Para>
</Question>

<Answer>
<Para>
Če nimate pri roki zagonske diskete, bo verjetno še najlažje dobiti
Slackwarovo jedro, ki podpira vaš diskovni krmilnik (IDE ali SCSI), kot je
opisano pri odgovoru na vprašanje ``Kako lahko naredim zagonsko disketo z xyz
gonilnikom?''. Tako lahko zaženete računalnik s tem jedrom in zakrpate sistem.
</para>

<para> Takšno jedro morebiti ne bo imelo nastavljene korenske naprave na
vrsto diska in razdelek, ki ga želite. Npr. Slackwarovo generično jedro za
SCSI utegne imeti korensko napravo nastavljeno na <Filename>/dev/sda2</Filename>,
medtem ko je avtorjev korenski razdelek <Filename>/dev/sda8</Filename>. V
takšnem primeru je potrebno spremeniti korensko napravo v jedru.
</para>

<para>
V jedru lahko spremenite korensko napravo in nastavitve pomnilniškega
diska tudi, če imate samo jedro in kakšen drug operacijski sistem, npr. DOS.
</para>

<Para> Ukaz <Command>rdev</Command> spremeni nastavitve jedra tako, da
spremeni vrednosti zlogov na točno določenih mestih v datoteki jedra, to pa lahko
storite tudi sami, če le imate na kateremkoli delujočem operacijskem sistemu na
voljo urejevalnik v šestnajstiškem številskem sistemu, npr. Norton Utilities
Disk Editor za DOS. Tako morate v datoteki jedra
preveriti in po potrebi spremeniti vrednosti vrednosti zlogov na naslednjih mestih:

<Indexterm><Primary>beseda pomnilniškega diska</Primary></Indexterm>
<Indexterm><Primary>rdev</Primary></Indexterm>

<Screen width=80>
HEX     DEC  OPIS
0x01F8  504  Nižje uteženi zlog besede pomnilniškega diska
0x01F9  505  Višje uteženi zlog besede pomnilniškega diska
0x01FC  508  Nižja številka korenske naprave - gl. spodaj
0X01FD  509  Višja številka korenske naprave - gl. spodaj
</Screen>
</Para>

<Para>
Struktura besede pomnilniškega diska je bila opisana v podrazdelku
&ramdiskbeseda;.
</Para>

<Para>
Višja in nižja številka naprave mora biti nastavljena na napravo, na katero
nameravate pritrditi korenski datotečni sistem. Nekatere uporabne vrednosti so:
<Screen width=80>
NAPRAVA         VIŠJA NIŽJA
/dev/fd0            2     0   prvi disketni pogon
/dev/hda1           3     1   razdelek 1 na prvem pogonu IDE
/dev/sda1           8     1   razdelek 1 na prvem pogonu SCSI
/dev/sda8           8     8   razdelek 8 na prvem pogonu SCSI
</Screen>
Ko ste te vrednosti ustrezno nastavili, zapišite datoteko na disketo bodisi
s pripomočkom, kot je Norton Utilities Disk Editor, bodisi s programom
<Command>rawrite.exe</Command>, ki je del vsake distribucije Linuxa.
To je dosovski program, ki namesto, da bi pisal v datotečni sistem, zapiše
datoteko na ``surovo'' disketo, začenši z zagonskim sektorjem. Če jo
zapisujete z Norton Utilities, jo morate zapisati na fizično disketo s
pričetkom na začetku diskete.
</para>
</Answer>
</QandAentry>

<QandAentry>
<Question>
<Para>
<Emphasis>Kako naredim dodatne kopije zagonskih/korenskih disket?</Emphasis>
</Para>
</Question>

<Answer>
<Para>
Ker se lahko na magnetni plasti diskete s časom pojavijo napake, bi morali
hraniti več izvodov reševalne diskete za vsak primer, če prvotna postane
neberljiva.
</para>

<para>
Najpreprostejša izdelava kopije katerekoli diskete, vključno z zagonskimi
in pomožnimi diskatami, je z ukazom <Command>dd</Command>, ki prepiše
vsebino prvotne diskete na trdi disk, nato pa z istim ukazom to prepišemo
na novo disketo. Disket vam ni potrebno pritrjevati (in naj jih tudi ne bi),
saj ukaz <Command>dd</Command> uporablja surov (neposreden, brez datotečnega
sistema) vmesnik do naprav.
</para>

<para>
Za prepis prvotne diskete vnesite ukaz:
<Screen width=60>
        dd if=<Symbol/IME_NAPRAVE/ of=<Symbol/IME_DATOTEKE/
</Screen>

kjer <Symbol/IME_NAPRAVE/ predstavlja napravo disketnega pogona,
<Symbol/IME_DATOTEKE/ pa je ime izhodne datoteke na trdem disku.
Z izpustitvijo izbire <Literal>count</Literal>  bo <Command>dd</Command>
prepisal celotno disketo (tudi 2880 blokov pri visoki gostoti)
</para>

<para>
Da prepišete nastalo sliko diskete na novo disketo, vstavite disketo v
pogon in vtipkajte obraten ukaz:
<Screen width=60>
        dd if=<Symbol/IME_DATOTEKE/ of=<Symbol/IME_NAPRAVE/
</Screen>
</Para>

<Para>
Pri tem smo predpostavili, da imate samo en disketni pogon. Če imate
dva pogona iste vrste, lahko neposredno prepišete disketo z ukazom
<Screen width=60>
        dd if=/dev/fd0 of=/dev/fd1
</Screen>
</para>
</Answer>
</QandAentry>

<QandAentry>
<Question>
<Para>
<Emphasis> Kako lahko zaženem sistem brez  vsakokratnega tipkanja &ldquo;ahaxxxx=nn,nn,nn&rdquo;?
</Emphasis>
</Para>
</Question>

<Answer>
<Para>

<Indexterm><Primary>jedro</Primary><Secondary>parametri</Secondary></Indexterm>

Kjer samozaznava diska ni mogoča, je jedru potrebno podati niz z ustreznimi
parametri, kot npr.
<Screen width=60>
        aha152x=0x340,11,3,1
</Screen>

Ta niz s parametri se z uporabo Lila lahko poda na več načinov:
<itemizedlist>

<listitem>
<para>
Z vnosom v ukazni vrstici ob vsakokratnem zagonu sistema z Lilom.
Kakorkoli že, to je dolgočasno.
</para>
</listitem>

<listitem>
<para>
Z uporabo Lilove ključne besede <Literal>lock</Literal>, s katero lahko podano
ukazno vrstico shranimo kot privzeto in jo bo LILO uporabil ob vsakem nadaljnjem zagonu.
</para>
</listitem>

<listitem>
<para>
Z vrstico <Literal>append=</Literal> v Lilovi nastavitveni datoteki.
Niz parametrov mora biti med narekovajema.
</para>
</listitem>

</itemizedlist>
</para>

<para> Primer ukazne vrstice za zgornji niz parametrov bi se glasil
<Screen width=60>
        zImage  aha152x=0x340,11,3,1 root=/dev/sda1 lock
</Screen>
</Para>

<Para> Na ta način bi podali niz parametrov, v jedru nastavili korensko
napravo na <Filename>/dev/sda1</Filename> in shranili celotno ukazno vrstico
za uporabo ob vseh nadaljnjih zagonih.
</para>

<para>
Primer stavka APPEND je
<Screen width=60>
        APPEND = &ldquo;aha152x=0x340,11,3,1&rdquo;
</Screen>
</para>

<Para> Upoštevajte, da niz parametrov <emphasis>ne sme</emphasis> biti
med narekovajema, kadar ga kličemo z ukazne vrstice, ob klicu s stavkom
<Literal>APPEND</Literal> pa <emphasis>mora</emphasis> stati med narekovajema.
</para>

<para> Ne pozabite, da mora jedro vsebovati gonilnik za vrsto diska, ki ga
želimo doseči z nizom parametrov. Če gonilnika ni, potem nič ne posluša
niza parametrov in boste morali znova prevesti jedro, da bo vsebovalo
zahtevani gonilnik. Glede podrobnosti o prevajanju jedra pojdite v imenik
<Filename>/usr/src/linux</Filename> in preberite datoteko README. Preberite
še spisa Linux FAQ in Installation HOWTO (oba sta prevedena v slovenščino).
Lahko pa si tudi omislite generično jedro za ustrezen krmilnik diska in ga
namestite.
</para>

<para>
Bralcu močno priporočamo, da še pred poskusi z namestitvijo Lila prebere
Lilovo dokumentacijo. Neprevidna uporaba stavka <literal>BOOT</literal>
lahko poškoduje razdelke diska.
</Para>
</Answer>
</QandAentry>

<QandAentry>
<Question>
<Para>
<Emphasis>Ob zagonu se mi izpiše napaka &ldquo;<literal>A: cannot execute
B</literal>&rdquo;. Zakaj?
</Emphasis>
</Para>
</Question>

<Answer>
<Para>
<Indexterm><Primary>vprogramirane poti</Primary></Indexterm>
Obstaja precej primerov, kjer so imena programov že vprogramirana v
različnih pripomočkih. Do tega sicer ne prihaja povsod, da se pa razložiti,
zakaj nekateri programi v sistemu očitno ne najdejo izvršilne datoteke,
čeprav lahko sami vidite, da obstaja. Ali ima program vprogramirane poti
do drugih programov, lahko ugotovite z ukazom <Command>strings</Command>,
čigar izhod prek cevi preusmerite na <Command>grep</Command>.
</para>

<para>
Znana primera vprogramiranih imen sta:

<itemizedlist>

<listitem>
<para>
<Command>shutdown</Command> ima v nekaterih različicah vprogramiran
<filename>/etc/reboot</filename>, zato se mora <command>reboot</command>
obvezno nahajati v imeniku <filename>/etc</filename>.
</para>
</listitem>

<listitem>
<para>
<Command>init</Command> je vsaj eni osebi povzročal težave, ker jedro ni
moglo najti tega programa (iskalo ga je v drugem imeniku).
</para>
</listitem>

</itemizedlist>
</para>

<para> Ta problem rešite tako, da bodisi prestavite programe v
ustrezne imenike bodisi popravite nastavitvene datoteke
(npr. <Filename>inittab</Filename>), da bodo kazale na imenike, kjer programi
dejansko so. Če ste v dvomih, naj bodo programi v istih imenikih, kot so na
trdem disku, ter uporabite isti datoteki <filename>inittab</filename> in
<Filename>/etc/rc.d</Filename>, kot ju imate na trdem disku.
</Para>
</Answer>
</QandAentry>

<QandAentry>
<Question>
<Para>
<Emphasis>Moje jedro ima podprte pomnilniške diske, vendar jih inicializira
na 0 kB. Zakaj?
</Emphasis>
</Para>
</Question>

<Answer>
<Para>
Če pride do tega, se bo ob zagonu pojavilo sporočilo jedra:
<Indexterm><Primary>pomnilniški disk</Primary></Indexterm>
<Screen width=60>
        Ramdisk driver initialized : 16 ramdisks of 0K size
</Screen>
</Para>

<Para>
Vzrok je verjetno to, da je bila ob zagonu s parametri jedra nastavljena
velikost pomnilniškega diska na 0. Verjetno ste spregledali parameter v
Lilovi nastavitveni datoteki:
<Screen width=60>
    ramdisk= 0
</Screen>
</para>

<para>
To je bilo dodano v vzorčne Lilove nastavitvene datoteke pri nekaterih
starejših distribucijah. Namen je bil "preglasiti" prejšnje nastavitve jedra.
Če najdete kakšno takšno vrstico, jo kratkomalo izbrišite.
</para>

<Para>
Če nameravate uporabljati pomnilniške diske velikosti 0, lahko obnašanje sistema
postane nepredvidljivo in se lahko pojavijo sporočila "kernel panic".
</Para>
</Answer>
</QandAentry>

</QandAset>

</sect1>

<Appendix>
<Title>Viri in povezave</title>
<para>
Kadar se odločite pobrati kakšen paket, vedno izberite najnovejšo različico,
razen če imate utemeljen razlog za kakšno starejšo.
</para>

<Sect1 id="PreMade" xreflabel="Appendix A.1">
<Title>Že narejene zagonske diskete</title>
<para>
Naštetih je nekaj mest z zagonskimi disketami distribucij. <emphasis>Ker so ti
strežniki zelo obremenjeni, vas naprošamo, da raje poiščete njihove zrcalne
strežnike.</emphasis>

<itemizedlist>

<Listitem>
<Para>
 <Ulink
 url="http://distro.ibiblio.org/pub/Linux/distributions/slackware/bootdsks.144/">Slackwarove
 zagonske diskete</ulink>,
<ulink
url="http://distro.ibiblio.org/pub/Linux/distributions/slackware/rootdsks/">
korenske diskete</ulink>

in <ulink url="http://www.slackware.com/getslack/">zrcalni strežniki</ulink>
</Para>
</Listitem>

<Listitem>
<Para>
 <Ulink
 url="ftp://ftp.redhat.com/pub/redhat/linux/current/en/os/i386/images/">Redhatove zagonske diskete</ulink> in <ulink url="http://www.redhat.com/mirrors.html">Redhatovi zrcalni strežniki
 </ulink>

</Para>
</Listitem>

<Listitem>
<Para>
 <Ulink
 url="ftp://ftp.debian.org/debian/dists/stable/main/disks-i386/current/">Debianove zagonske diskete</ulink> in <ulink url="ftp://ftp.debian.org/debian/README.mirrors.html">Debianovi
 zrcalni strežniki</ulink>

</Para>
</Listitem>

<Listitem>
<Para>
<ulink url="http://www.linux-mandrake.com/en/ftp.php3">Mandrakov
strežnik</ulink>
</Para>
</Listitem>


</Itemizedlist>

</Para>

<para>

Poleg zagonskih disket distribucij so na voljo tudi naslednje  slike
reševalnih disket. Če ni navedeno drugače, so na voljo v imeniku
<ulink url="http://www.ibiblio.org/pub/Linux/system/recovery/!INDEX.html">
<filename>http://www.ibiblio.org/pub/Linux/system/recovery/!INDEX.html</filename></ulink>
</para>

<para>

<itemizedlist>

<listitem>
<para>
<literal>RIP</literal> je zagonsko/reševalni sistem, na voljo v več različicah:
takšna, ki jo je mogoče spraviti na 1,44 MB disketo in takšna, ki jo je mogoče
spraviti na ploščo CD. Vsebuje obsežno podporo za delo z datotekami in
precej pripomočkov za vzdrževanje diska ter reševanje. Podpira datotečne
sisteme ext2, ext3, iso9660, msdos (FAT), ntfs, reiserfs, ufs in vfat.
Dobite ga lahko na naslovu
<Ulink url="http://www.tux.org/pub/people/kent-robotti/looplinux/rip/index.html">http://www.tux.org/pub/people/kent-robotti/looplinux/rip/index.html</Ulink>.
</para>
</listitem>

<listitem>
<para>
<literal>Tomsrtbt</literal> (avtor Tom Oehser) je enovita zagonsko/korenska
disketa, temelječa na jedru 2.0, z obsežnim naborom
podpornih programov. Podpira IDE, SCSI, tračne enote, omrežne kartice, PCMCIA in
še marsikaj. Priloženih je pribl. 100 pomožnih programov za popravljanje in
obnavljanje diskov. Priloženi so tudi skripti za razgradnjo in obnovo
slik disket, tako je po potrebi mogoče dodati nove programe.
</para>
</listitem>

<listitem>
<para>
<literal>Rescue02</literal> (avtor John Comyns) je na jedru 1.3.84 temelječa
reševalna disketa s podporo za IDE, Adaptec 1542 in NCR53C7,8xx. Uporabljajo
se izvršilne datoteke v obliki ELF, vendar ima dovolj ukazov, da jo je mogoče
uporabljati s katerimkoli sistemom. Za vse preostale kartice SCSI so na
voljo moduli, ki se lahko naložijo po zagonu. Na sistemih s 4 MB pomnilnika
RAM verjetno ne bo delovalo, ker pomnilniški disk porabi 3 MB.
</para>
</listitem>

<listitem>
<para>
<literal>Resque&lowbar;disk-2.0.22</literal> (avtor Sergej Viznjuk) je
na jedru 2.0.22 temelječa zagonska/korenska disketa s podporo za IDE,
več različnih krmilnikov SCSI in ELF/a.out. Vključenih je tudi precej
modulov in koristnih pripomočkov za popravljanje in obnavljanje trdih
diskov.
</para>
</listitem>

<listitem>
<para>
<ulink url="http://www.ibiblio.org/pub/Linux/system/recovery/images">
Slike <literal>Cramdisk</literal></Ulink>, ki temeljijo na jedru 2.0.33, so
na voljo za sisteme s 4 MB in 8 MB pomnilnika RAM. Vključena je podpora
za emulacijo matematičnega koprocesorja, omrežje (PPP in klicni skripti,
NE2000, 3C509) in za pogon ZIP na vzporednih vratih. S temi disketami je
mogoče zagnati tudi računalnike s procesorjem 386 in 4 MB pomnilnika RAM.
Dodana je tudi podpora datotečnemu sistemu MSDOS (FAT), tako da lahko kaj
naložite z interneta in shranite na Dosov razdelek.
</para>

</listitem>

</itemizedlist>

</para>

</Sect1>
<Sect1><Title>Reševalni paketi</title>

<para> Precej paketov za izdelavo reševalnih disket je na voljo na
www.ibiblio.org. S temi paketi lahko določite, katere datoteke naj bodo
na zagonskih disketah, program pa nato bolj ali manj avtomatizira njihovo
izdelavo. Za več informacij si oglejte <Ulink
url="http://www.ibiblio.org/pub/Linux/system/recovery/!INDEX.html"><Filename>http://www.ibiblio.org/pub/Linux/system/recovery/!INDEX.html</Filename></Ulink>.
<Emphasis>Pazljivo poglejte datume nastanka datotek</emphasis>. Nekateri
paketi že več let niso bili posodobljeni in ne bodo podpirali izdelave
stisnjega korenskega datotečnega sistema, ki naj se naloži v pomnilniški disk.
Kolikor nam je znano, je v tem trenutku <ulink
url="http://www.linuxlots.com/~fawcett/yard/index.html">Yard</ulink> edini
paket, ki to zna.
</para>

</Sect1>

<Sect1>
<Title>LILO -- nalagalnik Linuxa</title>


<para>
Avtor Lila je Werner Almesberger. Odličen zagonski nalagalnik, v dokumentaciji
so informacije o vsebini zagonskega sektorja in o začetnih stopnjah
zagonskega procesa.
</para>

<para>
Dobite ga lahko na strežniku FTP
<Ulink Url="ftp://tsx-11.mit.edu/pub/linux/packages/lilo/">
ftp://tsx-11.mit.edu/pub/linux/packages/lilo/</Ulink>. Na voljo je tudi na
Metalabu in zrcalnih strežnikih.
</para>

</Sect1>

<Sect1><Title>Uporaba pomnilniškega diska</title>
<Indexterm><Primary>pomnilniški disk</Primary></Indexterm>

<para>
Odličen opis delovanja pomnilniških diskov lahko najdete v dokumentaciji,
ki je priložena Linuxovemu jedru.
Oglejte si  datoteko
<filename>/usr/src/linux/Documentation/ramdisk.txt</filename>. Avtor je
Paul Gortmaker, ne manjka pa niti razdelek o izdelavi stisnjenega
pomnilniškega diska.
</para>

</Sect1>

<Sect1>
<title>Proces zagona pri Linuxu</title>
<Indexterm><Primary>proces zagona</Primary></Indexterm>

<para>
Za več podrobnosti o procesu zagona Linuxa je podanih nekaj kazalcev:

<itemizedlist>

<listitem>
<para>
V delu <ulink url="http://linuxdoc.org/LDP/sag/index.html"><citetitle>Linux
System Administrators' Guide</citetitle></ulink> (Vodnik po sistemskem
upravljanju Linuxa) se nahaja tudi razdelek o zagonu.
</para>
</listitem>

<listitem>
<para>
V spisu <ulink
url="http://www.ibiblio.org/pub/Linux/system/boot/lilo/lilo-t-21.ps.gz">
LILO ``Technical overview''</ulink> (LILO, ``tehnični pregled'') najdete
nesporno tehnični, nizkonivojski opis procesa zaganjanja, vse do točke, ko
se požene jedro.
</para>
</listitem>

<listitem> <para> Izvirna koda je temeljni vodnik. Omenili bomo nekaj
datotek, ki so povezane z zagonskim procesom. Če imate izvirno kodo
Linuxovega jedra, lahko te datoteke najdete v imeniku
<filename>/usr/src/linux</filename> oz. njegovih podimenikih.
Šigio Jamaguči (shigio na tamacom pika com) je napisal zelo prijazen
<ulink url="http://www.tamacom.com/tour/linux/index.html">hipertekstovni
brskalnik po jedru</ulink>, s katerim lahko berete datoteke izvirne kode
jedra. Oglejte si predvsem naslednje datoteke:

<Variablelist>

<varlistentry>
<term><filename>arch/i386/boot/bootsect.S</filename> in
<filename>setup.S</filename></term>
<listitem>
<para>
Vsebujeta kodo v zbirnem jeziku za sam zagonski sektor.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><filename>arch/i386/boot/compressed/misc.c</filename></term>
<listitem>
<para>
Vsebuje kodo za razširjanje stisnjenega jedra.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><filename>arch/i386/kernel/</filename></term>
<listitem>
<para>
Imenik z inicializacijsko kodo jedra.
<filename>setup.c</filename> definira besedo pomnilniškega diska.
</para>
</listitem>
</varlistentry>

<varlistentry>
<term><filename>drivers/block/rd.c</filename></term>
<listitem>
<para>
Vsebuje gonilnik za pomnilniški disk. Funkciji
<command>rd&lowbar;load</command> in <command>
rd&lowbar;load&lowbar;image</command> naložita bloke z naprave v pomnilniški
disk. S funkcijo
<command>identify&lowbar;ramdisk&lowbar;image</command> lahko ugotovimo, kakšen
datotečni sistem je bil najden in ali je stisnjen.
</para>
</listitem>
</varlistentry>
</variablelist>

</para>
</listitem>

</itemizedlist>

</para>

</Sect1>

</Appendix>

<Appendix><title>Kode napak ob zagonu z Lilom</title>
<Indexterm><Primary>LILO</Primary><Secondary>kode napak</Secondary></Indexterm>

<para>
Vprašanja o teh kodah so v novičarskih skupinah Usenet zastavljana tako
pogosto, da na tem mestu podani opisi kod predstavljajo neke vrste javno storitev.
Ta povzetek je citiran iz dokumenta <ulink
url="http://www.ibiblio.org/pub/Linux/system/boot/lilo/lilo-u-21.ps.gz">
LILO User Documentation</ulink> (Uporabniška dokumentacija Lila)
avtorja Wernerja Almsbergerja.
</para>

<para> Ko se LILO naloži, se izpiša beseda <literal>LILO</literal>. Vsaka
črka se izpiše pred ali po izvedbi določene akcije. Če se LILO na neki
točki zaustavi, lahko iz do sedaj izpisanih črk poskušamo ugotoviti, kaj
je narobe.
</para>

  <InformalTable>
    <Tgroup cols=2 align=left>
      <Colspec colname=Output align=left colwidth="1in">
      <Colspec colname=Descrip align=left>
      <Thead>
	<Row>
	  <entry>Izpis</entry>
	  <entry>Težava</entry>
	</Row>
      </Thead>

	<Tbody>
	  <Row>
	    <entry>(nič)</entry>
	    <entry>
            Noben del Lila se ni naložil. LILO bodisi ni nameščen ali pa
	    razdelek, na katerem je najden zagonski sektor, ni aktiven.
            </Entry>
	  </Row>

	  <Row>
	    <Entry>L</Entry>
	    <Entry>
	    Prva faza zagonskega nalagalnika se je naložila in pognala,
	    vendar ni mogoče naložiti druge faze zagonskega nalagalnika.
	    Vrsta težave je
	    nakazana z dvoštevilčnimi kodami. (Oglejte si še razdelek
	    ``Kode napak na disku''.) Ponavadi gre za napako na magnetni
	    površini diska ("t.i. slabi sektorji") oz. neujemanje v geometriji
	    (npr. napačni parametri diska).
            </Entry>
	  </Row>

	  <Row>
	    <Entry>LI</Entry>
	    <Entry>
	    Prva faza zagonskega nalagalnika je uspela naložiti drugo fazo,
	    vendar je ni uspela pognati. Vzrok je lahko ali v neujemanju
	    geometrije ali pa prestavljanje datoteke <Filename>/boot/boot.b
            </Filename> brez naknadne posodobitve datoteke z "zemljevidom" diska.
            </Entry>
	  </Row>

	  <Row>
	    <Entry>LIL</Entry>
	    <Entry>
	    Druga faza zagonskega nalagalnika se je pognala, vendar iz
	    "zemljevida" ne more naložiti tabele z opisniki. Vzrok
	    običajno tiči v okvari magnetne površine diska ali v neujemanju
	    geometrije.
            </Entry>
	  </Row>

	  <Row>
	    <Entry>LIL?</Entry>
	    <Entry>
	    Druga faza zagonskega nalagalnika se je naložila na napačen naslov.
            Običajen vzrok je neujemanje finih nastavitev geometrije ali
	    prestavitev datoteke <filename>/boot/boot.b</filename> brez
	    naknadne posodobitve datoteke z "zemljevidom" diska.
            </Entry>
	  </Row>

	  <Row>
	    <Entry>LIL-</Entry>
	    <Entry>
	    Tabela opisnikov je nepravilna. Vzrok temu je lahko neujemanje
	    geometrije ali prestavitev datoteke /boot/map brez naknadne
	    posodobitve datoteke z "zemljevidom" diska.
            </Entry>
	  </Row>

	  <Row>
	    <Entry>LILO</Entry>
	    <Entry>
	    Vsi deli Lila so se uspešno naložili.
            </Entry>
	  </Row>
	</Tbody>
      </Tgroup>
    </InformalTable>

<Para>
Če BIOS medtem, ko LILO poskuša naložiti zagonsko sliko, javi napako,
se izpiše ustrezna koda napake. Razpon teh kod je med
<literal>0x00</literal> in <literal>0xBB</literal>. Njihovo razlago najdete
v LILO User Guide (Uporabniški vodnik po  Lilu).
</para>

</Appendix>


<Appendix id="Listings">
<Title>Vsebina vzorčnega korenskega datotečnega sistema</Title>
<Indexterm><Primary>korenski datotečni sistem</Primary></Indexterm>

<para>
<screen width="80">
/:
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 bin
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         4096 Nov  1 15:39 dev
drwx&ndash;&ndash;x&ndash;&ndash;x   3 root     root         1024 Nov  1 15:39 etc
drwx&ndash;&ndash;x&ndash;&ndash;x   4 root     root         1024 Nov  1 15:39 lib
drwx&ndash;&ndash;x&ndash;&ndash;x   5 root     root         1024 Nov  1 15:39 mnt
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 proc
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 root
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 sbin
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 tmp
drwx&ndash;&ndash;x&ndash;&ndash;x   7 root     root         1024 Nov  1 15:39 usr
drwx&ndash;&ndash;x&ndash;&ndash;x   5 root     root         1024 Nov  1 15:39 var

/bin:
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        62660 Nov  1 15:39 ash
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         9032 Nov  1 15:39 cat
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        10276 Nov  1 15:39 chmod
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         9592 Nov  1 15:39 chown
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        23124 Nov  1 15:39 cp
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        23028 Nov  1 15:39 date
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        14052 Nov  1 15:39 dd
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        14144 Nov  1 15:39 df
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        69444 Nov  1 15:39 egrep
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root          395 Nov  1 15:39 false
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        69444 Nov  1 15:39 fgrep
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        69444 Nov  1 15:39 grep
-rwx&ndash;&ndash;x&ndash;&ndash;x   3 root     root        45436 Nov  1 15:39 gunzip
-rwx&ndash;&ndash;x&ndash;&ndash;x   3 root     root        45436 Nov  1 15:39 gzip
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         8008 Nov  1 15:39 hostname
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        12736 Nov  1 15:39 ln
-rws&ndash;&ndash;x&ndash;&ndash;x   1 root     root        15284 Nov  1 15:39 login
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        29308 Nov  1 15:39 ls
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         8268 Nov  1 15:39 mkdir
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         8920 Nov  1 15:39 mknod
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        24836 Nov  1 15:39 more
-rws&ndash;&ndash;x&ndash;&ndash;x   1 root     root        37640 Nov  1 15:39 mount
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        12240 Nov  1 15:39 mt
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        12932 Nov  1 15:39 mv
-r-x&ndash;&ndash;x&ndash;&ndash;x   1 root     root        12324 Nov  1 15:39 ps
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         5388 Nov  1 15:39 pwd
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        10092 Nov  1 15:39 rm
lrwxrwxrwx   1 root     root            3 Nov  1 15:39 sh -> ash
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        25296 Nov  1 15:39 stty
-rws&ndash;&ndash;x&ndash;&ndash;x   1 root     root        12648 Nov  1 15:39 su
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         4444 Nov  1 15:39 sync
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        19712 Nov  1 15:39 touch
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root          395 Nov  1 15:39 true
-rws&ndash;&ndash;x&ndash;&ndash;x   1 root     root        19084 Nov  1 15:39 umount
-rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         5368 Nov  1 15:39 uname
-rwx&ndash;&ndash;x&ndash;&ndash;x   3 root     root        45436 Nov  1 15:39 zcat

/dev:
lrwxrwxrwx   1 root     root            6 Nov  1 15:39 cdrom -> cdu31a
brw&ndash;rw&ndash;r&ndash;&ndash;   1 root     root      15,   0 May  5  1998 cdu31a
crw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root       4,   0 Nov  1 15:29 console
crw&ndash;rw&ndash;rw&ndash;   1 root     uucp       5,  64 Sep  9 19:46 cua0
crw&ndash;rw&ndash;rw&ndash;   1 root     uucp       5,  65 May  5  1998 cua1
crw&ndash;rw&ndash;rw&ndash;   1 root     uucp       5,  66 May  5  1998 cua2
crw&ndash;rw&ndash;rw&ndash;   1 root     uucp       5,  67 May  5  1998 cua3
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,   0 Aug  8 13:54 fd0
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  36 Aug  8 13:54 fd0CompaQ
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  84 Aug  8 13:55 fd0D1040
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  88 Aug  8 13:55 fd0D1120
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  12 Aug  8 13:54 fd0D360
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  16 Aug  8 13:54 fd0D720
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2, 120 Aug  8 13:55 fd0D800
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  32 Aug  8 13:54 fd0E2880
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2, 104 Aug  8 13:55 fd0E3200
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2, 108 Aug  8 13:55 fd0E3520
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2, 112 Aug  8 13:55 fd0E3840
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  28 Aug  8 13:54 fd0H1440
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2, 124 Aug  8 13:55 fd0H1600
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  44 Aug  8 13:55 fd0H1680
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  60 Aug  8 13:55 fd0H1722
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  76 Aug  8 13:55 fd0H1743
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  96 Aug  8 13:55 fd0H1760
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2, 116 Aug  8 13:55 fd0H1840
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2, 100 Aug  8 13:55 fd0H1920
lrwxrwxrwx   1 root     root            7 Nov  1 15:39 fd0H360 &ndash;> fd0D360
lrwxrwxrwx   1 root     root            7 Nov  1 15:39 fd0H720 &ndash;> fd0D720
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  52 Aug  8 13:55 fd0H820
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  68 Aug  8 13:55 fd0H830
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,   4 Aug  8 13:54 fd0d360
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,   8 Aug  8 13:54 fd0h1200
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  40 Aug  8 13:54 fd0h1440
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  56 Aug  8 13:55 fd0h1476
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  72 Aug  8 13:55 fd0h1494
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  92 Aug  8 13:55 fd0h1600
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  20 Aug  8 13:54 fd0h360
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  48 Aug  8 13:55 fd0h410
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  64 Aug  8 13:55 fd0h420
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  24 Aug  8 13:54 fd0h720
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     floppy     2,  80 Aug  8 13:55 fd0h880
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       3,   0 May  5  1998 hda
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       3,   1 May  5  1998 hda1
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       3,   2 May  5  1998 hda2
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       3,   3 May  5  1998 hda3
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       3,   4 May  5  1998 hda4
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       3,   5 May  5  1998 hda5
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       3,   6 May  5  1998 hda6
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       3,  64 May  5  1998 hdb
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       3,  65 May  5  1998 hdb1
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       3,  66 May  5  1998 hdb2
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       3,  67 May  5  1998 hdb3
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       3,  68 May  5  1998 hdb4
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       3,  69 May  5  1998 hdb5
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       3,  70 May  5  1998 hdb6
crw&ndash;r&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     kmem       1,   2 May  5  1998 kmem
crw&ndash;r&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     kmem       1,   1 May  5  1998 mem
lrwxrwxrwx   1 root     root           12 Nov  1 15:39 modem &ndash;> ttyS1
lrwxrwxrwx   1 root     root           12 Nov  1 15:39 mouse &ndash;> psaux
crw&ndash;rw&ndash;rw&ndash;   1 root     root       1,   3 May  5  1998 null
crwxrwxrwx   1 root     root      10,   1 Oct  5 20:22 psaux
brw&ndash;r&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     disk       1,   1 May  5  1998 ram
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       1,   0 May  5  1998 ram0
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       1,   1 May  5  1998 ram1
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       1,   2 May  5  1998 ram2
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       1,   3 May  5  1998 ram3
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       1,   4 May  5  1998 ram4
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       1,   5 May  5  1998 ram5
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       1,   6 May  5  1998 ram6
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       1,   7 May  5  1998 ram7
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       1,   8 May  5  1998 ram8
brw&ndash;rw&ndash;&ndash;&ndash;&ndash;   1 root     disk       1,   9 May  5  1998 ram9
lrwxrwxrwx   1 root     root            4 Nov  1 15:39 ramdisk &ndash;> ram0
<Emphasis role='bold'>
***  Izpis vsebuje le datoteke gonilnikov naprav za diske IDE,
***  ki jih uporablja avor. 
***  Če uporabljate SCSI, namesto njih dodajte /dev/sdXX.
</Emphasis>
crw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root       4,   0 May  5  1998 tty0
crw&ndash;w&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     tty        4,   1 Nov  1 15:39 tty1
crw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root       4,   2 Nov  1 15:29 tty2
crw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root       4,   3 Nov  1 15:29 tty3
crw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root       4,   4 Nov  1 15:29 tty4
crw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root       4,   5 Nov  1 15:29 tty5
crw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root       4,   6 Nov  1 15:29 tty6
crw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root       4,   7 May  5  1998 tty7
crw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     tty        4,   8 May  5  1998 tty8
crw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     tty        4,   9 May  8 12:57 tty9
crw&ndash;rw&ndash;rw&ndash;   1 root     root       4,  65 Nov  1 12:17 ttyS1
crw&ndash;rw&ndash;rw&ndash;   1 root     root       1,   5 May  5  1998 zero

/etc:
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root          164 Nov  1 15:39 conf.modules
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root          668 Nov  1 15:39 fstab
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root           71 Nov  1 15:39 gettydefs
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root          389 Nov  1 15:39 group
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root          413 Nov  1 15:39 inittab
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root           65 Nov  1 15:39 issue
&ndash;rw&ndash;r&ndash;&ndash;r&ndash;&ndash;   1 root     root          746 Nov  1 15:39 ld.so.cache
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root           32 Nov  1 15:39 motd
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root          949 Nov  1 15:39 nsswitch.conf
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 pam.d
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root          139 Nov  1 15:39 passwd
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root          516 Nov  1 15:39 profile
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root          387 Nov  1 15:39 rc
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root           55 Nov  1 15:39 shells
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root          774 Nov  1 15:39 termcap
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root           78 Nov  1 15:39 ttytype
lrwxrwxrwx   1 root     root           15 Nov  1 15:39 utmp &ndash;> ../var/run/utmp
lrwxrwxrwx   1 root     root           15 Nov  1 15:39 wtmp &ndash;> ../var/log/wtmp

/etc/pam.d:
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root          356 Nov  1 15:39 other

/lib:
&ndash;rwxr&ndash;xr&ndash;x   1 root     root        45415 Nov  1 15:39 ld&ndash;2.0.7.so
lrwxrwxrwx   1 root     root           11 Nov  1 15:39 ld&ndash;linux.so.2 &ndash;&#62; ld&ndash;2.0.7.so
&ndash;rwxr&ndash;xr&ndash;x   1 root     root       731548 Nov  1 15:39 libc&ndash;2.0.7.so
lrwxrwxrwx   1 root     root           13 Nov  1 15:39 libc.so.6 &ndash;&#62; libc&ndash;2.0.7.so
lrwxrwxrwx   1 root     root           17 Nov  1 15:39 libcom&lowbar;err.so.2 &ndash;&#62; libcom&lowbar;err.so.2.0
&ndash;rwxr&ndash;xr&ndash;x   1 root     root         6209 Nov  1 15:39 libcom&lowbar;err.so.2.0
&ndash;rwxr&ndash;xr&ndash;x   1 root     root       153881 Nov  1 15:39 libcrypt&ndash;2.0.7.so
lrwxrwxrwx   1 root     root           17 Nov  1 15:39 libcrypt.so.1 &ndash;&#62; libcrypt&ndash;2.0.7.so
&ndash;rwxr&ndash;xr&ndash;x   1 root     root        12962 Nov  1 15:39 libdl&ndash;2.0.7.so
lrwxrwxrwx   1 root     root           14 Nov  1 15:39 libdl.so.2 &ndash;&#62; libdl&ndash;2.0.7.so
lrwxrwxrwx   1 root     root           16 Nov  1 15:39 libext2fs.so.2 &ndash;&#62; libext2fs.so.2.4
&ndash;rwxr&ndash;xr&ndash;x   1 root     root        81382 Nov  1 15:39 libext2fs.so.2.4
&ndash;rwxr&ndash;xr&ndash;x   1 root     root        25222 Nov  1 15:39 libnsl&ndash;2.0.7.so
lrwxrwxrwx   1 root     root           15 Nov  1 15:39 libnsl.so.1 &ndash;&#62; libnsl&ndash;2.0.7.so
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root       178336 Nov  1 15:39 libnss&lowbar;files&ndash;2.0.7.so
lrwxrwxrwx   1 root     root           21 Nov  1 15:39 libnss&lowbar;files.so.1 &ndash;&#62; libnss&lowbar;files&ndash;2.0.7.so
lrwxrwxrwx   1 root     root           14 Nov  1 15:39 libpam.so.0 &ndash;&#62; libpam.so.0.64
&ndash;rwxr&ndash;xr&ndash;x   1 root     root        26906 Nov  1 15:39 libpam.so.0.64
lrwxrwxrwx   1 root     root           19 Nov  1 15:39 libpam&lowbar;misc.so.0 &ndash;&#62; libpam&lowbar;misc.so.0.64
&ndash;rwxr&ndash;xr&ndash;x   1 root     root         7086 Nov  1 15:39 libpam&lowbar;misc.so.0.64
&ndash;r&ndash;xr&ndash;xr&ndash;x   1 root     root        35615 Nov  1 15:39 libproc.so.1.2.6
lrwxrwxrwx   1 root     root           15 Nov  1 15:39 libpwdb.so.0 &ndash;&#62; libpwdb.so.0.54
&ndash;rw&ndash;r&ndash;r&ndash;&ndash;&ndash;   1 root     root       121899 Nov  1 15:39 libpwdb.so.0.54
lrwxrwxrwx   1 root     root           19 Nov  1 15:39 libtermcap.so.2 &ndash;&#62; libtermcap.so.2.0.8
&ndash;rwxr&ndash;xr&ndash;x   1 root     root        12041 Nov  1 15:39 libtermcap.so.2.0.8
&ndash;rwxr&ndash;xr&ndash;x   1 root     root        12874 Nov  1 15:39 libutil&ndash;2.0.7.so
lrwxrwxrwx   1 root     root           16 Nov  1 15:39 libutil.so.1 &ndash;&#62; libutil&ndash;2.0.7.so
lrwxrwxrwx   1 root     root           14 Nov  1 15:39 libuuid.so.1 &ndash;&#62; libuuid.so.1.1
&ndash;rwxr&ndash;xr&ndash;x   1 root     root         8039 Nov  1 15:39 libuuid.so.1.1
drwx&ndash;&ndash;x&ndash;&ndash;x   3 root     root         1024 Nov  1 15:39 modules
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 security

/lib/modules:
drwx&ndash;&ndash;x&ndash;&ndash;x   4 root     root         1024 Nov  1 15:39 2.0.35

/lib/modules/2.0.35:
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 block
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 cdrom

/lib/modules/2.0.35/block:
drwx&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root         7156 Nov  1 15:39 loop.o

/lib/modules/2.0.35/cdrom:
drwx&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root        24108 Nov  1 15:39 cdu31a.o

/lib/security:
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         8771 Nov  1 15:39 pam&lowbar;permit.so

<Emphasis role='bold'>
***  Imenik s podimeniki za pritrjevanje naprav
</Emphasis>
/mnt:
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 cdrom
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 floppy

/proc:

/root:
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root          176 Nov  1 15:39 .bashrc
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root          182 Nov  1 15:39 .cshrc
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root          455 Nov  1 15:39 .profile
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root         4014 Nov  1 15:39 .tcshrc

/sbin:
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        23976 Nov  1 15:39 depmod
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root       274600 Nov  1 15:39 e2fsck
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        41268 Nov  1 15:39 fdisk
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         9396 Nov  1 15:39 fsck
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root       274600 Nov  1 15:39 fsck.ext2
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        29556 Nov  1 15:39 getty
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         6620 Nov  1 15:39 halt
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        23116 Nov  1 15:39 init
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        25612 Nov  1 15:39 insmod
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        10368 Nov  1 15:39 kerneld
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root       110400 Nov  1 15:39 ldconfig
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         6108 Nov  1 15:39 lsmod
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root        17400 Nov  1 15:39 mke2fs
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         4072 Nov  1 15:39 mkfs
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root        17400 Nov  1 15:39 mkfs.ext2
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         5664 Nov  1 15:39 mkswap
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        22032 Nov  1 15:39 modprobe
lrwxrwxrwx   1 root     root            4 Nov  1 15:39 reboot &ndash;&#62; halt
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         7492 Nov  1 15:39 rmmod
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        12932 Nov  1 15:39 shutdown
lrwxrwxrwx   1 root     root            6 Nov  1 15:39 swapoff &ndash;&#62; swapon
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         5124 Nov  1 15:39 swapon
lrwxrwxrwx   1 root     root            4 Nov  1 15:39 telinit &ndash;&#62; init
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         6944 Nov  1 15:39 update

/tmp:

/usr:
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 bin
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 lib
drwx&ndash;&ndash;x&ndash;&ndash;x   3 root     root         1024 Nov  1 15:39 man
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 sbin
drwx&ndash;&ndash;x&ndash;&ndash;x   3 root     root         1024 Nov  1 15:39 share
lrwxrwxrwx   1 root     root           10 Nov  1 15:39 tmp &ndash;> ../var/tmp

/usr/bin:
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        37164 Nov  1 15:39 afio
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         5044 Nov  1 15:39 chroot
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        10656 Nov  1 15:39 cut
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        63652 Nov  1 15:39 diff
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        12972 Nov  1 15:39 du
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        56552 Nov  1 15:39 find
&ndash;r&ndash;x&ndash;&ndash;x&ndash;&ndash;x   1 root     root         6280 Nov  1 15:39 free
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         7680 Nov  1 15:39 head
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         8504 Nov  1 15:39 id
&ndash;r&ndash;sr&ndash;xr&ndash;x   1 root     bin          4200 Nov  1 15:39 passwd
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        14856 Nov  1 15:39 tail
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root        19008 Nov  1 15:39 tr
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         7160 Nov  1 15:39 wc
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         4412 Nov  1 15:39 whoami

/usr/lib:
lrwxrwxrwx   1 root     root           17 Nov  1 15:39 libncurses.so.4 &ndash;> libncurses.so.4.2
&ndash;rw&ndash;r&ndash;r&ndash;&ndash;&ndash;   1 root     root       260474 Nov  1 15:39 libncurses.so.4.2

/usr/sbin:
&ndash;r&ndash;x&ndash;&ndash;x&ndash;&ndash;x   1 root     root        13684 Nov  1 15:39 fuser
&ndash;rwx&ndash;&ndash;x&ndash;&ndash;x   1 root     root         3876 Nov  1 15:39 mklost+found

/usr/share:
drwx&ndash;&ndash;x&ndash;&ndash;x   4 root     root         1024 Nov  1 15:39 terminfo

/usr/share/terminfo:
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 l
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 v

/usr/share/terminfo/l:
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root         1552 Nov  1 15:39 linux
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root         1516 Nov  1 15:39 linux&ndash;m
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root         1583 Nov  1 15:39 linux&ndash;nic

/usr/share/terminfo/v:
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   2 root     root         1143 Nov  1 15:39 vt100
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   2 root     root         1143 Nov  1 15:39 vt100&ndash;am

/var:
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 log
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 run
drwx&ndash;&ndash;x&ndash;&ndash;x   2 root     root         1024 Nov  1 15:39 tmp

/var/log:
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root            0 Nov  1 15:39 wtmp

/var/run:
&ndash;rw&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;&ndash;   1 root     root            0 Nov  1 15:39 utmp

/var/tmp:
</screen>
</para>

</Appendix>

<Appendix id="UtilityList">
<Title>Vsebina vzorčne pomožne diskete</title>
<Indexterm><Primary>pomožna disketa</Primary></Indexterm>

<para>
<screen width="80">
total 579
&ndash;rwxr&ndash;xr&ndash;x   1 root     root        42333 Jul 28 19:05 cpio
&ndash;rwxr&ndash;xr&ndash;x   1 root     root        32844 Aug 28 19:50 debugfs
&ndash;rwxr&ndash;xr&ndash;x   1 root     root       103560 Jul 29 21:31 elvis
&ndash;rwxr&ndash;xr&ndash;x   1 root     root        29536 Jul 28 19:04 fdisk
&ndash;rw&ndash;r&ndash;r&ndash;&ndash;&ndash;   1 root     root       128254 Jul 28 19:03 ftape.o
&ndash;rwxr&ndash;xr&ndash;x   1 root     root        17564 Jul 25 03:21 ftmt
&ndash;rwxr&ndash;xr&ndash;x   1 root     root        64161 Jul 29 20:47 grep
&ndash;rwxr&ndash;xr&ndash;x   1 root     root        45309 Jul 29 20:48 gzip
&ndash;rwxr&ndash;xr&ndash;x   1 root     root        23560 Jul 28 19:04 insmod
&ndash;rwxr&ndash;xr&ndash;x   1 root     root          118 Jul 28 19:04 lsmod
lrwxrwxrwx   1 root     root            5 Jul 28 19:04 mt &ndash;&#62; mt&ndash;st
&ndash;rwxr&ndash;xr&ndash;x   1 root     root         9573 Jul 28 19:03 mt&ndash;st
lrwxrwxrwx   1 root     root            6 Jul 28 19:05 rmmod &ndash;&#62; insmod
&ndash;rwxr&ndash;xr&ndash;x   1 root     root       104085 Jul 28 19:05 tar
lrwxrwxrwx   1 root     root            5 Jul 29 21:35 vi &ndash;&#62; elvis
</Screen>
</Para>
</Appendix>
</Article>

