[Risolto] Personalizzare grub2

Vorrei che il mio f18 fosse il so di default nell’avvio di grub e magari vorrei cambiare l’immagine dello sfondo.
Pur essendo due richieste differenti riguardano la personalizzazione del mio boot loader. Come posso manipolarlo?
Grazie!

devi modificare (da root) il file ‘/boot/grub2/grub.cfg’. nella riga:

set default=“0”

metti il numero della riga corrispondente a Fedora nella lista di GRUB (la prima riga è 0)

per cambiare l’immagine di sfondo devi modificare i temi, li trovi nella cartella ‘/boot/grub2/themes/’ (lo sfondo dovrebbe essere il file ‘/boot/grub2/themes/system/background.png’ o ‘fireworks.png’)

Con la prima richiesta siamo ok. Per quanto riguarda la seconda,

Cosa intendi con modificare? Come mi consigli di procedere?
EDIT:È sufficiente mettere un altro file .png con quei nomi e sostituirlo con gli originali?

non saprei, non ho mai modificato un tema. meglio se attendi il parere di un esperto, altrimenti rischi di fare casini.

cmq una volta per cambiare l’immagine di sfondo bastava modificare il file ‘/etc/default/grub’ aggiungendo le linee:
GRUB_BACKGROUND=
GRUB_GFXMODE=x, tipo 800x600,
e aggiornare grub:

#grub2-mkconfig -o /boot/grub2/grub.cfg

ma forse su F18 questa tecnica non funziona più.

@marvolo93
Mi posti:

$ ls /boot/grub2/{,fonts}

e anche:

$ cat /etc/default/grub

Inoltre sposta l’immagine png che vuoi nella cartella /boot (per semplicità) e poi vediamo com’è messa.
Ad esempio:

[code]# cp /home/pippo/immagine.png /boot/immagine.png

file /boot/immagine.png[/code]

Grazie per le risposte, ecco quanto chiesto:

[code]Roberto@localhost ~$ ls /boot/grub2/{,fonts}
/boot/grub2/:
device.map fonts grub.cfg grub.cfg~ grubenv i386-pc locale themes

/boot/grub2/fonts:
unicode.pf2
Roberto@localhost ~$ cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed ‘s, release .*$,g’ /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_CMDLINE_LINUX=“rd.md=0 rd.lvm=0 rd.dm=0 $( -x /usr/sbin/rhcrashkernel-param ] && /usr/sbin/rhcrashkernel-param || :slight_smile: rd.luks=0 vconsole.keymap=it2 rhgb quiet”
GRUB_DISABLE_RECOVERY=“true”
GRUB_THEME="/boot/grub2/themes/system/theme.txt"
Roberto@localhost ~$ su -
Password:
[root@localhost ~]# cp /home/Roberto/Scaricati/teta.png /boot/teta.png
[root@localhost ~]# file /boot/teta.png
/boot/teta.png: PNG image data, 800 x 600, 8-bit/color RGB, non-interlaced
[/code]

Per quanto riguarda il problema dell’immagine, ecco la parte finale del mio /etc/default/grub:

$ cat  /etc/default/grub
[cut]
#GRUB_THEME="/boot/grub2/themes/system/theme.txt"
GRUB_BACKGROUND=/boot/VenereSuSole06062012.jpg

