Custom Splash Screen for Install CD
To go along with the previous post about building a custom install CD, I wanted to create a custom splash screen with the product's logo instead of the one from CentOS. The syslinux/isolinux mechanism requires it own format, but it's still really easy to accomplish:
Unless you're going to use a specific VGA resolution on boot, you'll need an image 640 pixels wide, and up to 480 pixels tall. 480 will fill the screen, but in order to display instructions/help underneath, you'll want less. Obviously how much less will depend on the image you plan to display.
If you've got an image, open it in your favorite image editor, otherwise, open the editor and create a new image. Set the canvas size to 640 pixels wide, centering or aligning your image as you need it. Since my image had a white background, I then added a small gradient of white to black from the bottom of my image and down a few pixels, just to provide a nice transition to the default black screen background (Could've changed the BG to white, but that's just wrong). Play around for as long as you like.
Once you're satisfied that it's right, save the file as splash.ppm. If your editor doesn't auto-set the format based on the file extension, make sure you save it as PPM format. If your editor doesn't support PPM, grab The Gimp or XnView.
Next, grab a copy of PPM to LLS. (Yes, it's a Windows program. I needed to move quick - if you know of a Linux-friendly option, let me know in the comments.) Use the GUI.exe to convert the image to the .LLS format required by syslinux. WARNING: Open your image, then click Convert, but don't acknowledge the dialog that says Conversion Finished! The current version deletes the converted file when you do so. Copy the image somewhere else, then ack the dialog and close the program.
OK, now you've got the image saved as splash.lss, but how do you use it? Easy. From the same site, grab a copy of IsoLinux Mate, which will let you create your own colorized text message. If you don't need color, any text editor will do. Add whatever text you want, then save it as boot.msg (the filename doesn't matter, but boot.msg is the convention).
Now you need to add a couple escape codes to the file. Any text editor that lets you add escape sequences is fine, but I'll use Vim for this. Open the file, then put your cursor on the first line (
:1), then type
i Ctrl-V Ctrl-L. This should leave you with a ^L in the top-left of the file. Now hit enter to move to the next line, and type
Ctrl-V Ctrl-Xsplash.lss ESC. Now save (
:wq!), and you're done with the file.
Now, put the splash.lss and boot.msg files in the isolinux/ directory of your ISO build root. Then check if isolinux.cfg is already configured. It should contain lines like these:
default install prompt 1 timeout 0 display boot.msg label install kernel vmlinuz append ks=cdrom:/ks.cfg initrd=initrd.img text
If the display parameter shows any other file, either change the value, or copy your boot.msg over the filename that is listed.
Now you've got your own customized splash screen for your friends or customers to enjoy ... maybe only for 5 seconds, but why not take every opportunity to flash your brand, right?