// Setting Up a Backgound Image on Your Console // // by BoBB // // http://www.oldskoolphreak.com Okay this is something I just found out about recently but its been around for a while. Now before you go saying ya i've seen that before, you should read on as this is not your regular lilo/grub boot image. This uses the framebuffer and sets a background image on your CONSOLE. Thats right the console. You can also map the text to a certain area. You can see examples at http://130.13.102.100:8090/index.php?page=screenshot-archives You do need a 2.4.19 kernel for this. It might work on others but I haven't tested it at all. Ok first thing you need to do is go grab the source for this stuff. Logon to ftp.suse.com/pub/people/stepan/bootsplash/ and get the following files. splashutil.tar.bz2 kernel/boot_splash_complete.2.4.19-vanilla.patch First thing you want to do is build the splash utility, cd to an appropriate directory, I prefer /usr/local, untar it, cd to the splashutil directory, make, cp splash /usr/local/bin/ and then its installed. Now you want to patch the kernel with the boot_splash patch. You may need to open up the patch in your favorite text editor and edit the first two line to the proper directory for the kernel sources. Copy the patch to /usr/src, cd to /usr/src/ and patch -p0 < boot_splash_complete.2.4.19-vanilla.patch ... now you have to configure the kernel. make menuconfig will bring you into the configuration menu. The following options you need to compile into the kernel NOT AS MODULES. Block Devices -> RAM Disk Support Block Devices -> Loopback device support Block Devices -> Initial RAM disk (initrd) support Console Drivers -> Video Mode Selection Support Console Drivers -> Frame-Buffer Support -> Support For Frame Buffer Devices Console Drivers -> Frame-Buffer Support -> VESA VGA Graphics Console Console Drivers -> Frame-Buffer Support -> Use Splash Screen Instead Of Boot Logo DISCLAIMER!@# - Configuring the rest of your kernel is unfortunately beyond the scope of this article. But please don't fubar your system to get this working cuz I take no responsibility. Now to create your background image. Do whatever you need in the gimp to make whatever. Make sure that the image is the same resolution as your frame buffer console otherwise it wont work. After you have your image made you have to write up a config file. It contains the following entry's ... # This tells it to display the image. state=1 # This tells it what jpg to load into the initrd image jpeg=/usr/share/bootsplash-0.4/boot.jpg # This is needed for certain color settings and other things version=2 # The following are dimensions to display the console output # tx = starting x cordinate in pixels # ty = starting y cordinate in pixels # tw = width of console output in pixels # th = height of console output in pixels tx=0 ty=0 tw=1280 th=1024 # fgcolor and bgcolor are pretty self explanitory here is a list of # valid colors # 0 - black # 1 - blue # 2 - green # 3 - teal # 4 - red # 5 - purple # 6 - brown # 7 - grayish white # 8 - grayish black # 9 - light blue # 10 - Bright Green # 11 - Bright Cyan # 12 - Bright Red # 13 - Bright Magenta # 14 - Yellow # 15 - Bright White fgcolor=7 bgcolor=0 #End of file Those are the settings for my console background. You can get my boot and console background and config files at http://130.13.102.100:8090/stuff/ Now to set up the initrd image. Once you have your config and image done you should probably move them to a suitable directory, I suggest /usr/local/share/bootsplash/ ... cd to that directory and run splash -s -f ./config-file.cfg > initrd then move initrd to /boot, make sure it is mounted if it is on a different partition, then edit your lilo/grub config file and add the lines For lilo: vga=791 # for 1024x768x16 # vga=794 # for 1280x1024x16 # From my experience 24bpp framebuffers wont work initrd=/boot/initrd # May need to be /initrd depending on your setup For grub: vga=0x317 # For 1024x768x16 # vga=0x31A # For 1280x1024x16 # Will not work with 24bpp frame buffers AFAICT initrd=/boot/initrd # May need to be ./initrd depending on your setup After that run lilo if you have to and reboot, You should see a pretty boot screen. Now you can go even further with this with the splash program. 'splash -s -u /path/to/config' will set the background for a certain tty console. For example I have in my initrd image a screen for booting, but it doesn't really look good in the console, so I added a section to my /etc/profile that will reset the background when I login. I had to set the app to run suid root so it could access /proc/splash when logging in as a user. If you have any questions email me at snoogans@qwest.net and good luck! For more reference go to http://forums.gentoo.org/viewtopic.php?t=26494 this is where I first saw this and got all the information, theres also some very cool bootscreens there. -- /* BoBB * AIM: Jodokast49 ICQ: 151495596 * Jabber: BoBB@jabber.com * http://knightsofchaos.com/~BoBB/new/ */