Splashscreen: è possibile?

Se avete problemi con l'installazione e la configurazione di Slackware64 postate qui. Non usate questo forum per argomenti che trattano la Slackware32 o generali... per quelli usate rispettivamente il forum Slackware e Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware64 usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware64, se l'argomento è Slackware32 o generale usate rispettivamente il forum Slackware o Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
susumella
Linux 2.x
Linux 2.x
Messaggi: 455
Iscritto il: mar 25 mag 2004, 0:00

Splashscreen: è possibile?

Messaggio da susumella »

Ciao a tutti,
scusate se vi scrivo per una totalmente inessenziale, ma ogni tanto mi prendono questi attacchi...
Tempo fa, su un altro pc (a 32 bit) ero riuscito (non senza una quantità importante di bestemmie) ad installare un bootsplash con una progressbar all'avvio della slack, al posto del log di caricamento.
A distanza di n anni (dove n>=15) oggi ho una splendida macchina a 64bit con EFI e grub2 con linux (Ubuntu, ahimé) nativo, in cui è presente il logo del produttore all'avvio. Cosa che ovviamente non avviene con slackware (dual boot) e non so come possa fare una roba del genere. E mi rode: perché se avvio Ubuntu vedo un'immagine (o il log, a mia scelta) mentre se avvio slack devo per forza vedere il log della console?
Ho ovviamente già cercato qui sul forum e su zio Google, ma non sono riuscito a trovare NULLA.
Se c'è qualcuno che riesce a darmi una mano, ne sarei grato.
Grazie
Susu

susumella
Linux 2.x
Linux 2.x
Messaggi: 455
Iscritto il: mar 25 mag 2004, 0:00

Re: Splashscreen: è possibile?

Messaggio da susumella »

E niente, ritorno a bomba... sto cercando sia qui che su google ma non c'è davvero nulla in merito, tolto questo https://www.slackwiki.com/Bootsplash che però mi sembra abbastanza datato (e, soprattutto, non vedo il comando "splash" in nessun pacchetto attuale). Ho letto qualcosa su plymouth, ma non capisco come si configura...

Avatar utente
Rama
Linux 3.x
Linux 3.x
Messaggi: 554
Iscritto il: sab 29 mar 2008, 12:18
Slackware: 15.0 x86_64
Kernel: 5.15.117
Desktop: KDE 5.23
Distribuzione: linuxmint-21.1-xfce
Località: Novara, provincia

Re: Splashscreen: è possibile?

Messaggio da Rama »

non so se possa servire, in lilo.conf vedo:
#bitmap = /boot/tuxlogo.bmp

susumella
Linux 2.x
Linux 2.x
Messaggi: 455
Iscritto il: mar 25 mag 2004, 0:00

Re: Splashscreen: è possibile?

Messaggio da susumella »

uso grub2, ma grazie!

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Splashscreen: è possibile?

Messaggio da rik70 »

Ma parli del logo del produttore della scheda madre, o dell'hardware, che rimane a schermo fino all'avvio dell'ambiente grafico, oppure dello splash screen che usualmente utilizzano Ubuntu/Debian, etc. ?

susumella
Linux 2.x
Linux 2.x
Messaggi: 455
Iscritto il: mar 25 mag 2004, 0:00

Re: Splashscreen: è possibile?

Messaggio da susumella »

A me piacerebbe uno splash screen al posto del log del kernel, fino all'avvio dell'ambiente grafico

Avatar utente
Rama
Linux 3.x
Linux 3.x
Messaggi: 554
Iscritto il: sab 29 mar 2008, 12:18
Slackware: 15.0 x86_64
Kernel: 5.15.117
Desktop: KDE 5.23
Distribuzione: linuxmint-21.1-xfce
Località: Novara, provincia

Re: Splashscreen: è possibile?

Messaggio da Rama »

non capisco, ho trovato molte guide, ad es. questa non andrebbe bene?
https://askubuntu.com/questions/79500/h ... uring-boot
però trovo più scenografico il log, specie per impressionare i windowisti dandomi arie da hacker;

