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?

Comments
I would just like to leave a
I would just like to leave a comment about the person making a lss file on CentOS. This is a redhat derivative and the LANG parameter has to be set to use netpbm tools.
export LANG=C
Would this work with a dos
Would this work with a dos boot dvd??
Thanks for the pointer!
Thanks for the pointer!
:::Next, grab a copy of PPM
:::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.):::
command for Centos 5.1 = /usr/bin/ppmtolss16
Going back over it, I noticed
Going back over it, I noticed where the mistake was - I had missed a character in the mkisofs command and that seemed to be throwing the whole thing off. Thanks for the help!
On my Ubuntu box it says
On my Ubuntu box it says "splash.lss: SYSLINUX' LSS16 image data, width 640, height 220". On my Cent4 machine (the machine I'm actually building the ISO on) it says "splash.lss: data". Building with the stock boot.msg and splash.lss gives me the same error - I'm going to try building on my Ubuntu machine to see if that makes a difference.
If you build with the stock
If you build with the stock splash.lss file, do you get the same error? What does the output of the 'file' command give? Mine is: "splash.lss: Syslinux SLL16 image data, 640 x 150"
I find this article very
I find this article very informative, but I cannot get the splash.lss to display! It keeps telling me "Image checksum error, sorry ..." and then says "Boot failed, press any key to retry". Any hints/suggestions?
Thanks.
Post new comment