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

From ArchWiki
Jump to: navigation, search
(Prima di init)
(init: Gli script di boot di Arch)
Line 17: Line 17:
 
Il kernel successivamente richiama il programma {{Codeline|init}} che si trova in {{Filename|/sbin/init}}. {{Codeline|init}} fa riferimento a {{Codeline|glibc}}, la libreria standard del C del progetto GNU. Le librerie sono un insieme di programmi e routine utilizzate frequentemente e sono facilmente identificabili dalla loro esetensione {{Filename|*.so}}. Sono essenziali per il funzionamento base del sistema. Questa fase del processo di avvio è definita ''early userspace''.
 
Il kernel successivamente richiama il programma {{Codeline|init}} che si trova in {{Filename|/sbin/init}}. {{Codeline|init}} fa riferimento a {{Codeline|glibc}}, la libreria standard del C del progetto GNU. Le librerie sono un insieme di programmi e routine utilizzate frequentemente e sono facilmente identificabili dalla loro esetensione {{Filename|*.so}}. Sono essenziali per il funzionamento base del sistema. Questa fase del processo di avvio è definita ''early userspace''.
  
== init: The Arch boot scripts ==
+
== init: Gli script di boot di Arch ==
The main Arch startup process is initiated by the program {{Codeline|init}}, which spawns all other processes. The purpose of {{Codeline|init}} is to bring the system into a usable state, using the boot scripts to do so. As previously mentioned, Arch uses BSD-style boot scripts. {{Codeline|init}} reads the file {{Filename|/etc/inittab}}; the default {{Filename|inittab}} begins with the following:
+
Il principale processo di avvio di Arch è inizializzato da {{Codeline|init}}, il quale genera tutti gli altri processi. L'obbiettivo di {{Codeline|init}} è di portare il sistema ad uno stato in cui possa essere utilizzato, servedosi degli script di avvio. Come detto in precedenza Arch utilizza degli script di avvio simili a quelli di BSD. {{Codeline|init}} legge il file {{Filename|/etc/inittab}}; il file {{Filename|inittab}} di default comincia così:
  
 
{{File
 
{{File
Line 39: Line 39:
 
</nowiki>}}
 
</nowiki>}}
  
The first uncommented line defines the default system runlevel (3). When the kernel calls init:
+
La prima linea non commentata definisce il runlevel di default del sistema(3). Cosa succede quando il kernel richiama init:
  
