UNPKG

arch-wiki-md-repo

Version:

All arch-wiki articles in markdown format, updated every two days.

60 lines (42 loc) 5.7 kB
Articoli correlati * [Boot loaders](/index.php/Boot_loaders "Boot loaders") * [Master Boot Record (Italiano)](/index.php/Master_Boot_Record_(Italiano) "Master Boot Record (Italiano)") * [GUID Partition Table](/index.php/GUID_Partition_Table "GUID Partition Table") * [Unified Extensible Firmware Interface (Italiano)](/index.php/Unified_Extensible_Firmware_Interface_(Italiano) "Unified Extensible Firmware Interface (Italiano)") * [mkinitcpio (Italiano)](/index.php/Mkinitcpio_(Italiano) "Mkinitcpio (Italiano)") * [systemd (Italiano)](/index.php/Systemd_(Italiano) "Systemd (Italiano)") * [fstab (Italiano)](/index.php/Fstab_(Italiano) "Fstab (Italiano)") * [Autostarting](/index.php/Autostarting "Autostarting") Per avviare Linux è necessario aver installato nel [Master Boot Record](/index.php/Master_Boot_Record_(Italiano) "Master Boot Record (Italiano)") o nella [GUID Partition Table](/index.php/GUID_Partition_Table "GUID Partition Table") un [boot loader](/index.php/Boot_loaders "Boot loaders") compatibile con Linux, come [GRUB](/index.php/GRUB_(Italiano) "GRUB (Italiano)") o [Syslinux](/index.php/Syslinux_(Italiano) "Syslinux (Italiano)"). Il boot loader è responsabile per il caricamento del kernel e il [ramdisk iniziale](/index.php/Mkinitcpio_(Italiano) "Mkinitcpio (Italiano)") prima di iniziare il processo di boot. La procedura è piuttosto differente tra sistemi [BIOS](https://en.wikipedia.org/wiki/it:BIOS "wikipedia:it:BIOS") e [UEFI](/index.php/UEFI "UEFI"), e la descrizione dettagliata è presentata in questa pagina o quelle collegate. ## Contents * [1 Processo di boot](#Processo_di_boot) * [1.1 Con BIOS](#Con_BIOS) * [1.2 Con UEFI](#Con_UEFI) * [2 Kernel](#Kernel) * [3 initramfs](#initramfs) * [4 Processo init](#Processo_init) * [5 Altre risorse](#Altre_risorse) ## Processo di boot ### Con BIOS 1. Accensione del sistema - [Power-on self-test](https://en.wikipedia.org/wiki/it:Power-on_self-test "wikipedia:it:Power-on self-test") o POST 2. Dopo il POST, il BIOS inizializza l'hardware necessario per il boot (dischi, controller della tastiera ecc.) 3. Il BIOS esegue i primi 440 byte ([Master Boot Record](/index.php/Master_Boot_Record_(Italiano) "Master Boot Record (Italiano)")) del primo disco rigido secondo l'ordine del BIOS 4. Il codice di boot nell'MBR prende quindi il controllo dal BIOS e esegue il prossimo blocco di codice (se esistente) (in genere un [boot loader](/index.php/Boot_loaders "Boot loaders")) 5. Il secondo codice lanciato (il vero boot loader) legge quindi i suoi file ausiliari e di configurazione 6. Basandosi sui valori nei propri file di configurazione, il boot loader carica il kernel e l'initramfs nella memoria di sistema (RAM) ed infine esegue il kernel ### Con UEFI Leggere [Unified Extensible Firmware Interface (Italiano)#Processo di boot con UEFI](/index.php/Unified_Extensible_Firmware_Interface_(Italiano)#Processo_di_boot_con_UEFI "Unified Extensible Firmware Interface (Italiano)"). ## Kernel Il kernel è il cuore di un sistema operativo. Esso lavora a basso livello (*kernelspace*) interagendo tra le periferiche della macchina, ed i programmi che ne richiedono le risorse per funzionare. Per sfruttare la CPU in modo efficiente, il kernel usa un sistema di pianificazione per decidere a quale processo assegnare la priorità e quando, creando così l'illusione (per l'occhio umano) che i processi vengano eseguiti contemporaneamente. ## initramfs Dopo essere stato caricato, il kernel decomprime l'[initramfs](/index.php/Initramfs "Initramfs") (initial RAM filesystem), che diventa il file system di root iniziale. Il kernel successivamente esegue `/init` come primo processo. La fase *early userspace* inizia. L'obiettivo di initramfs è di effettuare il bootstrap del sistema fino a che quest'ultimo non sia in gradi di accedere al filesystem di root (vedi [FHS](/index.php/Filesystem_Hierarchy_Standard_(Italiano) "Filesystem Hierarchy Standard (Italiano)") per maggiori informazioni). Ciò significa che ogni modulo richiesto dalle periferiche come dischi IDE, SCSI, o SATA (oppure USB/FireWire, se si effettua il boot da una di queste periferiche) deve essere caricabile dall'initramfs se non è stato compilato all'interno del kernel; Una volta che sono caricati i moduli necessari, (sia da un programma, sia con uno script, o tramite [udev](/index.php/Udev_(Italiano) "Udev (Italiano)")), il processo di boot continua. Per questa ragione nell'initramfs è necessaria la sola presenza dei moduli assolutamente indispensabili per l'accesso al filesystem di root; non è quindi necessario che contenga tutti i moduli che servono al completo funzionamento della macchina. La maggior parte dei moduli sarà caricata in seguito da udev, durante la fase di init. ## Processo init Alla fase finale della *early userspace*, la vera root è stata montata, e si sostituisce al file system di root iniziale. `/sbin/init` è eseguito, sostituendo il processo `/init`. Arch usa [systemd](/index.php/Systemd_(Italiano) "Systemd (Italiano)") come processo init. ## Altre risorse * [Early Userspace in Arch Linux](http://archlinux.me/brain0/2010/02/13/early-userspace-in-arch-linux/) * [Inside the Linux boot process](http://www.ibm.com/developerworks/linux/library/l-linuxboot/) * [Boot with GRUB](http://www.linuxjournal.com/article/4622) * [Wikipedia:Linux startup process](https://en.wikipedia.org/wiki/Linux_startup_process "wikipedia:Linux startup process") * [Wikipedia:it:initrd](https://en.wikipedia.org/wiki/it:initrd "wikipedia:it:initrd") * [Boot Linux Grub Into Single User Mode](http://www.cyberciti.biz/faq/grub-boot-into-single-user-mode/)