Boot the System – BIOS

Questa e’ una lezione teorica sulla sequenza di BOOT.
Nel caso di un pc con vecchio sistema BIOS a 16 bit, viene innanzitutto eseguito il POST ovvero Power on Self Test, che controlla lo statp delle memorie e il funzionamento di tutto quanto il sistema in generale.
Successivamente carica lo STAGE1 BOOT LOADER e lo carica dal MBR ( sono i primi 512 Byte del disco designato come disco di BOOT)
Sequenzialmente da questi 512 byte viene caricato un codice molto piccolo, molto semplice per andare a caricare lo STAGE 2 BOOT LOADER, il quale carica effettivamente il SISTEMA OPERATIVO vero e proprio.

Il BOOTLOADER puo’ caricare anche insieme al Kernel, un INITRD ovvero initaial RAM DISK ed e’ un file che contiene i moduli Kernel caricabili compilati al di fuori dell’ambiente di KERNEL. Solitamente e’ un file compresso che viene caricato in RAM dal BOOTLOADER,il Kernel vi accede come se fosse un file system montato senza alcun genere di problema.
Su alcuni sistemi tipo Fedora 12 puo’ essere creato con una applicazione chiamata DRACUT. Questa utili crea l’ initrd

Per entare e osservare come strutturato bastera’ digitare : lsinitrd

Un bootloader puo’ caricare un’altro bootloader.
Un esempio classico e’ quando ad esempio abbiamo installato UBUNTU e GRUB e’il bootloader predefinito.
Al POWER ON dopo il POST, il BIOS cerca di caricare lo STAGE 1 BOOTLOADER leggendo dai primi 512 byte del MBR, trova il codice di GRUB e lo carica
GRUB mostra un elenco di Sistemi Operativi ( Windows, Linux etc), e qui bisogna fare una precisazione. Se carichiamo WINDOWS viene caricato il Windows BOOT LOADER e quindi abbiamo un BootLoader che carica un altro Boot Loader.
Questa Tecnica e’ chiamata anche CHAIN LOADING o caricamento a catena.