Stiskněte tlačítko napájení na vašem systému a po chvíli se zobrazí výzva k přihlášení k Linuxu.
Přemýšleli jste někdy o tom, co se děje v zákulisí od chvíle, kdy stisknete tlačítko napájení, dokud se neobjeví výzva k přihlášení k systému Linux?
Následuje 6 fází na vysoké úrovni typického procesu spouštění Linuxu.
1. BIOS
- BIOS je zkratka pro Basic Input/Output System
- Provádí některé kontroly integrity systému
- Vyhledává, načítá a spouští zaváděcí program.
- Hledá zavaděč na disketě, CD-ROM nebo pevném disku. Můžete stisknout klávesu (obvykle F12 nebo F2, ale to závisí na vašem systému) během spouštění systému BIOS a změnit sekvenci zavádění.
- Jakmile je zavaděč detekován a nahrán do paměti, BIOS mu předá řízení.
- Zjednodušeně řečeno, BIOS načte a spustí zavaděč MBR.
2. MBR
- MBR znamená Master Boot Record.
- Je umístěn v 1. sektoru spouštěcího disku. Obvykle /dev/hda nebo /dev/sda
- MBR je menší než 512 bajtů. To má tři součásti 1) informace o primárním zavaděči v prvních 446 bajtech 2) informace o tabulce oddílů v dalších 64 bytech 3) kontrola ověření mbr v posledních 2 bytech.
- Obsahuje informace o GRUB (nebo LILO ve starých systémech).
- Zjednodušeně tedy MBR načte a spustí zavaděč GRUB.
3. GRUB
- GRUB znamená Grand Unified Bootloader.
- Pokud máte v systému nainstalováno více obrazů jádra, můžete si vybrat, který z nich se má spustit.
- GRUB zobrazí úvodní obrazovku, několik sekund počká, pokud nic nezadáte, načte výchozí obraz jádra, jak je uvedeno v konfiguračním souboru grub.
- GRUB má znalosti o souborovém systému (starší zavaděč Linuxu LILO souborovému systému nerozuměl).
- Konfigurační soubor Grub je /boot/grub/grub.conf (na toto je odkaz /etc/grub.conf). Následuje ukázka grub.conf CentOS.
#boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-194.el5PAE) root (hd0,0) kernel /boot/vmlinuz-2.6.18-194.el5PAE ro root=LABEL=/ initrd /boot/initrd-2.6.18-194.el5PAE.img
4. Jádro
- Připojí kořenový souborový systém, jak je uvedeno v „root=“ v grub.conf
- Jádro spustí program /sbin/init
- Protože init byl prvním programem spuštěným jádrem Linuxu, má id procesu (PID) 1. Proveďte příkaz ‚ps -ef | grep init’ a zkontrolujte pid.
- initrd je zkratka pro Initial RAM Disk.
- initrd používá jádro jako dočasný kořenový souborový systém, dokud není jádro zavedeno a není připojen skutečný kořenový souborový systém. Obsahuje také potřebné ovladače zkompilované uvnitř, což mu pomáhá při přístupu k oddílům pevného disku a dalšímu hardwaru.
5. Init
- Podívá se do souboru /etc/inittab a určí úroveň běhu Linuxu.
- Následují dostupné úrovně spuštění
- 0 – zastavení
- 1 – Režim jednoho uživatele
- 2 – Víceuživatelský, bez NFS
- 3 – Plný režim pro více uživatelů
- 4 – nepoužité
- 5 – X11
- 6 – restartování
- Init identifikuje výchozí initlevel z /etc/inittab a použije ji k načtení všech příslušných programů.
- Spusťte ve svém systému příkaz „grep initdefault /etc/inittab“, abyste určili výchozí úroveň spuštění
- Pokud se chcete dostat do problémů, můžete nastavit výchozí úroveň běhu na 0 nebo 6. Protože víte, co 0 a 6 znamená, pravděpodobně to neuděláte.
- Výchozí úroveň běhu byste obvykle nastavili na 3 nebo 5.
6. Runlevel programy
- Při spouštění systému Linux můžete vidět spouštění různých služeb. Může to například říkat „spouštění sendmailu…. OK". To jsou programy na úrovni běhu, spouštěné z adresáře úrovně běhu, jak je definováno vaší úrovní běhu.
- V závislosti na vašem výchozím nastavení úrovně inicializace bude systém spouštět programy z jednoho z následujících adresářů.
- Úroveň běhu 0 – /etc/rc.d/rc0.d/
- Úroveň běhu 1 – /etc/rc.d/rc1.d/
- Úroveň běhu 2 – /etc/rc.d/rc2.d/
- Úroveň běhu 3 – /etc/rc.d/rc3.d/
- Úroveň běhu 4 – /etc/rc.d/rc4.d/
- Úroveň běhu 5 – /etc/rc.d/rc5.d/
- Úroveň běhu 6 – /etc/rc.d/rc6.d/
- Upozorňujeme, že pro tyto adresáře jsou k dispozici také symbolické odkazy přímo pod /etc. Takže /etc/rc0.d je propojen s /etc/rc.d/rc0.d.
- V adresářích /etc/rc.d/rc*.d/ uvidíte programy, které začínají na S a K.
- Programy začínající na S se používají při spouštění. S pro spuštění.
- Programy začínající na K se používají během vypínání. K pro zabití.
- V názvech programů jsou čísla hned vedle S a K. Jedná se o pořadové číslo, ve kterém by měly být programy spuštěny nebo ukončeny.
- Například S12syslog má spustit démona syslog, který má pořadové číslo 12. S80sendmail má spustit démona sendmail, který má pořadové číslo 80. Program syslog bude tedy spuštěn před sendmailem. li>
Tady to máš. To se děje během procesu spouštění Linuxu.
UNIX / Linux:3 způsoby odesílání signálu do procesů
UNIX / Linux:Jak používat Sticky Bit na adresář a soubor