Arch boot process (Česky)

From ArchWiki
Revision as of 17:36, 23 February 2014 by Lahwaacz.bot (Talk | contribs) (synchronized interlanguage links with the other wikis)

Jump to: navigation, search
Shrnutí help replacing me
Chronologický přehled bootovacího procesu Arch Linuxu.
Přehled

In order to boot Arch Linux, a Linux-capable boot loader must be installed to the Master Boot Record or the GUID Partition Table. It is the first piece of software started by the BIOS or UEFI. It is responsible for loading the kernel with the wanted kernel parameters, and initial RAM disk before initiating the boot process.

Note: Loading Microcode updates requires adjustments in boot loader configuration. [1]

Partition table support

Name BIOS UEFI Dual-boot Notes
GRUB Yes Yes Yes On BIOS/GPT configuration requires GRUB BIOS boot partition.
systemd-boot No Yes Yes Cannot launch binaries from partitions other than ESP.
syslinux Yes Partial Partial
EFISTUB No Yes Yes
rEFInd No Yes Yes
Clover No Yes Yes
LILO Yes No Unknown
GRUB Legacy Yes No Yes
NeoGRUB Yes No Yes

See also

Související
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 (Česky) nebo LILO (Česky). 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é