Come vedi, ho commentato la riga che inizia con GRUB_THEME inserendo un cancelletto (#) all’inizio della riga, ed aggiunto la riga GRUB_BACKGROUND con il nome dello file che viene visualizzato come sfondo che da grub all’avvio.
Ovviamente, dopo aver effettuato le modifiche a /etc/default/grub, va dato

# grub2-mkconfig -o /boot/grub2/grub.cfg

Ora vediamo…

[root@localhost ~]# gedit cat /etc/default/grub [root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg Creazione di grub.cfg... Trovato sfondo: /boot/teta.png Trovata immagine linux: /boot/vmlinuz-3.8.7-201.fc18.x86_64 Trovata immagine initrd: /boot/initramfs-3.8.7-201.fc18.x86_64.img Trovata immagine linux: /boot/vmlinuz-3.8.5-201.fc18.x86_64 Trovata immagine initrd: /boot/initramfs-3.8.5-201.fc18.x86_64.img Trovata immagine linux: /boot/vmlinuz-3.8.1-201.fc18.x86_64 Trovata immagine initrd: /boot/initramfs-3.8.1-201.fc18.x86_64.img Found linux image: /boot/vmlinuz-3.8.7-201.fc18.x86_64 Found initrd image: /boot/initramfs-3.8.7-201.fc18.x86_64.img Found linux image: /boot/vmlinuz-3.8.5-201.fc18.x86_64 Found initrd image: /boot/initramfs-3.8.5-201.fc18.x86_64.img Found linux image: /boot/vmlinuz-3.8.1-201.fc18.x86_64 Found initrd image: /boot/initramfs-3.8.1-201.fc18.x86_64.img Trovato Ubuntu 12.10 (12.10) su /dev/sda1 Trovato elementary OS Luna (0.2) su /dev/sda5 Trovato Fuduntu 2013.1 (Punny Name Serious Distro) su /dev/sda7 fatto [root@localhost ~]#
…se funziona :wink:

Ok diciamo che non è cambiato nulla. Damn
EDIT: Potrebbe essere che non sto lavorando sulla cartella giusta? Magari il mio boot è su un altro percorso?

Non dovrebbe dipendere da quello.
Secondo me devi adattare l’immagine al tuo schermo. Vediamo:

$ xrandr

Roberto@localhost ~$ xrandr Screen 0: minimum 320 x 200, current 1024 x 600, maximum 4096 x 4096 LVDS1 connected primary 1024x600+0+0 (normal left inverted right x axis y axis) 222mm x 125mm 1024x600 60.0*+ 800x600 60.3 56.2 640x480 59.9 VGA1 disconnected (normal left inverted right x axis y axis)

Ok, hai già commentato la riga GRUB_THEME e poi dato un aggiornamento a grub2?

Poi riadatterei l’immagine a 1024x600, ad esempio così:

$ convert -resize 1024x600 input.png output.png

e aggiungerei al file /etc/default/grub questo:

GRUB_GFXMODE=1024X600x32 GRUB_GFXPAYLOAD_LINUX=keep GRUB_BACKGROUND=/percorso/alla/tua/immagine.png
quindi un update a grub2.

NON MODIFICARE DIRETTAMENTE /BOOT/GRUB2/GRUB.CFG O RISCHI DI FARE CASINI IRREPARABILI.
Detto questo: modifica /etc/default/grub a tuo piacimento, se non vuoi il tema ma l’immagine commenta l’opzine

GRUB_THEME

e aggiungi

GRUB_BACKGROUND

se mi posti il tuo /etc/default/grub posso darti un indizio (cat /etc/default/grub)

Più che altro probabilmente non verrà caricato correttamente il kernel, ma comunque al prossimo update di grub2 tutte le modifiche verranno sovrascritte…

Inoltre marvolo93 ha già postato /etc/default/grub:

[quote]... Roberto@localhost ~$ cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_CMDLINE_LINUX="rd.md=0 rd.lvm=0 rd.dm=0 $( -x /usr/sbin/rhcrashkernel-param ] && /usr/sbin/rhcrashkernel-param || :) rd.luks=0 vconsole.keymap=it2 rhgb quiet" GRUB_DISABLE_RECOVERY="true" GRUB_THEME="/boot/grub2/themes/system/theme.txt"[/quote]

Scusate il ritardo, ma mi è mancata la connessione per qualche tempo. Seguendo i consigli di bebo_sudo e qualche altra ricerca sono riuscito a personalizzare grub! Grazie a tutti!

Bene così.

Potresti togliermi un dubbio mio personale postandomi questo?

$ cat /etc/default/grub | grep 'GRUB_BACKGROUND'

Roberto@localhost ~$ cat /etc/default/grub | grep 'GRUB_BACKGROUND' GRUB_BACKGROUND=/boot/teta1.png

bene. grazie mille.