Debian

Comprendere il processo di avvio di Debian passo dopo passo

Comprendere il processo di avvio di Debian passo dopo passo
Questo articolo spiega passo dopo passo il processo di avvio di Debian Linux a partire dal BIOS fino al /sbin/init esecuzione incluso il boot loader, init e init.

Il primo software da eseguire all'accensione del PC è il BIOS, seguito dal boot loader (GRUB, LILO in altri sistemi) solitamente installato sull'MBR (Master Boot Record), quindi il programma /init con l'immagine initramfs in memory come file system di root temporaneo e quindi esegue /sbin/init mentre si passa dal file system di root al disco.

Iniziamo con ogni passaggio, iniziando dal BIOS.

Il processo di avvio di Debian: il BIOS

Il BIOS è il primo software che interagisce con l'hardware, avvia tutti i dispositivi,
a seconda della sua configurazione a cui di solito possiamo accedere premendo Canc o F2.

Dalla configurazione del BIOS possiamo definire come continuerà il processo di avvio, solitamente il pannello di configurazione del BIOS contiene un menu dedicato al processo di avvio in cui possiamo definire se il prossimo passo sarà quello di eseguire l'avvio da disco rigido, un'unità esterna o USB stick, un disco ottico come un DVD, un libro di rete, ecc.

Come detto prima, il BIOS inizializza l'hardware e il suo pannello di configurazione ci consente di abilitare e disabilitare determinati hardware sia in modo definitivo che durante il processo di avvio.

Il BIOS contiene anche informazioni sulla temperatura dell'hardware, sulla salute del dispositivo di raffreddamento, sulla RAM, sui dispositivi di archiviazione, sul supporto per la virtualizzazione, sul processore e sui core tra più opzioni.

Quasi sempre durante la risoluzione dei problemi di un PC tra i primi passi c'è il lavoro con il BIOS. Nella sicurezza informatica il BIOS gioca un ruolo fondamentale prevenendo lo sfruttamento delle vulnerabilità locali, una configurazione errata può portare a problemi di sicurezza e funzionali.
In un normale processo di avvio di Debian il passaggio successivo all'inizializzazione del BIOS è il boot loader che di solito occupa il secondo passaggio del processo.

Il processo di avvio di Debian: il boot loader

All'interno dei primi 2 blocchi di un dispositivo di archiviazione c'è l'MBR (Master Boot Record) che contiene informazioni sul partizionamento, filesystem. Molti utenti confondono l'MBR con il Boot Loader, l'MBR è una posizione definita all'interno di un dispositivo a blocchi mentre Boot Loader è un programma di leva superiore, che l'utente può facilmente manipolare. Il Boot Loader è ciò che gli utenti Debian conoscono come GRUB, altri utenti Linux potrebbero conoscerlo come LILO, SysLinux, Windows Boot Manager per utenti Windows, ecc.

Dal Boot Loader possiamo determinare come verranno eseguiti i passaggi successivi, possiamo modificare definire diversi OS, kernel e parametri di avvio.

Per impostazione predefinita Debian porta GRUB come Boot Loader, il file di configurazione di GRUB può essere trovato in /boot/grub/menu.lst e il bootloader deve essere aggiornato eseguendo il comando update-grub per testare e applicare qualsiasi modifica.

Il Boot Loader ci permette di avviare in recovery mode o montare il SO con privilegi di root per risolvere problemi o resettare la password, come succede con il BIOS, il GRUB loader è di interesse anche per la sicurezza informatica.

Proprio come il BIOS ha definito i passaggi per il Boot Loader, il Boot Loader definisce le impostazioni per il processo /init che prepara il PC per l'ultimo passaggio.

Il processo di avvio di Debian: /init

/init è uno script di shell in esecuzione all'interno di initramfs che inizializza il kernel, a questo punto dovresti sapere che /init inizializza il kernel compresso come cpio.

Il processo di avvio di Debian: /sbin/init

Qui è dove si inizializza il sistema operativo. Il runlevel N (boot) inizializza solo gli script necessari per passare al runlevel S (Single user) per terminare l'inizializzazione dell'hardware e quindi passa a un runlevel compreso tra 2 e 5 per avviare i servizi di sistema.
Di seguito puoi vedere un elenco che include tutti i runlevel e il loro significato:

Livello di esecuzione Supporto Compito
no Nessuna
0 Spegnimento Spegnimento, la sua directory è /etc/rc0.d/
1 Singolo utente Utente singolo, la sua directory è /etc/rc1.d/
2 Multiutente senza rete Multiutente senza rete, in /etc/rc2.d/
3 Multiutente con rete Multiutente con rete, in /etc/rc3.d/
4 Multiutente con rete Multiutente con rete, in /etc/rc4.d/
5 Multiutente con grafica Multiutente, X11, la sua directory è /etc/rc5.d/
6 Riavvia Riavvia

Le directory dei runlevel si collegano agli script che si trovano in /etc/init.d/, questa è una directory in cui un amministratore può individuare gli script da eseguire all'avvio.

/sbin/init è l'ultimo passo in Debian Linux e nelle distribuzioni derivate, porterà il sistema operativo al runlevel corretto.

Questo processo di avvio è davvero semplice da capire, qualsiasi utente, anche se non ha familiarità con Linux, conosce già passaggi come BIOS e Boot Loader.

Spero che questo articolo ti abbia aiutato a comprendere il processo di avvio di Debian passo dopo passo.

SuperTuxKart per Linux
SuperTuxKart è un fantastico titolo progettato per offrirti l'esperienza di Mario Kart gratuitamente sul tuo sistema Linux. È piuttosto impegnativo e ...
Tutorial Battaglia per Wesnoth
The Battle for Wesnoth è uno dei giochi di strategia open source più popolari a cui puoi giocare in questo momento. Non solo questo gioco è in svilupp...
0 A.D. Tutorial
Tra i tanti giochi di strategia in circolazione, 0 A.D. riesce a distinguersi come un titolo completo e un gioco molto profondo e tattico nonostante s...