Boot the System: EFI, Boot Loader

EFI / UEFI

Nuova tecnologia introdotta nei computer in commercio, EFI e’ di INTEL ma e’ un progetto abbandonato nel 2005, per riprendere il concetto ma sotto nome di UEFI successivamente. UEFI sta per UNIFED EXTENSIBLE FIRMWARE INTERFACE.

A differenza del BIOS e’ tutt’altra cosa e’ infatti un firmware con interfaccia. UEFI puo’ caricare sistemi UEFI e sistemi LEGACY. E’ un firmware complesso che richiede una partizione su un disco per fare il boot, e’ a supporto ai driver con una shell ( la shell UEFI). UEFI puo’ leggere il contenuto delle partizioni vedi fig associata UEFI1. In UEFI per fare il Boot abbiamo una serie di stringhe di programmazione a differenza di BIOS dove ragionavamo in chiamate in ASSEMBLY.

In Linux abbiamo due distinti bootloader :

LILO e GRUB

LILO sta per LInux LOader

GRUB sta per GNU Grand Unified BootLoader

LILO e GRUB sono due Bootloader per il Sistema BIOS

Sui Sistemi UEFI abbiamo

ELILO (EFI LILO)
GRUB 2.0

GRUB 2.0 e’ ancora in grado di fare il Boot per Sistemi UEFI che per sistemi BIOS.

Una volta che il BootLoader carica il Kernel, eventualmente l’INITRD, e viene completato il caricamento del Kernel,normalmente quet’ultimo avvia il processo:

/sbin/init

Il PID sara’ sempre 1. Lo scopo di questo init.. ? INIT fa pertire tutti i processi, rimane quindi attivo fino allo spegnimento del pc e ha come figli tutti glio altri processi.

Sui sistemi che fanno uso del tradizionale SystemVinit, il processo sara’ sempre chiamato init ma con i nuovi sistemi con System D /sbin/init e’ un collegamento SIMBOLICO a lib/systemd/systemd.

Con sistemi che utilizzano systemd abbiamo le units, nel senso di unita’
Alcuni esempi di units possono essere:

.service
.device
.mount
.automount
.time
.snapshot
.path

Se il sistema, carica il kernel, ma fallisce nell’avviare l’init possiamo provare a ripristinarlo avviando un programma differente all’avvio.
Ad esempio specificando all’avvio come init —->bin.sh
In tale modo avviamo una shell con privilegi di root dalla quale siamo in grado di riparare il sistema.