Arch boot process (Čeština)
Zavaděč
Poté, co je sytém zapnut a POST dokončen, nalezne BIOS preferované bootovací médium a předá kontrolu programu v Master Boot Record na tomto médiu. Na GNU/Linux počítači se často v MBR nalézá zavaděč jako je např. GRUB nebo LILO. Zavaděč pak uživateli nabídne možné operační systémy pro bootování, např. Arch Linux a Windows v tzv. dual-boot sestavě. Jakmile je Arch zvolen, zavaděč nahraje obraz jádra (vmlinuz-linux
) a prvotní obraz root filesystému (initramfs-linux.img
) do paměti a spustí jádro, kterému předá adresu umístění obrazů v paměti.
Jádro
Jádro je základ operačního systému. Operuje v nízké úrovni systému (kernelspace) a zprostředkovává interakce mezi hardwarem a programy. K dosažení efektivního využití CPU používá jádro plánovač, který na základě priority střídavě přiděluje jednotlivým procesům procesorový čas, čímž se docílí iluze, že je více programů prováděno zároveň.
Initframs
Po zavedení jádra se rozbalí initramfs (initial RAM filesystem), který se stane prvotním kořenovým souborovým systémem. Jádro poté spustí /init
jako první proces, čímž začíná early userspace.
Účelem initramfs je zavést systém do stavu, kdy už má přístup ke kořenovému souborovému systému (viz FHS). To znamená, že moduly potřebné k přístupu k zařízením, jako jsou např. IDE, SCSI, SATA nebo USB/FW, musí být možno zavést do jádra přímo z initramfs (pokud dané moduly nejsou zkompilovány přímo v jádře); jakmile se z initramfs naloadují správné moduly (buď explicitně nějakým programem či skriptem, nebo prostřednictvím udev), bootovací proces pokračuje. Díky tomu může initramfs obsahovat pouze moduly potřebné k přístupu ke kořenovému souborovému systému; nemusí tedy obsahovat všechny moduly, které by mohly být kdy použity. Většina modulů bude zavedena později během init procesu prostřednictvím udev.
Init proces
Během poslední fáze early userspace je připojen skutečný kořenový souborový systém, který následně nahradí prvotní kořenový souborový systém. Nakonec je spuštěn /sbin/init
, který nahradí proces /init
.
Dříve Arch Linux využíval SysVinit jako init proces. Nyní při nové instalaci již je jako výchozí systemd. Uživatelům, kteří nadále používají SysVinit, je doporučeno přejít k systemd.