Difference between revisions of "Arch boot process (Italiano)"

From ArchWiki
Jump to: navigation, search
m (fix order, see Help:Style)
(update translation)
(3 intermediate revisions by the same user not shown)
Line 9: Line 9:
 
[[ru:Arch Boot Process]]
 
[[ru:Arch Boot Process]]
 
[[zh-CN:Arch Boot Process]]
 
[[zh-CN:Arch Boot Process]]
{{Article summary start|Sommario}}
+
{{Related articles start (Italiano)}}
{{Article summary text|Una panoramica cronologica del processo di boot di Arch.}}
+
{{Related|Boot Loaders}}
{{Article summary heading|Panoramica}}
+
{{Related|Master Boot Record (Italiano)}}
{{Article summary text|{{Boot process overview (Italiano)}}}}
+
{{Related|GUID Partition Table}}
{{Article summary heading|Pagine correlate}}
+
{{Related|Unified Extensible Firmware Interface (Italiano)}}
{{Article summary wiki|fstab (Italiano)}}
+
{{Related|mkinitcpio (Italiano)}}
{{Article summary wiki|Systemd (Italiano)}}
+
{{Related|systemd (Italiano)}}
{{Article summary wiki|Autostarting}}
+
{{Related|fstab (Italiano)}}
{{Article summary end}}
+
{{Related|Autostarting}}
 +
{{Related articles end}}
  
== Bootloader ==
+
Per avviare Linux è necessario aver installato nel [[Master Boot Record (Italiano)|Master Boot Record]] o nella [[GUID Partition Table]] un [[Boot Loaders|boot loader]] compatibile con Linux, come [[GRUB (Italiano)|GRUB]] o [[Syslinux (Italiano)|Syslinux]]. Il boot loader è responsabile per il caricamento del kernel e il [[mkinitcpio (Italiano)|ramdisk iniziale]] prima di iniziare il processo di boot. La procedura è piuttosto differente tra sistemi [[Wikipedia:it:BIOS|BIOS]] e [[UEFI]], e la descrizione dettagliata è presentata in questa pagina o quelle collegate.
Dopo che la macchina viene accesa ed il [[Wikipedia:it:Power-on self-test|POST]] è stato completato, il BIOS identifica la periferica impostata per il boot e passa il controllo al settore di avvio ([[Master Boot Record (Italiano)|Master Boot Record]]) della periferica. Su una macchina GNU/Linux, spesso viene installato sul MBR del disco un bootloader come [[GRUB (Italiano)|GRUB]] o [[LILO]]. Il bootloader offre diverse opzioni di avvio, come  Arch Linux e Windows [[Windows and Arch Dual Boot|configurati in dual-boot]]. Una volta che viene selezionata Arch, il bootloader carica il kernel ({{ic|vmlinuz-linux}}) ed il ramdisk iniziale ({{ic|initramfs-linux.img}}) in memoria e dopo avvia il kernel, passando all'indirizzo di memoria dell'immagine.
+
 
 +
== Processo di boot ==
 +
 
 +
=== Con BIOS ===
 +
 
 +
# Accensione del sistema - [[Wikipedia:it:Power-on self-test|Power-on self-test]] o POST
 +
# Dopo il POST, il BIOS inizializza l'hardware necessario per il boot (dischi, controller della tastiera ecc.)
 +
# Il BIOS esegue i primi 440 byte ([[Master Boot Record (Italiano)|Master Boot Record]]) del primo disco rigido secondo l'ordine del BIOS
 +
# 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 Loaders|boot loader]])
 +
# Il secondo codice lanciato (il vero boot loader) legge quindi i suoi file ausiliari e di configurazione
 +
# 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]].
  
 
== Kernel ==
 
== Kernel ==
Line 31: Line 45:
  
 
== Processo init ==
 
== Processo init ==
Alla fase finale della ''early userspace'', la vera root è stata montata, e si sostituisce al file system di root iniziale. {{ic|/sbin/init}} è eseguito, sostituendo il processo {{ic|/init}}.
+
Alla fase finale della ''early userspace'', la vera root è stata montata, e si sostituisce al file system di root iniziale. {{ic|/sbin/init}} è eseguito, sostituendo il processo {{ic|/init}}. Arch usa [[Systemd (Italiano)|systemd]] come processo init.
 
+
In passato, Arch usava [[SysVinit]] come processo init. Oggi, sulle nuove installazioni, [[Systemd (Italiano)|systemd]] è utilizzato di default. Eventuali utenti che ancora utilizzino [[SysVinit]] sono consigliati di passare a [[Systemd (Italiano)|systemd]].
+
  
 
== Altre risorse ==
 
== Altre risorse ==

Revision as of 08:15, 17 November 2013

Per avviare Linux è necessario aver installato nel Master Boot Record o nella GUID Partition Table un boot loader compatibile con Linux, come GRUB o Syslinux. Il boot loader è responsabile per il caricamento del kernel e il ramdisk iniziale prima di iniziare il processo di boot. La procedura è piuttosto differente tra sistemi BIOS e UEFI, e la descrizione dettagliata è presentata in questa pagina o quelle collegate.

Processo di boot

Con BIOS

  1. Accensione del sistema - 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) 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)
  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.

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 (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 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), 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 come processo init.

Altre risorse