EDIT
qui trovi (hack8) una dettagliata spiegazione ma si riferisce a Debian e dice che non c'è un modo semplice per la Slack, però parla di kernel 2.6 da compilare, penso che nei kernel recenti framebuffer e altro siano di serie:
https://books.google.it/books?id=_M7LH3 ... og&f=false

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Splashscreen: è possibile?

Messaggio da rik70 »

E' fattibile, però su Slackware c'è parecchio lavoro da fare.

La premessa, utilizzando gli strumenti attuali, è ottenere 'un avvio silenzioso'.
Bisogna evitare il più possibile che venga scritto "qualcosa" a schermo durante l'avvio del sistema, e su Slack non è semplice:
- bisogna modificare l'initrd e sopprimere tutte le stringhe "echo" che non siano "errori" che si trovano nell'init - /boot/intrd-tree/init;
- stessa cosa per gli script di avvio in /etc/rc.d/
- silenziare grub editando il cfg generato e passare alcuni parametri al kernel.

Fatto questo - se mai fosse realmente possibile "zittire" tutto - hai 2 modi per ottenere uno splash al boot:
- se usi UEFI, devi ricompilare il kernel stock abilitando l'opzione

Codice: Seleziona tutto

CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y
Il risultato è che durante il boot vedi il logo del produttore dell'hardware sino a un certo punto - login grafico o su tty.
- utilizzare plymouth. E qui son dolori: teoricamente bisognerebbe "caricarlo" nell'initrd e qui si aprirebbe un capitolo a parte e complesso.
- o infine una combinazione dei due metodi.

Ho realizzato un video del boot di Slackware su macchina virtuale utilizzando la terza opzione.
Non so però dove caricarlo: qui non me lo consente, anche se è meno di 1MB ed è in formato gzip.
E' un accrocchio abbastanza penoso - plymouth viene gestito non dall'initrd, ma da rc.S. rc.M, rc.6 - ma il risultato dimostra che si potrebbero fare le cose per bene.

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 3022
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 6.6.16
Desktop: lxde
Località: Pisa
Contatta:

Re: Splashscreen: è possibile?

Messaggio da ponce »

si, giustamente se non lo integra Pat (non dico che secondo me sarebbe il caso che lo facesse, eh, anzi) la strada e' tutta in salita e non la vedo assolutamente di facile manutenibilita': sulla sua homepage
Plymouth isn't really designed to be built from source by end users. For it to work correctly, it needs integration with the distribution. Because it starts so early, it needs to be packed into the distribution's initial ram disk, and the distribution needs to poke plymouth to tell it how boot is progressing.

susumella
Linux 2.x
Linux 2.x
Messaggi: 455
Iscritto il: mar 25 mag 2004, 0:00

Re: Splashscreen: è possibile?

Messaggio da susumella »

Rama ha scritto:
mar 3 ott 2023, 12:40
non capisco, ho trovato molte guide, ad es. questa non andrebbe bene?
https://askubuntu.com/questions/79500/h ... uring-boot
però trovo più scenografico il log, specie per impressionare i windowisti dandomi arie da hacker;

EDIT
qui trovi (hack8) una dettagliata spiegazione ma si riferisce a Debian e dice che non c'è un modo semplice per la Slack, però parla di kernel 2.6 da compilare, penso che nei kernel recenti framebuffer e altro siano di serie:
https://books.google.it/books?id=_M7LH3 ... og&f=false
Sì, è proprio questo il problema... qualcosa magari si trova anche, ma risale al tardo medioevo, per cui non so se sono guide ancora affidabili (ne dubito) per i kernel più recenti.

susumella
Linux 2.x
Linux 2.x
Messaggi: 455
Iscritto il: mar 25 mag 2004, 0:00

Re: Splashscreen: è possibile?

Messaggio da susumella »

