Ho già dedicato in passato molti articoli su Archlinux  e le possibilità che offre su sistemi UEFI.

Una delle belle cose che uefi consente di fare è utilizzare fastboot.

Cosa fa fastboot?

Fastboot taglia i tempi di avvio del PC saltando il POST, lasciando poi che l'OS inizializzi le periferiche.

Il caso tipo è quello di un bel pc con ssd, si avvia in una manciata di secondi ma il post ruba tempo, con fastboot questo non succede.

Ma fastboot ha un problema, secondo Asus (il produttore della mia scheda madre..) è una feature Windows 8 only.

Erano mesi che avevo la scimmia sulla schiena e volevo replicare questa funzionalità a tutti i costi.

Ho notato che ubuntu offre in grub la possibilità di accedere ad uefi ma c'è un problema, con fastboot abilitato non potrete utilizzare grub perché la tastiera non sarà ancora pronta.

Cosa serve?

Una installazione Archlinux su uefi (boot con efibootmgr), una vga uefi compatibile ed un po' di pazienza.


Come fare quindi?

Ho adottato un approccio Windows 8 like, cioè con una icona a prova di chiunque che mi permette di avere il mio amato fastboot senza rinunciare alla possiblità di entrare nel firmware uefi.

Step 1:
installare e configurare, come da wiki, grub  e generare il file di configurazione .

N.B.: questo stravolgerà l'ordine di avvio preimpostato, vediamo dopo come sistemare.


Step 2:
Col vostro editor di testo preferito aprite il file /boot/grub/grub.cfg e inserite alla fine del file questa entry

menuentry 'System setup' $menuentry_id_option 'uefi-firmware' {
    fwsetup
}

È consigliabile anche rimuovere le voci per Archlinux e Archlinux fallback, così da non incappare nel problema che ha Ubuntu, oltre che settare il time out a 0-

Per i più pigri, ecco il mio file:

https://drive.google.com/file/d/0BzfrO8t3aHoAVjh2OXQ3X1RreUE/view?usp=sharing


Step 3:
Occorre creare uno script che permetta di eseguire "uefibootmgr -n xxxx && reboot"

Le possibilità sono molte per farlo, io che ho sudo senza password ho creato uno script semplicissimo.

Nel mio caso lo script contiene questo:

sudo efibootmgr -n 0004 && sudo reboot 

N.B.: dovrete identificare  le voci del bootorder con efibootmgr trovare quelle specifiche del vostro sistema


Si, ho pasticciato un po troppo con uefi, un giorno cancellerò le entry extra!






Io ho piazzato per comodità lo script in /bin, ma rimane comunque la possibilità di metterlo dove volete.

N.B.: lo script dovrà avere i permessi di esecuzione!


Step 4:
Creare il file .desktop è semplice : con un editor di testo create un file con dentro questo:


[Desktop Entry]
Name=Uefi setup
Comment=Reboot in uefi
Exec=uefisetup
Icon=/usr/share/icons/Adwaita/48x48/actions/system-run.png
Terminal=false
Type=Application
Categories=GNOME,System;
Name[it_IT]=Riavvia in UEFI

salvatelo col nome che preferite e ricordate di far puntare la voce "icon" al file icona che preferite.


Step 5:
Sistemate l'ordine di avvio  in modo che la prima a partire sia la voce  creata con efibootmgr (come indicato nella mia precedente guida) cliccate sul vostro file .desktop  per riavviare dentro il firmware uefi ed andare ad abilitare fastboot!.


Eccolo qua nella mia dash, pronto da cliccare!

ecco un piccolo video dove si vede lo script all'opera



Per chi se la fosse persa, ecco la guida che ho postato tempo fa su uefi:

La guida definitiva di Marco's Box a UEFI 0 Commenti

Nota finale: a quanto pare siamo ben pochi al mondo a sperimentare su questo fronte, qualsiasi integrazione e/o suggerimenti sono benvenuti.