View Full Version : Splash screen on bootup
Kitche
November 17th, 2008, 02:03
So you don't want to see the lines of text scrolling by on boot well here is how you can put a splash screen instead.
Requirements
1. root access
2. This requires either a bitmap or a ZSOFT PCX image file. The image must be 256 colors (8 bit) or less and must be a supported resolution. By default the largest resolution supported is 320x200. However, if the vesa module is loaded, other resolutions up to 1024x768 may be possible, though 256 colors remains the maximum.
Using a Bitmap Image
Create /boot/loader.conf.local and add a line to it that will load the vesa kernel module. This can be done as root in one command:
# echo 'vesa_load="YES"' >> /boot/loader.conf.local
Add a second line that will load the bitmap kernel module.
# echo 'bitmap_load="YES"' >> /boot/loader.conf.local
Add a third line that will configure the bitmap image to be loaded at start up.
# echo 'splash_bmp_load="YES"' >> /boot/loader.conf.local
By default /boot/kernel/splash.bmp is the image that will be loaded. Copy the image to /boot/kernel/splash.bmp or this setting can be changed by specifying the path to the bitmap file using bitmap_name.
# cp /path/to/your/image.bmp /boot/kernel/splash.bmp
- or to change the default setting -
# echo 'bitmap_name="/path/to/your/image.bmp"' >> /boot/loader.conf.local
Test by rebooting.
Using a ZSOFT PCX Image
Create /boot/loader.conf.local and add a line to it that will loader the vesa kernel module. This can be done as root in one command:
# echo 'vesa_load="YES"' >> /boot/loader.conf.local
Add a second line that will loader the bitmap kernel module. This is needed even though a PCX image is being used.
# echo 'bitmap_load="YES"' >> /boot/loader.conf.local
Add a third line that will configure the PCX image to be loaded at start up.
# echo 'splash_pcx_load="YES"' >> /boot/loader.conf.local
By default /boot/kernel/splash.bmp is the image that will be loaded. To use a PCX file the bitmap_name setting needs to be changed:
# echo 'bitmap_name="/path/to/your/image.pcx"' >> /boot/loader.conf.local
Test by rebooting.
graudeejs
November 17th, 2008, 12:10
I have tried this about week or two ago....
It failed...
It loaded image....
But in my rc.conf i got
allscreens_flags="MODE_279"
and after mode is switched, i could only see blank screen
I think it's allscreens_flags="MODE_279" causing problems
SirDice
November 17th, 2008, 18:02
Your kernel probably needs "option SC_PIXEL_MODE".
graudeejs
November 17th, 2008, 18:06
Your kernel probably needs "option SC_PIXEL_MODE".
Nope, i have it in my kernel config
SirDice
November 17th, 2008, 18:10
Either the mode is incorrect or there are no fonts..
You can check which modes are supported with vidcontrol -i mode.
graudeejs
November 17th, 2008, 18:13
My mode is correct, it works for me well (as long as i don't use splash on boot), i use it all the time, even know....
after that if i remember correct, it switches, and stays blank
richardpl
November 17th, 2008, 18:16
Let me guess:
You are using i386 and vesa module is loaded?
Your machine dont need to support working MODE_279
SirDice
November 17th, 2008, 18:18
It may be related to the videocard? I've got a freebsd vmware guest that shows a splash screen and also does a mode switch. Never had any issues with it.
bsddaemon
November 17th, 2008, 18:19
Of course he is using i386 and vesa module loaded (as he said it works all the time). You can not even start compiling kernel with VESA if your system is 64 bit.
graudeejs
November 17th, 2008, 18:28
uname -a
FreeBSD killasmurf86.lv 7.0-RELEASE-p5 FreeBSD 7.0-RELEASE-p5 #5: Thu Nov 13 02:20:27 EET 2008 root@killasmurf86.lv:/usr/obj/usr/src/sys/killabsd i386
My video card is nvidia geforce 6600le 256M
I use FreeBSD as desktop OS (no dual boot with win).
SirDice
November 17th, 2008, 22:13
Is the nvidia kernel module loaded? If that's the case it's probably that.
I never had any luck changing video modes with the binary nvidia driver.
Doesn't quite matter for me though. The binary driver is mainly for running X anyway, so I hardly use the console ;)
graudeejs
November 17th, 2008, 22:20
ye nvidia is loaded...
(i don't really care about splash either, just wanted to try out)
kamikaze
November 17th, 2008, 23:38
So you don't want to see the lines of text scrolling by on boot well here is how you can put a splash screen instead.
Requirements
1. root access
...You forgot about the most important requirement. You have to run i386. ;)
Kitche
November 18th, 2008, 01:53
well I don't have an AMD64 machine so I didn't know it was for i386 only but I just copied and pasted from BSDGuides since I know there are quite a few old guides out there for FreeBSD and I know the one from BSDGuide works.
thomas
January 27th, 2009, 03:09
Thanks for the howto; I appreciate the repetition of information found in dozens of places on the web; could someone please post a valid pcx file for us? There are no galleries available with pcx files; they are all png/jpg/bmp/etc. I probably have a conversion error, but seeing error 19 is not helpful unless I have a valid pcx splash screen file (640x480) to test against. I imagine there could be hundreds of people trying to do this, each staring at error 19 (is it wrong color depth?? video doesn't support?? not single plane??) -- a known, working pcx file from someone could save us some time. Thanks!
thomas
January 27th, 2009, 17:40
Now that I've ranted, I borrowed the splash screen from a (fresh) install of PC-BSD 7.01 and used it to test the /boot/loader.conf.local splash lines and my kernel config to verify that, yes, I too can have a splash screen in plain 'ol FreeBSD 7.1-RELEASE.
Then, I loaded the known, good, splash screen image from PC-BSD 7.01 (loading-screen.pcx) into GIMP and noticed that in the title bar, instead of
'loading-screen.pcx (RGB, 1-layer) etc.'
it says
'loading-screen.pcx (Indexed, 1-layer) etc.'
I then scanned the wwwwwww to find out how to convert a GIMP image to 'indexed' I then converted an image I like (I think from the FreeBSD.org gallery) to a 1024x768 pcx image and converted it from RGB to Indexed. This image also loaded as a splash screen during bootup. Hooray! Whooooo!
So, my method of creating a splash-screen'able image of your favorite pic is to:
1) If not a .pcx file, then, using GIMP, load your image and convert format to .pcx by using 'Save As' 'name.pcx' Ensure that the resolution is correct (no more than 1024x768, according to docs). If it is an odd size, you may have to expand until it is an even numbered resolution that exactly matches one of your adapter's modes. Someone could test this...
2) convert the mode from (probably 'RGB') to 'Indexed' using the menus 'Image/Mode' and select 'Indexed' In the Indexed Color Conversion dialog that appears, select 256 colors max and ensure that Color Dithering is set to None.
Save the file agan and copy the result to the location
specified in /boot/loader.conf.local...
Follow the rest of the instructions for creating a splash screen, which, again, appear in dozens of places on the www. If you still can't get a splash screen, do as I did and
1) install PC-BSD on a spare box,
2) uncomment the splash lines in their installed /boot/loader.conf (it's off by default),
3) re-boot to see that you can have their splash screen,
4) copy the emage file (probably '/boot/loading-screen.pcx') to your FreeBSD box, and,
5) test your FreeBSD splash with that file until you are sure you can at least do someone's splash screen, then set about converting your desired image to valid splash file format.
I hope I that I have helped at least one other person create a splash screen. Now, stop wasting time on this and get some real work done :)
thomas
January 29th, 2009, 00:07
1) If not a .pcx file, then, using GIMP, load your image and convert format to .pcx by using 'Save As' 'name.pcx' Ensure that the resolution is correct (no more than 1024x768, according to docs). If it is an odd size, you may have to expand until it is an even numbered resolution that exactly matches one of your adapter's modes. Someone could test this...
I tested, and it *can* be an odd size...this image is too big to upload, but it is an odd size (799x531) jpg that can be converted to bmp (or pcx) using steps in my previous post and it works just fine as a splash screen...
http://freebsd-image-gallery.netcode.pl/_freebsd/freebsd.jpg
Cool! :)
SoulStealer
April 5th, 2009, 15:03
I have a problem, the splash screen loads with improper colors, used 256 colors, 16 colors, still colors messed up, here the pic
http://www.kde-look.org/content/show.php/FreeBSD+boot+splash?content=46075
nikobordx
April 7th, 2009, 10:47
Hi,
Have you loaded the vesa module ?
Nicolas.
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.