Newsgroup: it.comp.os.linux.iniziare
Titolo: Un'alternativa a Grub2

Ho installato la Debian (current, cioe' stable) dal primo DVD + rete
(expert semigrafica) in un disco fisso vergine e su macchina nuova
intel amd64.
 
L'installer non ha piu' LILO, ha solo Grub2. Anche a installazione
finita ho visto che elilo non esiste piu' come pacchetto (finora ho
usato sempre e solo lilo con MBR e mai GPT).
 
Ebbene, io grub non lo sopporto [*], sapete/conoscete un qualsiasi
altro boot loader e/o boot manager da consigliarmi grazie?
 
---------
[*] A parte che non e' - credo! - possibile evitare che grub si metta a
curiosare prepotentemente su tutti i MIEI dischi fissi, scrive in testa
a /boot/grub.conf [vado a memoria] di NON editare. Cosi' anche in tutte
le manpagine non ho trovato modo di passare al kernel "video=640x480" e
la console mi risulta illeggibile (ci vorrebbe un telescopio).
(con lilo aggiungevo la direttiva append="video=640x480" in lilo.conf)
 
-- 
Yoda
 

 (con lilo aggiungevo la direttiva append="video=640x480" in lilo.conf)
 
Direttive del genere le puoi aggiungere in /etc/default/grub
 
Per rendere effettiva qualunque modifica che apporti devi poi dare il
comando
 
# update-grub
 


Avvo partecipato tempo fa ad una discussione sul tema, sul forum di
slacky.eu
, ecco il link al post che potrebbe interessare anche per
il caso di debian credo:
 
https://slacky.eu/forum/viewtopic.php?p=355107#p355107
 
 
In pratica come dice Tony, quando si lancia update grub, lui esegue
degli script suoi più o meno elaborati o complessi che cercano di
costruire automagicamente il menù di avvio. Questi script si trovano
come detto nella dir:
--
/etc/grub.d
--
Puoi comunque decidere di togliere i permessi di esecuzione quelli
che non ti garbano, esempio:
--
chmod -x /etc/grub.d/10_linux
ecc
ecc
--
 
Io ho lasciato solo quello che crea l’intestazione e inizializza un
po’ di roba di grub.
Poi mi sono scritto le “entries” personalizzate per le sole voci
che voglio vedere a video all’avvio del PC.
 
Ecco quali script vengono considerati al lancio di “grub mkconfig”,
o di update-grub nel caso di debian (puoi chiamarli come vuoi, ma
tieni conto e che il numerino davanti determina l'ordine in cui
vengono eseguiti, quindi quello d'intestazione lasciamolo come lo
troviamo, gli altri puoi sbizzarrirti come ti pare):
--
ls -l /etc/grub.d/|grep ’x ’
-rwxr-xr-x 1 root root  7552 giu 13  2016 00_header
-rwxr-xr-x 1 root root  1636 gen  9 15:12 42_slackware
-rwxr-xr-x 1 root root   936 gen  9 14:56 43_custom
--
 
Ok, riporto solo una voce  contenuta nel file 42_slackware
--
menuentry 'Slackware 14.2+ Current | Kernel Generic' {
        savedefault
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod ext2
        set root='hd0,gpt4'
        echo    'caricamento linux vmlinuz-generic...'
        linux   /boot/vmlinuz-generic root=/dev/sda4 ro
        initrd  /boot/initrd-generic.img
}
--
 
Le voci importanti sono:
 
- va be' il titolo è quello che poi vedi a video al boot
 
- set root='hd0,gpt4'  --> mi avvia il sistema installato
  nella partizione 4 del primo disco (per gli amici /dev/sda4)
 
- linux /boot/vmlinuz-generic root=/dev/sda4 ro
  qua puoi lanciare il kernel che più ti aggrada coi parametri
  che vuoi, massimo controllo, come con lilo per capirci
 
- initrd ...
  specifichi quale initrd caricare in accoppiata al kernel,
  può anche non servire dipende ad esempio dal filesystem
  compilato nel kernel in questione, se ha ext4 come modulo
  e il filesystem del sistema è ext4, allora serve, pena un
  bel kernel panic all'avvio.
 
Le altre direttive che vedi sono spiegate nel man grub...
Anzi nella documentazione in rete di grub2.
 
Una cosa importante: se /boot/vmlinuz-generic è un link
simbolico ad un certo kernel e idem per la initrd-genric,
quando aggiorni il kernel e ricrei una nuova initrd puoi
semplicemente ricreare i due link simbolici con lo stesso
nome di prima e non avrai bisogno di editare il file
42_slackware e pertanto neanche di lanciare update-grub per
ricreare il grub.cfg: va già bene quello vecchio.
 
In allegato al post del forum linkato sopra avevo anche
messo i files degli script e il grub.cfg che salta fuori.
Alla fine usato così grub2 è circa come lilo, dal punto
di vista del controllo e della configurazione.
Poi ha un sacco di altre funzionalità che come hai notato
cercano i kernel in ogni dove tra le partizioni dei dischi
ecc... Quello non piace neanche a me, anche perché poi alla
fine sbagliano anche facilmente. Quindi anch’io preferisco
una cosa un attimo più manuale, tanto mica lo cambio tutti
i giorni il kernel.
 

 i giorni il kernel.
 
Si vede che vieni dalla grande Slack (il primo amore non si scorda mai,
era stata la mia prima e l'ho tenuta per anni) ariciao
 
P.S. Ho provato a installare refind, pero' e' ancora peggio perche' e'
solo un - totalmente inutile! - boot manager e in fin dei conti grub
non dev'essere neanche tanto male, basta imbavagliarlo!
 
-- 
Yoda
 

 non dev'essere neanche tanto male, basta imbavagliarlo!
 
Come hai capito è un bootmanager non un bootloader, invece grub2
fa entrambe le cose. Se usi un bootmanager immagino che tu debba
poi installare un bootloader nel superblocco della partizione che
contiene il kernel (cioè la root “/” o la “/boot” se l’hai separata).
Tanto vale fare tutto con Grub2 e via.
Alla fine per avviare il sistema senza fare cose strane è molto più
facile di quanto si pensi (anche io non l’avevo mai approfondito,
abituato a lilo, ma tutto sommato, appunto se imbavagliato è
facilmente controllabile... Ovvio che bisogna sapere che comandi
dargli, ma questo valeva anche per lilo).

 dargli, ma questo valeva anche per lilo).
 
Si', questo grub2 e' totalmente diverso dal grub da incubo che
ricordavo, e' tutto rifatto, flessibilissimo e del tutto simile
a lilo, proprio "molto piu' facile di quanto si pensi" come dici.
Tutto ok, come ho scritto a Tony nell'altro thread grazie ancora ciao
 
-- 
Yoda