ELILO
È davvero difficile per me decidere quale parte di quello copiare + incollare perché è tutto davvero buono, quindi ti chiederò solo per favore di leggerlo.
Rod Smith
Autore e mantiene entrambi gdisk
e rEFInd
.
Ma prima di farlo vorrei commentare un po '. Il link ELILO sopra è ad una delle tante pagine sull'avvio di UEFI che troverai su rodsbooks.com scritto da Rod Smith. È un abile scrittore tecnico e se hai mai cercato su Google il tema dell'avvio di UEFI e hai finito per non leggere qualcosa del suo, è stato probabilmente perché hai saltato i primi risultati.
Avvio UEFI Linux
Fondamentalmente, il kernel Linux può essere eseguito direttamente dal firmware.
Nel link sopra menziona il caricatore di stub EFI del kernel Linux - questo è ciò che dovresti usare, secondo me, poiché consente al kernel Linux di essere chiamato direttamente dal firmware stesso. Indipendentemente da ciò che stai facendo qualcosa viene eseguito dal firmware - e sembra che qualcosa lo sia grub
. Se il firmware può caricare direttamente il tuo kernel OS, a che serve un bootloader? Il firmware UEFI monta una partizione GPT formattata FAT contrassegnata da esp dalla tabella delle partizioni ed esegue un percorso lì che ha salvato come variabile di avvio UEFI in un modulo di memoria flash integrato. Quindi una cosa che potresti fare è mettere il kernel Linux su quella partizione FAT e memorizzare il suo percorso in quella variabile di avvio. Improvvisamente il kernel è suo boot loader.
bootloader
Sui sistemi UEFI, i bootloader sono ridondanti - ELILO incluso.
Il problema che i bootloader sono stati progettati per risolvere è che i sistemi BIOS leggono solo nel primo settore della partizione contrassegnata da boot ed eseguono. È un po 'difficile fare qualcosa di significativo con un kernel da 512 byte, quindi la cosa comune da fare era scrivere una piccola utility che potesse montare un filesystem dove hai mantenuto il kernel reale e caricarlo a catena.
In effetti, i 512 byte spesso non erano sufficienti nemmeno per i bootloader. grub
, per esempio, in realtà si carica da solo prima di caricare a catena il kernel, perché incunea il suo secondo stadio nello spazio vuoto tra il settore di avvio e il primo settore del file system. È un po 'un trucco sporco, ma ha funzionato.
gestore di avvio
Per motivi di facile configurazione, tuttavia, alcuni passaggi possono essere utili.
Quello che fa rEFInd di Rod Smith è il lancio come applicazione EFI - questo è un concetto relativamente nuovo. È un programma che viene eseguito dal disco dal - e che ritorna al - firmware. Ciò che fa rEFInd è consentire di gestire i menu di avvio e quindi restituire la selezione di avvio al firmware da eseguire. Viene fornito con i driver del file system UEFI - quindi, ad esempio, è possibile utilizzare il caricatore EFI-stub del kernel su una partizione non-FAT (come quella corrente /boot
). È semplicissimo da gestire - se è assolutamente necessario - e aggiunge la semplicità di un kernel di sistema eseguibile alla comodità di un bootmanager configurabile.
Indiretto atomico
Il kernel non ha bisogno di collegamenti simbolici - può mount --bind
.
Se c'è qualche percorso sul /
quale dovresti impedire il collegamento simbolico, lo è /boot
. Un collegamento simbolico orfano non/boot
è il tipo di problema che dovresti mai dover risolvere. Tuttavia, è una pratica abbastanza comune impostare indirette elaborate da diverse distribuzioni - anche se è un'idea orribile - al fine di gestire gli aggiornamenti sul posto sul posto e / o più configurazioni del kernel./boot
Questo è un problema per i sistemi EFI non configurati per caricare i driver del filesystem (come quelli forniti con il pacchetto rEFInd) perché FAT è un file system abbastanza stupido in generale e non li comprende.
Non utilizzo personalmente i driver del file system UEFI forniti con rEFInd, sebbene la maggior parte delle distribuzioni includa un pacchetto rEFInd che può essere installato tramite il gestore dei pacchetti e dimenticato di usare semplicemente la propria terribile /boot
configurazione con collegamento simbolico e i driver del file system UEFI impacchettati di rEFInd.
My Config
Una volta ho scritto una serie di istruzioni e l' ho pubblicato qui , ma sembra:
% grep esp /etc/fstab &&
> ls /esp/EFI
LABEL=ESP /esp vfat defaults 0 1
/esp/EFI/arch_root /boot none bind,defaults 0 0
arch_root/ arch_sqsh/ arch_xbmc/ BOOT/ ipxe/
Quindi ho semplicemente inserito queste due righe nel mio /etc/fstab
puntamento a una cartella che ho intenzione di contenere la nuova installazione di Linux /boot
e ho quasi finito di preoccuparmi di tutto. Devo anche fare:
cat /boot/refind_linux.conf
"Arch" "root=LABEL=data rootflags=subvol=arch_root,rw,ssd,compress-force=lzo,space_cache,relatime"
Oltre a installare il refind-efi
pacchetto tramite pacman
il primo, è tutto ciò che serve per installare tutte le installazioni / configurazioni separate che desidero. Nota che la maggior parte di quella stringa sopra è costituita da opzioni di mount specifiche di btrfs specificate come parametri del kernel. Un più tipico /boot/refind_linux.conf
sarebbe probabilmente simile a:
"Menu Entry" "root=/dev/sda2"
E questo è tutto ciò che serve.
rodsbooks.com
Se desideri ancora ELILO, puoi trovare le istruzioni di installazione al link sopra. Se vuoi ritrovare, troverai i collegamenti ad esso nel primo paragrafo lì. Fondamentalmente se si desidera eseguire una configurazione di avvio UEFI, leggere prima rodsbooks.com .