ponce ha scritto:
mar 3 ott 2023, 20:25
si, giustamente se non lo integra Pat (non dico che secondo me sarebbe il caso che lo facesse, eh, anzi) la strada e' tutta in salita e non la vedo assolutamente di facile manutenibilita': sulla sua homepage
Plymouth isn't really designed to be built from source by end users. For it to work correctly, it needs integration with the distribution. Because it starts so early, it needs to be packed into the distribution's initial ram disk, and the distribution needs to poke plymouth to tell it how boot is progressing.
Ed invece secondo me dovrebbe... so bene che la filosofia slack è diversa da quella delle altre distro, ma mi ostino a non capire perché dobbiamo sempre limitarci. Di certo uno splash screen non ti cambia la vita, ma sembra in generale che l'estetica sia quasi un'eresia in questa distro. La uso dai primi anni 2000, l'ho abbandonata un paio di volte per altre esigenze, e quando sono tornato l'ho sempre trovata ferma a dove l'avevo lasciata. In 24 anni, dalla 9.0 (se non sbaglio è la prima che ho utilizzato, o forse la 7.qualcosa) ad oggi è cambiato davvero poco (rispetto a molte altre distro): ricordo ancora la guerra per far sì che HAL riconoscesse le chiavette usb (anche se i duri e puri sostenevano che bisognasse montare tutto a mano), o la ricompilazione dei kernel per trovare la configurazione più corretta della mia macchina dell'epoca. Oggi, per fortuna, questi problemi sono superati, ma ho sempre la sensazione di rimanere indietro su qualche punto. Me ne farò una ragione...
Grazie a tutti!

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Splashscreen: è possibile?

Messaggio da rik70 »

ponce ha scritto:
mar 3 ott 2023, 20:25
Plymouth isn't really designed to be built from source by end users. For it to work correctly, it needs integration with the distribution. Because it starts so early, it needs to be packed into the distribution's initial ram disk, and the distribution needs to poke plymouth to tell it how boot is progressing.
Che poi alla fine anche sulla Slack non sarebbe così difficile.
Fermo restando quanto detto sul "silenziamento", a partire dall'initrd, una volta installato plymouth:

Codice: Seleziona tutto

mkdir -pv /boot/initrd-tree/usr/share/plymouth/themes
cp -av /usr/share/plymouth/themes/spinner /boot/initrd-tree/usr/share/plymouth/themes
cp -av /usr/share/plymouth/plymouthd.defaults /boot/initrd-tree/usr/share/plymouth
cp -av /usr/sbin/plymouthd /usr/bin/plymouth /boot/initrd-tree/bin/
Poi, in /boot/initrd-tree/init

Codice: Seleziona tutto

[...]
# If udevd is available, use it to generate block devices
# else use mdev to read sysfs and generate the needed devices 
if [ -x /sbin/udevd -a -x /sbin/udevadm ]; then
  /sbin/udevd --daemon --resolve-names=never
  /sbin/udevadm trigger --subsystem-match=block --action=add
  /sbin/udevadm settle --timeout=10
else
  [ "$DEVTMPFS" != "1" ] && mdev -s
fi

#plymouth
[[ "$RUNLEVEL" != "1" ]] && /bin/plymouthd

Codice: Seleziona tutto

[...]
# Load kernel modules (ideally this was already done by udev):
if [ ! -d /lib/modules/$(uname -r) ]; then
  echo "No kernel modules found for Linux $(uname -r)."
elif [ -x ./load_kernel_modules ]; then # use load_kernel_modules script:
#  echo "${INITRD}:  Loading kernel modules from initrd image:"
  . ./load_kernel_modules
