Instead of the default black screen. When creating an OS template you can choose to add a bootsplash image to your bootloader screen. When the user selects a Kernel you can fill that screen with any image you would like. We’re going to modify our CentOS Cloud-init template from our NVMe VPS network to add Bootsplash image on the bootloader.
Download Bootsplash Image
The optimal size for your image is 640×480 and can be in any of the usual formats like .jpg. First, you need to ensure your image is somewhere you can download it to your server.
cd /boot/grub
wget https://www.first2host.co.uk/servers/bootsplash.jpg
Update Grub
Now we need to tell GRUB that we have a boot splash image and that we want to display it on the bootloader screen. We need to edit the grub config file located in at /etc/default/grub. We add the following line specifying the location to our image.
nano /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
#GRUB_TERMINAL="serial console" <--- COMMENT IF UNCOMMENTED
#GRUB_TERMINAL_OUTPUT="console" <--- COMMENT IF UNCOMMENTED
GRUB_SERIAL_COMMAND="serial"
GRUB_CMDLINE_LINUX="console=tty0 crashkernel=auto net.ifnames=0 console=ttyS0"
GRUB_DISABLE_RECOVERY="true"
GRUB_TERMINAL_OUTPUT="gfxterm" <--- ADD THIS LINE
GRUB_BACKGROUND="/boot/grub/bootsplash.jpg" <--- ADD PATH TO IMAGE
Finally, update the grub configuration with the below command and reboot your server, Your image will be displayed on the bootloader screen.
grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file …
Found background: /boot/grub/bootsplash.jpg
Found linux image: /boot/vmlinuz-3.10.0-1160.31.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.31.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1127.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1127.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-cab9605edaa5484da7c2f02b8fd10762
Found initrd image: /boot/initramfs-0-rescue-cab9605edaa5484da7c2f02b8fd10762.img

That’s it. You have created a .jpg bootsplash image and updated grub to display the image in the console at boot. This process can be used when creating templates for containers and VMs to use. Check out our blog post on how to create templates using Cloud-init.
How was this article?
You might also like
More from All About Linux
Install Ioncube Loaders In Ubuntu, Debian, CentOS and AlmaLinux
Ioncube Loaders are a piece of software that is used to protect the underlying code in PHP applications. Its aim …
How to install FTP and configure FTP on an Ubuntu 22 LTS instance
If you need to upload files to your NVMe VPS you have a couple of options. You can use a …
How to install a Cloudflare Origin SSL Certificate – NGINX
An SSL Certificate is vital to encrypt data between you and your clients. SSLs can be complicated things. If they …