# Arch boot process (Česky)

Související články

- fstab
- Systemd
- Autostarting

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

## Viz také

- Early Userspace in Arch Linux
- Inside the Linux boot process
- Boot with GRUB
- Wikipedia:Linux startup process
- Wikipedia:initrd
- Boot Linux Grub Into Single User Mode

Categories:

- Boot process (Česky)
- About Arch (Česky)