else # load modules (if any) in order:
  if ls /lib/modules/$(uname -r)/*.*o 1> /dev/null 2> /dev/null ; then
#    echo "${INITRD}:  Loading kernel modules from initrd image:"
    for module in /lib/modules/$(uname -r)/*.*o ; do
      /sbin/modprobe $module
    done
    unset module
  fi
fi

#plymouth
/bin/plymouth --show-splash

Codice: Seleziona tutto

[...]
unset ERR
mount -o move /proc /mnt/proc
mount -o move /sys /mnt/sys
mount -o move /run /mnt/run

[ "$DEVTMPFS" = "1" ] && mount -o move /dev /mnt/dev
# echo "${INITRD}:  exiting"
#plymouth
/bin/plymouth --newroot=/mnt
exec switch_root /mnt $INIT $RUNLEVEL
Si rigenera l'initrd senza -il flag '-c' e ora plymouth parte dall'initramfs come deve.

Poi bisogna gestirlo sui diversi run level, come fanno le distribuzione che lo utilizzano.
In rc.M ad esempio bisognerebbe "chiuderlo"; l'accrocchio mio è questo

Codice: Seleziona tutto

[...]
# Start the local setup procedure.
if [ -x /etc/rc.d/rc.local ]; then
  /etc/rc.d/rc.local
fi

# All done.
# plymouth
(sleep 5 && /usr/bin/plymouth quit && clear) &
e fa parecchio pena.
Poi occorre farlo ripartire in rc.6

Codice: Seleziona tutto

[...]
# Set the path.
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
## plymouth
sleep 3
/usr/sbin/plymouthd
#sleep 5
sleep 3
/usr/bin/plymouth --show-splash
sleep 3
## end plymouth
Funziona ma.... ne vale pena?
Boh... a seconda dei gusti.
C'è un unico problema quando fa lo "switch" del filesystem in /mnt - vedi parte finale di /boot/initrd-tree/init:
a schermo compare per un attimo qualcosa tipo "INIT <VERSIONE> Booting" che da un leggero "tremolio".
Non credo si possa silenziare - non ho trovato nulla negli script di init.

Comunque, tutto questo per dire: la Slack è la Slack e può fare anche queste cose ^^

** Se riesco a non sparpagliare dati personali a destra e a manca posto il video del boot.

susumella
Linux 2.x
Linux 2.x
Messaggi: 455
Iscritto il: mar 25 mag 2004, 0:00

Re: Splashscreen: è possibile?

Messaggio da susumella »

rik70 ha scritto:
mer 4 ott 2023, 10:39
ponce ha scritto:
mar 3 ott 2023, 20:25
Plymouth isn't really designed to be built from source by end users. For it to work correctly, it needs integration with the distribution. Because it starts so early, it needs to be packed into the distribution's initial ram disk, and the distribution needs to poke plymouth to tell it how boot is progressing.
Che poi alla fine anche sulla Slack non sarebbe così difficile.
Fermo restando quanto detto sul "silenziamento", a partire dall'initrd, una volta installato plymouth:

Codice: Seleziona tutto

mkdir -pv /boot/initrd-tree/usr/share/plymouth/themes
cp -av /usr/share/plymouth/themes/spinner /boot/initrd-tree/usr/share/plymouth/themes
cp -av /usr/share/plymouth/plymouthd.defaults /boot/initrd-tree/usr/share/plymouth
cp -av /usr/sbin/plymouthd /usr/bin/plymouth /boot/initrd-tree/bin/
Poi, in /boot/initrd-tree/init

Codice: Seleziona tutto

[...]
# If udevd is available, use it to generate block devices
# else use mdev to read sysfs and generate the needed devices 
if [ -x /sbin/udevd -a -x /sbin/udevadm ]; then
  /sbin/udevd --daemon --resolve-names=never
  /sbin/udevadm trigger --subsystem-match=block --action=add
  /sbin/udevadm settle --timeout=10
else
  [ "$DEVTMPFS" != "1" ] && mdev -s
fi

#plymouth
[[ "$RUNLEVEL" != "1" ]] && /bin/plymouthd

Codice: Seleziona tutto

[...]
# Load kernel modules (ideally this was already done by udev):
if [ ! -d /lib/modules/$(uname -r) ]; then
  echo "No kernel modules found for Linux $(uname -r)."
elif [ -x ./load_kernel_modules ]; then # use load_kernel_modules script:
#  echo "${INITRD}:  Loading kernel modules from initrd image:"
  . ./load_kernel_modules
else # load modules (if any) in order:
  if ls /lib/modules/$(uname -r)/*.*o 1> /dev/null 2> /dev/null ; then
#    echo "${INITRD}:  Loading kernel modules from initrd image:"
    for module in /lib/modules/$(uname -r)/*.*o ; do
      /sbin/modprobe $module
    done
    unset module
  fi
fi

#plymouth
/bin/plymouth --show-splash

Codice: Seleziona tutto

[...]
unset ERR
mount -o move /proc /mnt/proc
mount -o move /sys /mnt/sys
mount -o move /run /mnt/run

[ "$DEVTMPFS" = "1" ] && mount -o move /dev /mnt/dev
# echo "${INITRD}:  exiting"
#plymouth
/bin/plymouth --newroot=/mnt
exec switch_root /mnt $INIT $RUNLEVEL
Si rigenera l'initrd senza -il flag '-c' e ora plymouth parte dall'initramfs come deve.

Poi bisogna gestirlo sui diversi run level, come fanno le distribuzione che lo utilizzano.
In rc.M ad esempio bisognerebbe "chiuderlo"; l'accrocchio mio è questo

Codice: Seleziona tutto

[...]
# Start the local setup procedure.
if [ -x /etc/rc.d/rc.local ]; then
  /etc/rc.d/rc.local
fi

# All done.
# plymouth
(sleep 5 && /usr/bin/plymouth quit && clear) &
e fa parecchio pena.
Poi occorre farlo ripartire in rc.6

Codice: Seleziona tutto

[...]
# Set the path.
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
## plymouth
sleep 3
/usr/sbin/plymouthd
#sleep 5
sleep 3
/usr/bin/plymouth --show-splash
sleep 3
## end plymouth
Funziona ma.... ne vale pena?
Boh... a seconda dei gusti.
C'è un unico problema quando fa lo "switch" del filesystem in /mnt - vedi parte finale di /boot/initrd-tree/init:
a schermo compare per un attimo qualcosa tipo "INIT <VERSIONE> Booting" che da un leggero "tremolio".
Non credo si possa silenziare - non ho trovato nulla negli script di init.

Comunque, tutto questo per dire: la Slack è la Slack e può fare anche queste cose ^^

** Se riesco a non sparpagliare dati personali a destra e a manca posto il video del boot.
Grazie mille!

rik70
Iper Master
Iper Master
Messaggi: 2489
Iscritto il: gio 10 mar 2011, 9:21
Slackware: 15.0
Kernel: 5.15.x-generic
Desktop: Sway
Distribuzione: Arch Linux

Re: Splashscreen: è possibile?

Messaggio da rik70 »

rik70 ha scritto:
mer 4 ott 2023, 10:39
C'è un unico problema quando fa lo "switch" del filesystem in /mnt - vedi parte finale di /boot/initrd-tree/init:
a schermo compare per un attimo qualcosa tipo "INIT <VERSIONE> Booting" che da un leggero "tremolio".
Spetta, ho trovato: non c'è bisogno di silenziare nulla, nemmeno l'initrd.
Plymouth ha bisogno di /dev/pts e alcuni flags per "oscurare" i messaggi durante il boot.
Quindi in /boot/initrd-init/init

Codice: Seleziona tutto

#plymouth
[[ "$RUNLEVEL" != "1" ]] && /bin/plymouthd
va sostituito con

Codice: Seleziona tutto

#plymouth
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts -o nosuid,noexec,gid=5,mode=620
[[ "$RUNLEVEL" != "1" ]] && /bin/plymouthd --mode=boot --attach-to-session
Non c'è più bisogno di fare "clear" di sorta.
Quindi in /etc/rc.M, alla fine del file:

Codice: Seleziona tutto

[...]
# All done.

# plymouth
(sleep 5 && /usr/bin/plymouth quit) &
Riscritto anche /etc/rc.d/rc.6:

Codice: Seleziona tutto

[...]
# Set the path.
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin

## plymouth
/usr/sbin/plymouthd --attach-to-session --mode=shutdown
/usr/bin/plymouth --show-splash
Non c'è più bisogno di "sleep" di sorta.

Il boot è perfetto ora, completamente silenzioso.
Se poi uno si vuole vedere i log, preme il classico ESC.
Ultima modifica di rik70 il mer 4 ott 2023, 13:41, modificato 1 volta in totale.

susumella
Linux 2.x
Linux 2.x
Messaggi: 455
Iscritto il: mar 25 mag 2004, 0:00

Re: Splashscreen: è possibile?

Messaggio da susumella »

rik70 ha scritto:
mer 4 ott 2023, 10:39
ponce ha scritto:
mar 3 ott 2023, 20:25
Plymouth isn't really designed to be built from source by end users. For it to work correctly, it needs integration with the distribution. Because it starts so early, it needs to be packed into the distribution's initial ram disk, and the distribution needs to poke plymouth to tell it how boot is progressing.
Che poi alla fine anche sulla Slack non sarebbe così difficile.
Fermo restando quanto detto sul "silenziamento", a partire dall'initrd, una volta installato plymouth:

Codice: Seleziona tutto

mkdir -pv /boot/initrd-tree/usr/share/plymouth/themes
cp -av /usr/share/plymouth/themes/spinner /boot/initrd-tree/usr/share/plymouth/themes
cp -av /usr/share/plymouth/plymouthd.defaults /boot/initrd-tree/usr/share/plymouth
cp -av /usr/sbin/plymouthd /usr/bin/plymouth /boot/initrd-tree/bin/
Poi, in /boot/initrd-tree/init

Codice: Seleziona tutto

[...]
# If udevd is available, use it to generate block devices
# else use mdev to read sysfs and generate the needed devices 
if [ -x /sbin/udevd -a -x /sbin/udevadm ]; then
  /sbin/udevd --daemon --resolve-names=never
  /sbin/udevadm trigger --subsystem-match=block --action=add
  /sbin/udevadm settle --timeout=10
else
  [ "$DEVTMPFS" != "1" ] && mdev -s
fi

#plymouth
[[ "$RUNLEVEL" != "1" ]] && /bin/plymouthd

Codice: Seleziona tutto

[...]
# Load kernel modules (ideally this was already done by udev):
if [ ! -d /lib/modules/$(uname -r) ]; then
  echo "No kernel modules found for Linux $(uname -r)."
elif [ -x ./load_kernel_modules ]; then # use load_kernel_modules script:
#  echo "${INITRD}:  Loading kernel modules from initrd image:"
  . ./load_kernel_modules
else # load modules (if any) in order:
  if ls /lib/modules/$(uname -r)/*.*o 1> /dev/null 2> /dev/null ; then
#    echo "${INITRD}:  Loading kernel modules from initrd image:"
    for module in /lib/modules/$(uname -r)/*.*o ; do
      /sbin/modprobe $module
    done
    unset module
  fi
fi

#plymouth
/bin/plymouth --show-splash

Codice: Seleziona tutto

[...]
unset ERR
mount -o move /proc /mnt/proc
mount -o move /sys /mnt/sys
mount -o move /run /mnt/run

[ "$DEVTMPFS" = "1" ] && mount -o move /dev /mnt/dev
# echo "${INITRD}:  exiting"
#plymouth
/bin/plymouth --newroot=/mnt
exec switch_root /mnt $INIT $RUNLEVEL
Si rigenera l'initrd senza -il flag '-c' e ora plymouth parte dall'initramfs come deve.

Poi bisogna gestirlo sui diversi run level, come fanno le distribuzione che lo utilizzano.
In rc.M ad esempio bisognerebbe "chiuderlo"; l'accrocchio mio è questo

Codice: Seleziona tutto

[...]
# Start the local setup procedure.
if [ -x /etc/rc.d/rc.local ]; then
  /etc/rc.d/rc.local
fi

# All done.
# plymouth
(sleep 5 && /usr/bin/plymouth quit && clear) &
e fa parecchio pena.
Poi occorre farlo ripartire in rc.6

Codice: Seleziona tutto

[...]
# Set the path.
PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
## plymouth
sleep 3
/usr/sbin/plymouthd
#sleep 5
sleep 3
/usr/bin/plymouth --show-splash
sleep 3
## end plymouth
Funziona ma.... ne vale pena?
Boh... a seconda dei gusti.
C'è un unico problema quando fa lo "switch" del filesystem in /mnt - vedi parte finale di /boot/initrd-tree/init:
a schermo compare per un attimo qualcosa tipo "INIT <VERSIONE> Booting" che da un leggero "tremolio".
Non credo si possa silenziare - non ho trovato nulla negli script di init.

Comunque, tutto questo per dire: la Slack è la Slack e può fare anche queste cose ^^

** Se riesco a non sparpagliare dati personali a destra e a manca posto il video del boot.
Allora... c'ho provato e ci sono riuscito a metà :D!
Lo spinner appare solo in fase di spegnimento e non di accensione, il che mi fa dire che la configurazione è corretta, ma che l'initrd generato è sbagliato. Sapresti dirmi come generi l'initrd?

Rispondi