Boot loader: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Hce (discussione | contributi) →Boot loader famosi: +descrizioni, +SYSLINUX e PXELINUX |
Hce (discussione | contributi) + compiti, cambiata organizzazione sezioni |
||
Riga 2:
Il termine deriva dal fatto che il processo di avvio di un computer è detto ''bootstrap'' (dal detto inglese "to lift oneself by one's own bootstrap" che significa "tirarsi su per le fibbie degli stivali") o [[fase di boot]] ed è particolare per ogni [[kernel]].
==Compiti==
* Il boot loader deve caricare ed eseguire un kernel di sistema operativo.
** Questo richiede di accedere alla [[memoria di massa]], e potenzialmente di interpretare un [[filesystem]] per trovare il file del kernel.
** Alcuni boot loader sono in grado di scaricare un kernel dalla rete.
* Molti kernel supportano la possibilità di ricevere parametri di avvio, e il boot loader si occupa di passarli al kernel.
* Alcuni kernel possono montare un [[initrd]] nella prima fase del boot. Questo viene fornito dal bootoader.
* Un boot loader può mostrare all'utente un menù di possibili kernel, con relativi parametri ed initrd, permettendo all'utente di scegliere quale sistema operativo avviare.
** Talvolta è possibile modificare i parametri passati al kernel, o addirittura scegliere un kernel ed un initrd navigando nel filesystem
==Realizzazione==
Il boot loader può essere installato nel [[MBR]] del disco di avvio, oppure nel primo settore della partizione che ospita il [[sistema operativo]] (nel qual caso deve essere richiamato da un [[boot manager]] installato nel [[MBR]]).
Esistono alcune limitazioni imposte dalla tecnica e dai produttori di hardware e firmware per cui solitamente si parla di boot in due stadi, lo stage 1 e lo stage 2, divisione logica che rispecchia la divisione fisica di molti boot loader moderni. Limitazioni di questo genere sono, per esempio, la possibilità di caricare dal dispositivo di boot nella [[RAM|memoria centrale]] solo una piccola quantità di byte e trovarla posizionata in un punto piuttosto sconveniente della memoria - è il caso emblematico dei sistemi basati sulla famiglia [[x86]] che carica i primi 512 byte che incontra sul dispositivo di boot a partire dall'indirizzo 0x07C0:0x0000 in avanti (ultimo byte in 0x07C0:0x01FF).
===Stage 1===
Lo stage 1, poc'anzi riferito anche come [[boot manager]], si occupa di mansioni molto elementari e che possono essere codificate in relativamente poco spazio, come ricercare la prima [[partizione di boot]] sul disco di boot, cercare, caricare il secondo stadio, più complesso ed esteso, in memoria e passargli il controllo. In questo stadio possono essere effettuate anche minime inizializzazioni di sistema utili al secondo stadio ma non è sempre il caso.
|