* First, the main initialization script is run, {{Filename|/etc/rc.sysinit}} (a [[Bash]] script).  
+
* Prima lo script di inizializzazione viene lanciato, {{Filename|/etc/rc.sysinit}}(uno script [[Bash (Italiano)]].
* If started in single user mode (runlevel 1 or S), the script {{Filename|/etc/rc.single}} will be run.  
+
* Se si avvia in single user mode(runlevel 1 o S), lo script {{Filename|/etc/rc.single}} verrà lanciato.
* If in any other runlevel (2-5), {{Filename|/etc/rc.multi}} is run instead.
+
* Se viene avviato un altro runlevel(2-5), verrà lanciato invece lo script {{Filename|/etc/rc.multi}}.
* The last script to run will be {{Filename|/etc/rc.local}}, which is empty by default.  
+
* L'ultimo script ad essere eseguito sarà {{Filename|/etc/rc.local}}, che di defaul è vuoto.
  
 
=== {{Filename|/etc/rc.sysinit}} ===
 
=== {{Filename|/etc/rc.sysinit}} ===
{{Filename|rc.sysinit}} is a huge startup script that basically takes care of all hardware configuration plus a number of general initialization tasks. It can be identified by its first task, printing the lines:
+
Il file {{Filename|/etc/rc.sysinit}} è un grande script che si occupa di tutta la configurazione dell'hardware, ed alcuni compiti di inizializzazione. Può essere identificato dal suo primo compito, inviare al video le linee:
  
 
  Arch Linux
 
  Arch Linux
Line 55: Line 55:
 
  Distributed under the GNU General Public License (GPL)
 
  Distributed under the GNU General Public License (GPL)
  
A rough overview of its tasks:
+
Una veloce visione di alcuni suoi compiti:
* Sources the {{Filename|/etc/rc.conf}} script
+
* Includere il file {{Filename|/etc/rc.conf}}.
* Sources the {{Filename|/etc/rc.d/functions}} script
+
* Includere il file {{Filename|/etc/rc.d/function}}.
* Displays a welcome message
+
* Visualizzare un messaggio di benvenuto.
* Mounts various virtual file systems
+
* Montare vari filesystem virtuali.
* Creates dummy device files
+
* Creare i file per le periferiche.
* Starts [[minilogd]]
+
* Avviare [[minilogd (Italiano)]].
* Outputs messages from [[dmesg]]
+
* Inviare i messaggi a [[dmesg (Italiano)]].
* Configures the hardware clock
+
* Configura l'orologio del bios.
* Empties the {{Filename|/proc/sys/kernel/hotplug}} file
+
* Svuota il file {{Filename|/proc/sys/kernel/hotplug}}.
* Starts [[udev]] and checks for udev events  
+
* Avvia [[udev (Italiano)]] e controlla la presenza degli eventi di udev(udev events).
* Starts the [[loopback]] interface
+
* Avvia l'interfaccia di [[loopback (Italiano)]].
* Loads modules from the {{Codeline|MODULES}} array defined in [[rc.conf]]
+
* Carica i moduli presenti all'interno dell'array {{Codeline|MODULES}} dal file [[rc.conf (Italiano)|/etc/rc.conf]].
* Configures RAID and encrypted filesystem mappings
+
* Configura eventuali array RAID, file system criptati o LVM.
* Runs a forced check of partitions ([[fsck]]) if the [[fstab|/etc/fstab]] file contains instructions to do so
+
* Effettua controlli forzati dei filesystem ([[fsck (Italiano)]]) delle partizioni secondo le impostazioni di [[fstab (Italiano)|/etc/fstab]].
* Mounts local partitions and swap (networked drives are not mounted before a network profile is up)
+
* Monta le partizioni locali e la swap(le condivisioni di rete non verranno montate fino a che un profilo di rete non sarà attivo).
* Activates [[swap]] areas
+
* Attiva la [[swap (italiano)]].
* Sets the hostname, locale and system clock as defined in {{Filename|rc.conf}}
+
* Imposta il nome macchina(hostname), la lingua(locale) e l'orologio di sistema secondo le imostazioni di {{Filename|/etc/rc.conf}}.
* Removes various leftover/temporary files, such as {{Filename|/tmp/*}}
+
* Rimuove vari residui dei file temporanei come {{Filename|/tmp/*}}.
* Configures the [[locale]], console and keyboard mappings
+
* Configura la [[locale (Italiano)|linugua]], la console e la mappatura della tastiera.
* Sets the console font
+
* Imposta i caratteri per la console.
* Writes output from dmesg to {{Filename|/var/log/dmesg.log}}
+
* Scrive gli output dei comandi in {{Filename|/var/log/dmesg.log}}.
  
{{Filename|/etc/rc.sysinit}} is a script and not a place for settings. It sources (i.e. reads and inherits variables and functions) [[rc.conf]] for settings and {{Filename|/etc/rc.d/functions}} for the functions that produce its graphical output (nice colors, alignments, switching 'busy' to 'done', etc.) There is no particular need to edit this file, although some may wish to do so in order to speed up the boot process.
+
{{Filename|/etc/rc.sysinit}} è uno script e non un file di configurazione. Esso include (quindi ottiene le variabili da) [[rc.conf (Italiano)]] per le configurazioni e {{Filename|/etc/rc.d/functions}} per le fuznioni che producono l'output grafico(colori allineamento ad esempio il passaggio dei demoni da 'busy' a 'done' ecc.). Non c'è bisogno di modificare questo file, salvo non si vogla farlo per provare a velocizzare il processo di boot(a proprio rischio e pericolo).
  
 
=== {{Filename|/etc/rc.single}} ===
 
=== {{Filename|/etc/rc.single}} ===

Revision as of 18:01, 4 May 2010

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Tango-preferences-desktop-locale.pngThis article or section needs to be translated.Tango-preferences-desktop-locale.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:Arch boot process (Italiano)#)
Note: Questo articolo è in fase di traduzione. Seguite per ora le istruzioni della versione inglese.

Questo articolo intende descrivere l'ordine cronologico del processo di avvio di Arch, ed i file che lo interessano, fornendo link a sezioni del wiki dove necessario. Arch come BSD utilizza init, contrariamente al più diffuso SysV. Ciò implica una lieve distinzione tra i runlevel, dato che il sistema di default usa i soliti moduli ed i soliti processi in tutti gli altri runlevel. Il vantaggio è che gli utenti potranno configurare semplicemente il processo di avvio(vedere rc.conf (Italiano); lo svantaggio è che alcune configurazioni interessanti che offre SysV vanno perse. Consultare la guida su come aggiungere runlevel in modo da utilizzare alcune opzioni di SysV in Arch. Consultare Wikipedia:init per approfondire maggiormente le distinzioni tra SysV ed il metodo BSD.

Prima di init

Dopo che la macchina viene accesa ed il POST è stato completato, il BIOS identifica la periferica impostata per il boot e passa il controllo al settore di avvio(Master Boot Record (Italiano)) della periferica. Su una macchina GNU/Linux, spesso viene installato sul MBR del disco un bootloader come GRUB (Italiano) o LILO (Italiano). Il bootloader offre diverse opzioni di avvio ad esempio come Arch Linux e Windows configurati in dual-boot. Una volta che viene selezionata Arch, l'immagine del kernel nella cartella Template:Filename(attualmente il nome del file è Template:Filename) viene decompressa e caricata in memoria.

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 pianificaizone per decidere a quale processo assegnare la priorità e quando, creando così l'illusione(per l'occhio umano) che i processi vengano eseguiti contemporaneamente.

Dopo che il kernel è stato caricato, viene letto l'initramfs(initial RAM filesystem). L'obbiettivo di initramfs è di effettuare il bootstrap del sistema dalla periferica in cui si trova il filesystem di root(vedi FHS (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 caricato. Una volta che initramfs carica i moduli necessari, sia manualmente che tramite udev (Italiano), il controllo passa di nuovo al kernel ed il processo di avvio continua. Per questa ragione l'initrd può contenere solo i moduli strettamente necessari 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.

Il kernel successivamente richiama il programma Template:Codeline che si trova in Template:Filename. Template:Codeline fa riferimento a Template:Codeline, la libreria standard del C del progetto GNU. Le librerie sono un insieme di programmi e routine utilizzate frequentemente e sono facilmente identificabili dalla loro esetensione Template:Filename. Sono essenziali per il funzionamento base del sistema. Questa fase del processo di avvio è definita early userspace.

init: Gli script di boot di Arch

Il principale processo di avvio di Arch è inizializzato da Template:Codeline, il quale genera tutti gli altri processi. L'obbiettivo di Template:Codeline è di portare il sistema ad uno stato in cui possa essere utilizzato, servedosi degli script di avvio. Come detto in precedenza Arch utilizza degli script di avvio simili a quelli di BSD. Template:Codeline legge il file Template:Filename; il file Template:Filename di default comincia così:

Template:File

La prima linea non commentata definisce il runlevel di default del sistema(3). Cosa succede quando il kernel richiama init:

Template:Filename

Il file Template:Filename è un grande script che si occupa di tutta la configurazione dell'hardware, ed alcuni compiti di inizializzazione. Può essere identificato dal suo primo compito, inviare al video le linee:

Arch Linux
http://www.archlinux.org
Copyright 2002-2007 Judd Vinet
Copyright 2007-2009 Aaron Griffin
Distributed under the GNU General Public License (GPL)

Una veloce visione di alcuni suoi compiti:

Template:Filename è uno script e non un file di configurazione. Esso include (quindi ottiene le variabili da) rc.conf (Italiano) per le configurazioni e Template:Filename per le fuznioni che producono l'output grafico(colori allineamento ad esempio il passaggio dei demoni da 'busy' a 'done' ecc.). Non c'è bisogno di modificare questo file, salvo non si vogla farlo per provare a velocizzare il processo di boot(a proprio rischio e pericolo).

Template:Filename

Single-user mode will boot straight into the root user account and should only be used if one cannot boot normally. This script ensures no daemons are running except for the bare minimum: syslog-ng and udev. The single-user mode is useful for system recovery where preventing remote users from doing anything that might cause data loss or damage is necessary. In single-user mode, users can continue with the standard (multi-user) boot by entering 'exit' at the prompt.

Template:Filename

Template:Filename is run on any multi-user runlevel (i.e. 2, 3. 4 and 5) which basically means any ordinary boot. Typically, users will not notice the transition from Template:Filename to Template:Filename as Template:Filename also uses the functions file to produce output. This script has three tasks:

Template:Filename

Template:Filename is the local multi-user startup script. Empty by default, it is a good place to put any last-minute commands the system should run at the very end of the boot process. Most common system configuration tasks (like loading modules, changing the console font, or setting up devices) usually have a dedicated place where they belong. To avoid confusion, ensure that whatever one intends to add to Template:Filename is not already residing in Template:Filename, or any other existing configuration location instead.

When editing this file, keep in mind that it is run after the basic setup (modules/daemons), as the root user, and whether or not X starts. Here is an example which just un-mutes the ALSA sound settings:

Template:File

Another common usage for Template:Filename is to apply various hacks when one cannot make the ordinary initialization work correctly.

init: Login

By default, after the Arch boot scripts are completed, the Template:Codeline program prompts users for a login name. After a login name is received, Template:Codeline calls Template:Codeline to prompt for the login password.

Finally, with a successful login, the Template:Codeline program starts the user's default shell. The default shell and environment variables may be globally defined within Template:Filename. All variables within a users home directory shall take precedence over those globally defined under Template:Filename. For instance, if two conflicting variables are specified within Template:Filename and Template:Filename, the one dictated by Template:Filename shall prevail.

Other options include mingetty which allows for auto-login and rungetty which allows for auto-login and automatically running commands and programs, e.g. the always useful htop.

The majority of users wishing to start an X server during the boot process will want to install a display manager, and see Display Manager for details. Alternatively, Start X at Boot outlines methods that do not involve a display manager.

Risorse