10

On a standard Debian, how to replace everything that is displayed at Linux boot by a custom JPG or PNG image, until a Python app with GUI starts?

Is there a generic way to replace the boot messages display with a CustomSplash.jpg image, in a seamless way, with no flicker, for:

  • GRUB (I already used this in /etc/default/grub: GRUB_HIDDEN_TIMEOUT=0, GRUB_HIDDEN_TIMEOUT_QUIET=true but I think there's still a very short GRUB splash screen)

  • these log messages:

    enter image description here

  • the start screen X11/Xfce4 (for now I have enabled an autologin like in Automatically Login on Debian 9.2.1 Command Line and I do startxfce4 manually, but eventually I'll create a systemd service to start xfce)

  • i.e. everything until a Python app starts (using Tkinter or wxPython)

For an embedded computer, I'd like to have only the custom splash screen and then the application. (The only thing I probably won't be able to remove is BIOS initial messages?).

Basj
  • 2,519

2 Answers2

6

Concerning the boot process per se: You can try to use "silent boot" settings (see e.g. here on the ArchWiki):

  • set quiet, followed by loglevel=0, on the kernel command line (GRUB_CMDLINE_LINUX in /etc/default/grub)
  • eliminate the cursor by setting vt.global_cursor_default=0 on the kernel command line

OR

Relevant pages within the SE network:

... and probably others

Concerning your other points:

  • The BIOS messages will be impossible to remove from the OS side - if you have a commercial project and order the hardware to volume, you can probably reach an agreement with the manufacturer/integrator to replace the BIOS messages with your company logo.
AdminBee
  • 22,803
2
  • Add splash to the kernel parameters and use plymouth for the splash screen

OR

  • Add loglevel=0 to the kernel parameters.

To change kernel parameters edit /etc/default/grub if you are using the GRUB bootloader (probably)