7.3. Jak tyto bootscripty pracují?

Linux používá speciální bootovací dovednost pojmenovanou SysVinit,která je založena na run-levels.Může se velmi lišit systém od systému,proto nelze předpokládat,že pokud něco bude pracovat na jedné Linuxové distribuci,že bude také pracovat na LFS.LFS pro to používá vlastní cestu,ale respektuje uznané stadardy.

SysVinit (od této chvíle jako “init”) používá schéma run-levelů.Je jich sedm (číslovány 0 až 6;aktuálně je více run-levelů,ale jsou pouze pro speciální případy a nejsou široce využívané.Pro další detaily se podívejte na init(8)),a každý z nich odpovídá za určité akce.Výchozí run-level je 3.Dále je popis run-levelů,jak jsou implementovány:

0: vypnutí počítače
1: jednouživatelský mód
2: multi-uživatelský mód bez sítě
3: multi-uživatelský mód se sítí
4: reservováno pro úpravy,jinak stejný jako 3
5: stejný jako 4,je obvykle použito pro grafické příklášení (jako xdm z X nebo kdm z KDE) 
6: restart počítače

Příkaz ke změně run-levelů je init [runlevel],kde [runlevel] je výsledný run-level.Na příklad k restartu počítače můžete zvolit příkaz init 6,který je aliasem pro příkaz reboot.Stejně init 0 je alias pro příkaz halt.

V adresáří /etc/rc.d je několik adresářů pojmenovaných jako rc?.d (lde ? je číslo run-levelu) a rcsysinit.d.Všechny obsahují symbolické odkazy.Některé začínají K,ostatní S a dále následují dvě čísla.K znamená ukončení (kill) služby a S znamená start služby.Čísla,která znamenají v jakém pořadí mají skripty běžet jsou v rozsahu 00 až 99—nížší číslo znamená,že bude dříve spuštěn.Pokud příkaz init přepíná do dalšího run-levelu,odpovídající služby jsou startovány,nebo ukončovány,což závisí na vybraném runlevelu.

Reálné skripty se nacházejí v /etc/rc.d/init.d.Tyto provádějí práci a všechny odkazy na ně vedou.Ukončovací odkazy a startovací odkazy vedou ke stejnému skriptu v /etc/rc.d/init.d.To je způsobeno tím,že skripty jsou volány s různými parametry jako start, stop, restart, reload a status.Pokud je spuštěn odkaz s K,odpovídající skript běží v volbou stop.Pokud je spuštěn odkaz s S,odpovídající skript běží v volbou start.

K tomuto vysvětlení existuje jedna vyjímka.Odkazy,které začínají s S v adresářích rc0.d a rc6.d nezpůsobí start ničeho.Budou volány s parametrem stop,aby všechno ukončily.Je logické,že pokud chce uživatel vypínat nebo restartovat systém,není třeba nic startovat.Systém musí být pouze vypnut.

Dále je vysvětlení,co volby příkazů dělají:

start

Služba je zapnuta.

stop

Služba je vypnuta.

restart

Služba je vypnutá a poté znova nastartovaná

reload

Konfigurace služby je aktualizovaná.Určeno ke spuštění poté,co je modifikován konfigurační soubor služby,když služba nemusí být restartovaná.

status

Říká jestli služba běží a z jakým PID.

Můžete volně upravovat jak bootovací proces pracuje(nakonec je to váš vlastní systém LFS).Soubory zde představené jsou pouze příklad,jak to může být.