Volete capire meglio come funziona il boot di un sistema che usa il Kernel Linux? Ve lo spiega Intel, mediante Intel Simics Simulator!

7

Se siete tra quanti si sono sempre chiesti quale sia la magia che si scatena dal momento in cui si preme il tasto di accensione del proprio computer al momento in cui si effettua il login, potrebbe tornarvi utile dare un’occhiata all’articolo dal titolo “Loading and Starting a Linux* Kernel in Five Different Ways“, di Jakob Engblom, pubblicato sul sito community di Intel.

Ad esempio, sapevate tutti come per avviare un sistema Linux siano necessarie tre essenziali componenti? Queste sono:

  • Il Kernel Linux vero e proprio, con tutti i suoi moduli.
  • Il file system di root, dove risiedono tutti i dati della vostra installazione.
  • I parametri della linea di comando del Kernel.

Grazie a queste tre componenti il bootloader è in grado di avviare il sistema.

L’articolo si basa su Intel Simics Simulator, un ambiente di simulazione completo che consente agli sviluppatori di eseguire e testare il proprio codice su simulazioni di sistemi completi, consentendo la risoluzione di problemi e la verifica del software prima che questo venga eseguito su hardware fisico.

Quale miglior ambiente quindi per esplorare le cinque modalità menzionate nel titolo dell’articolo?

La prima è quella che sfrutta l’architettura RISC-V (sarà un caso che viene qui mostrata dopo le recenti notizie che abbiamo raccontato che certificano l’ascesa dell’architettura?) e che viene riassunta in questo diagramma:

risc-v-simple-boot.png

Ed è interessante notare la presenza di device tree, una struttura dati standard e condivisa che serve per descrivere l’hardware. In questo primo caso, tutte le componenti (ed eccezione del file system, logicamente) risiedono in RAM.

La seconda modalità è quella dell’avvio diretto del Kernel, con uno script che simula il bootloader in RAM insieme ai parametri di boot del Kernel (che risiede anch’esso nella RAM):

very-simple-linux-boot.png

La terza modalità è quella che prevede l’avvio mediante bootloader diretto del Kernel da un disco flash, con il second-stage bootloader che risiede sul disco insieme al Kernel ed ai suoi parametri:

qsp-standard-boot.png

Quarta modalità (e qui le cose iniziano ad articolarsi) è quella del boot via rete, dove si inserisce all’interno del bootloader il PXE (Preboot eXecution Environment), uno standard che consente l’installazione da una locazione remota del sistema operativo:

qsp-network-boot.png

Quinta ed ultima la modalità che introduce UEFI la quale, in termini di complessità, è certamente la più elevata:

qsp-kernel-boot.png

È vero che solo ad osservare lo schema viene mal di testa, ma rappresenta anche una delle chiavi per comprendere i problemi di sicurezza di cui abbiamo recentemente parlato a proposito di UEFI.

La complessità non è mai amica della sicurezza, e questo articolo certamente aiuta a capire una volta di più il perché.

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.

7 risposte a “Volete capire meglio come funziona il boot di un sistema che usa il Kernel Linux? Ve lo spiega Intel, mediante Intel Simics Simulator!”

  1. Avatar Alessandro Scarozza
    Alessandro Scarozza

    interessantissimo, peccato non abbia inserito anche un confronto con altri sistemi operativi

  2. Avatar Raoul Scarazzini

    Non è detto che in futuro non ci sarà un articolo come quello che immagini, quel blog è un pozzo di scienza!

  3. Avatar Marco
    Marco

    scusate l’o.t.: ma solo io non vedo notizie più recenti del 9 febbraio in home? Ho scoperto che c’erano solo perchè mi sono arrivati i link su google news

  4. Avatar Raoul Scarazzini

    Uhm… Non mi risulta, hai qualche screenshot o altro da mostrare? Perché è molto strano…

  5. Avatar Daniele Angelini
    Daniele Angelini

    Interessante articolo ..quindi tutte le righe di comando che si vedono con l ok dopo in verde vengono dal kernel ?

  6. Avatar Raoul Scarazzini

    Se ti riferisci a ciò che appare a video durante il boot di una distribuzione Linux no, quando iniziano ad apparire i servizio con “OK” in verde si è già passati all’init del sistema, quindi non sono messaggi del Kernel, bensì del sistema di init (systemd).
    I messaggi del Kernel sono tutti quelli precedenti.

  7. Avatar Daniele Angelini
    Daniele Angelini

    Grazie!!!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *