Attivare gensplash su Archlinux

Su richiesta, ho pensato di scrivere qualche riga su come abilitare gensplash per rendere grafico il boot di archlinux.

Kernel space

Per usare gensplash è necessario un kernel patchato (la patch si chiama fbsplash). Ad esempio i kernel -viper, -kamikaze e -fallen incorporano questa patch.

Userspace

Sono necessari due pacchetti, è sufficiente procedere così:

pacman -Sy gensplash initscripts-splash

Configurazione

Ora è necessario aggiungere all’immagine di initrd i file per il bootsplash.
A tal proposito va aperto il file /etc/mkinitcpio.conf, e aggiunto fbsplash in coda alla lista degli HOOKS; ad esempio:

HOOKS=”base udev autodetect ide resume fbsplash”

Infine, in coda al file aggiungere:

FBTHEMES=”darch”
FBRES=”1024×768″

A questo punto va rigenerata l’immagine di initrd:

mkinitcpio -p kernel_name (dove kernel_name è il nome del kernel)

Bootloader

L’ultima cosa da fare è aggiungere nella configurazione del bootloader il parametro da passare al kernel per visualizzare il bootsplash.

Di conseguenza deve essere aggiunto, a seconda che si voglia una schermata che nasconda il processo di boot:

splash=silent

oppure per un boot più verboso:

splash=verbose

  • pervoz

    Ho seguito la guida, ma ancora il bootsplash non appare…
    - ho installato dal tuo repo, il kernel viper
    - ho settato gli HOOKS di /etc/mkinitpio.conf
    - ho dato mkinicpio -p kernel26viper
    - ho messo splash=silent in /boot/grb/menu.list
    kernel /boot/vmlinuz26viper root=/dev/hda2 splash=silent
    ma continua a non andare…
    non è che va settatto qualcosa in /etc/rc.conf ?
    Alla fine del suddetto file c’è:

    #
    # ———————————————————————–
    # SPLASH
    # ———————————————————————–
    #
    # OPTIONAL splash support can be set here
    #
    SPLASH=”"

    # End of file

    magari li va messo qualcosa?

  • khelidan

    Ciao mi potresti indicare che errore è questo:

    [root@norway ~]# uname -r
    2.6.21-viper
    [root@norway ~]# mkinitcpio -p 2.6.21-viper
    Preset 2.6.21-viper does not exist. Exiting.

    Ho installato il kernel26viper dal tuo repo!

    Grazie!

  • pervoz

    credo che forse avrebbe voluto scrivere mkinicpio -p kernel26viper io ho usato questo comando….

  • http://pierluigi.netsons.org/ pierluigi

    @khelidan

    Ho sbagliato. Al comando va passato il nome di un preset.
    Questi li vedi con:

    ls /etc/mkinitcpio.d/*.preset

    Nel nostro caso quindi va usato:

    mkinitcpio -p kernel26viper

    @pervoz

    Nel configurare il bootloader devi anche passare al kernel un parametro per settare la risoluzione del framebuffer.

    Ad esempio vga=792 per una risoluzione di 1024×768

  • khelidan

    grazie!

    ah,nella guida ti sei dimenticato:

    splash_geninitramfs -v -g /boot/fbsplash-darch-1024×768 -r 1024×768 darch

    prima di creare l’iimagine!

  • pervoz

    nel file di configurazione di grub nella riga del kernel ho aggiunto questo:
    vga=792 video=vesafb:mtrr:3,ywrap splash=verbose,kdgraphics,theme:darch console=tty1 quiet
    adesso funziona perfettamente….
    se volessi cambiare l’immagine del bootsplash come posso fare?
    Ciao.

  • http://pierluigi.netsons.org/ pierluigi

    @pervoz, scusa il ritardo

    per cambiare l’immagine penso tu intenda cambiare il tema, quindi devi scaricare un tema per fbsplash, metterlo in /etc/splash/tuotema e sostituire “tuotema” a “darch” . Ovviamente devi rigenerare l’immagine di init, non solo cambiare la conf del bootloader.