![]() |
ubuntu.com - launchpad.net - ubuntu help
|
|
|||||||
|
Tutorials & Tips The place to find Ubuntu related Tips & Tricks. |
|
|
Thread Tools | Display Modes |
|
|
|
|
#1 | |||||
|
A Carafe of Ubuntu
![]() |
fbsplash
This howto was written for Breezy, when usplash could only support splash screens of 640x400 with 16 colors. Since Edgy, usplash supports higher resolutions and 256 colors, which is more than enough for a pretty splash screen (like the default splashes for Ubuntu and Kubuntu).
The work required to install fbsplash and the problems it causes (proprietary drivers, kernel updates etc.) is not worth the extra color depth (the default splash screens look good with only 256 colors) and the pretty terminal backgrounds (since you're not supposed to use the terminal in Ubuntu at all), therefore I recommend you don't use it. FBsplash howto v2.0 Here is what you will get once you finish this howto: ![]() ![]() Thanks go to Jean-Damien Durand, who ported Gentoo's fbsplash to Debian, and then later made it compatible with Ubuntu. Most of the work was done by him. Parts of this howto are based on his howto for Debian and a few kernel compilation howtos from ubuntuforums. Note: This will probably break firestarter. This thread http://ubuntuforums.org/showthread.p...starter+kernel has a solution, but since I didn't want to recompile the kernel again I dumped firestarter instead. (iptables works, so you'll be protected. You just won't have a nice graphical frontend to your firewall) So, let's begin: First we will need a patched kernel PART I - Compiling the shiny new kernel: 1. If you are using a proprietary Nvidia or Ati driver, you will not be able to use it with your new kernel, and X will not start. You have to edit your xorg.conf file (sudo gedit /etc/X11/xorg.conf [replace gedit with kate for kde]). Find Section "Device" Identifier "NVIDIA Corporation NV34 [GeForce FX 5200]" Driver "nvidia" EndSection and replace nvidia with nv. If you have ati, replace it with vesa. 2./aDownload the 2.6.16 or 2.6.17 kernel. Get the emission patchset (Recommended). Be sure to use the version for your kernel of choice. You may also use the beyond patchset. Download the attached evms patch (bd-claim.patch). Note: Some people are having problems with 2.6.17-emission2. You may want to use the 2.6.16 kernel with emission4 or the 2.6.17 with the beyond patch until 2.6.17-emission3 comes out. Also, if you use emission and have problems, please post them here Or if you want the separate patches (you should use one of the patchsets, since they usually contain the latest patches): 2./b Go to http://members.optusnet.com.au/ckolivas/kernel/ and download the kernel and patch. In my case this was 2.6.16 and ck10 normal. Note that ck10 contains the fixes to 2.6.16 included in newer versions, so it cannot be applied to newer versions! Go to http://www.suspend2.net/ and download the suspend 2 patch (latest stable for 2.6 kernels) Go to http://dev.gentoo.org/~spock/projects/gensplash/ and download the fbsplash patch. I also recommend you download the vesafb-tng patch (http://dev.gentoo.org/~spock/projects/vesafb-tng/). Download the attached evms patch (bd-claim.patch). 3. Create a folder in your home named kernel. Put all these files there. If you downloaded the separate patches, extract the suspend2 patch, you should get a subfolder. 4. Go to /usr/src. Remove the symbolic link linux if there is one. Extract the downloaded Linux kernel to /usr/src. You should get a subfolder named linux-2.6.16. Create a symbolic link to this folder named linux (sudo ln -s linux-2.6.16 linux). Enter the folder (cd linux) 5. Set a password for root if you don't already have one: sudo passwd root. Then, type su to switch to root. 6./a Apply the emission patch and the evms patch bzcat /home/username/kernel/patch-2.6.16-emission4.bz2 | patch -p1 patch -p1 < home/username/kernel/bd-claim.patch and skip to step 10 OR apply the separate patches: 6./b Apply the ck10 patch: bzcat /home/username/kernel/patch-2.6.16-ck10.bz2 | patch -p1 7. Apply the suspend 2 patch. This is a little different: Quote:
8. Apply the fbsplash patch: cat /home/username/kernel/fbsplash-0.9.2-rc5-2.6.16.patch | patch -p1 You will get an error message that one hunk in include/linux/sysctl.h failed. The failed hunk is a constant conflict with the ck10 patch and can be easily fixed. Open the files /usr/src/linux/include/linux/sysctl.h and /usr/src/linux/include/linux/sysctl.rej with gedit. Look at the bottom of the rej file. You should see: KERN_FBSPLASH=73, /* string: path to fbsplash helper */ and a line number. It should be 148. Find line 148 in sysctl.h. As you can see there are a few new constants there, so we'll just copy the rejected line after them and change the number. Mine looks like this: Quote:
9. Finally, apply the vesafb and evms patches: cat /home/username/kernel/vesafb-tng-1.0-rc1-r3-2.6.16.patch | patch -p1 patch -p1 < home/username/kernel/bd-claim.patch 10. Now, import your configuration from your current kernel (in my case it's config-2.6.12-10-k7, type ls /boot/config* to see yours) cp /boot/config-2.6.12-10-k7 .config and configure it: make xconfig When I say check something, I mean put a checkmark into the square before it. A small circle means building it as a module, which is not enough. Under Input device support, check Event interface (I believe this is needed to be able to use F2 to switch to verbose mode) Graphics support: Check support for frame buffer devices Uncheck Tile blitting support! This is only needed for some Matrox cards, but is incompatible with fbsplash Vesa VGA support: check it and select vesafb-tng if you patched the kernel with the vesafb-tng patch or emission, otherwise use vesafb (or a card-specific driver, e.g. nvidia, ati etc.). In Graphics support/Console display driver support, check VGA text console and Video mode selection support. Check Framebuffer Console support (but not Rotation). Go back to Graphics support and check support for framebuffer splash (Scroll down, it should be the last one). That should be it. Finally, some optimizations taken from another thread: Quote:
Here's some more info: http://www.wlug.org.nz/LinuxIoScheduler Quote:
Save the configuration. 11. compile the kernel: make-kpkg clean make-kpkg -initrd kernel_image kernel_headers modules_image Go read a book Hopefully, there will be no errors. Once it's ready, you'll have two new deb files in /usr/src. These will be kernel-image-*.deb and kernel-headers-*.deb. Install them using dpkg -i kernel*.deb 12. Reboot. Your new kernel will be the default one. PART II - Setting up fbsplash: 1. Install the Debian packages made by Jean-Damien Durand You'll only need the three splashutils packages, don't install the other two. You can remove his repository so that the update manager doesn't bother you about the other two packages, but check back often for updates 2. configure the bootmanager I will only give instructions for grub, since I don't know how to do it in lilo. The current entry for your kernel should be something like this: Code:
title Ubuntu, kernel 2.6.16-emission4 root (hd0,0) kernel /boot/vmlinuz-2.6.16-emission4 root=/dev/hda1 ro quiet splash initrd /boot/initrd.img-2.6.16-emission4 savedefault boot add these options: Code:
video=vesafb:1024x768-32,ywrap splash=silent,theme:Ubuntu CONSOLE=/dev/tty1 It should look something like this: Code:
title Ubuntu, kernel 2.6.16-emission4 root (hd0,0) kernel /boot/vmlinuz-2.6.16-emission4 root=/dev/hda1 ro video=vesafb:1024x768-32,ywrap splash=silent,theme:Ubuntu quiet CONSOLE=/dev/tty1 initrd /boot/initrd.img-2.6.16-emission4 savedefault boot Code:
## ## Start Default Options ## ## default kernel options ## default kernel options for automagic boot options ## If you want special options for specific kernels use kopt_x_y_z ## where x.y.z is kernel version. Minor versions can be omitted. ## e.g. kopt=root=/dev/hda1 ro ## kopt_2_6_8=root=/dev/hdc1 ro ## kopt_2_6_8_2_686=root=/dev/hdc2 ro # kopt=root=/dev/hda1 ro ## default grub root device ## e.g. groot=(hd0,0) # groot=(hd0,0) ## should update-grub create alternative automagic boot options ## e.g. alternative=true ## alternative=false # alternative=true ## should update-grub lock alternative automagic boot options ## e.g. lockalternative=true ## lockalternative=false # lockalternative=false ## additional options to use with the default boot option, but not with the ## alternatives ## e.g. defoptions=vga=791 resume=/dev/hda5 # defoptions=quiet splash ## altoption boot targets option ## multiple altoptions lines are allowed ## e.g. altoptions=(extra menu suffix) extra boot options ## altoptions=(recovery mode) single # altoptions=(recovery mode) single defoptions=video=vesafb:1024x768-32,ywrap splash=silent,theme:Ubuntu quiet This way everytime something regenerates menu.lst, these options will be appended by default to every normal kernel entry (recovery entries have separate defaults) 3. Download my Ubuntu theme or download one from bootsplash.org. My theme has to be put under /etc/splash and does not have to be converted. Bootsplash themes should be put under /etc/bootsplash/themes and have to be converted using bootsplash2fbsplash <themename> 4. Disable usplash: Since splashutils provides usplash, you can uninstall usplash (*ubuntu-desktop will not be uninstalled). If you don't want to do that, disable it manually: -instructions not available since the forum cut off this part of the howto and I can't remember them. Uninstall usplash instead. 5. Regenerate the initrd image: If you uninstalled usplash you don't have to do this. Whenever you install a new theme you'll have to regenerate the initrd image to be able to use it. Just run sudo update_initramfs. It will copy all themes in /etc/splash. 6. To fix the flickering problem: (taken from JD's howto) Quote:
Last edited by knn; May 11th, 2007 at 04:21 AM.. |
|||||
|
|
|
|
|
#2 |
|
Way Too Much Ubuntu
![]() |
Re: fbsplash
This is great, I'll try it on dapper as soon as I have time. I tried to get it working before but got stuck at the initscripts.
|
|
|
|
|
|
#3 |
|
A Carafe of Ubuntu
![]() |
Re: fbsplash
From your forum style I suspect you are using kubuntu. I made a small fix for kdm, it's at the bottom of my first post. Also, could you please try installing the three splashutils packages without installing a newer version of sysv-rc, using --force-all instead of --force-overwrite? I don't have time to test this right now, but I'd really like to know if it works.
|
|
|
|
|
|
#4 | |
|
100% Pure Ubuntu
![]() |
Re: fbsplash
anyone knwo if it works for dapper?
__________________
Quote:
|
|
|
|
|
|
|
#5 |
|
A Carafe of Ubuntu
![]() |
Re: fbsplash
It should work with Dapper too.
|
|
|
|
|
|
#6 |
|
A Carafe of Ubuntu
![]() |
Re: fbsplash
I've made a little fix to the theme configuration file, so that now text is displayed (read the end of the first post). I also made a simple console background using the default ubuntu wallpaper:
![]() I'll put together a silent picture as well (the one that's displayed when booting) and post the new theme then. Edit: Here it is, based on the GDM theme and LiveCD bootsplash: ![]() Extract the archive to /etc/splash (not bootsplash). There's no need to convert it. Don't forget to regenerate the initrd and set the kernel parameter. Edit: moved to first post Last edited by knn; June 22nd, 2006 at 03:18 AM.. |
|
|
|
|
|
#7 |
|
Way Too Much Ubuntu
![]() |
Re: fbsplash
Ok now I have it working but there are some problems. When the kernel is initzialising I often only have parts of the theme. When It's done it looks fine but soon it starts to flicker and I can see the verbose screen and silent and some black bars. While using verbose screen it just flickers. I remember it did this on breezy as well when "setting up general console fonts" was shown.
I uploaded some pictures to show you what I mean. Also one funny thing is that when I reboot my system the splash says Booting blah blah blah but the progress bar starts at 100 and goes down. When it's almost at 0 the message changes to rebooting. I tried to compile splashutils but it doesn't work. This is the whole compile message Code:
make: Warning: File `Makefile' has modification time 1,2e+03 s in the future CONF, libjpeg MAKE, libjpeg /bin/sh: -c: line 2: syntax error near unexpected token `;' /bin/sh: -c: line 2: ` ; \' make: *** [jpeglib] Fel 2 I tried to set vesafb-tng to ywrap ypan and nothing but there were only minor differences. ypan seems to work best but that might just be coincidence. Last edited by Rizado; May 20th, 2006 at 08:53 AM.. |
|
|
|
|
|
#8 | |
|
A Carafe of Ubuntu
![]() |
Re: fbsplash
You don't need to compile anything except the kernel. I couldn't compile the splashutils either, but I found those Debian pacakges. Just download all three and install them using dpkg -i --force-all.
It may be a video driver problem, but I doubt it because the shutdown screen works. Does the console background work fine after booting is finished (press Ctr-Alt-F1 to access the console and Ctr-Alt-F7 to return to the gui) or is it showing only parts too? It might also be that you did not install the packages correctly. If that is the case simply repeat part 2 of the howto. I've included the required packages as attachements and changed the second part of the howto, it should now be a bit simpler. Don't forget to use --force-all instead of --force-overwrite if you didn't install the updated sysv-rc package As for the flickering: Quote:
The shutdown screen is supposed to go backwards, however it should show Shutting down the system and Rebooting the system. I'll check this immediately. Edit: It works correctly for me. Last edited by knn; May 20th, 2006 at 07:39 PM.. |
|
|
|
|
|
|
#9 | |
|
Way Too Much Ubuntu
![]() |
Re: fbsplash
Quote:
The flickering is the main problem, The half screen doesn't appear all the time and with ypan it almost never apear. Verbose screen works fine. I'll try playing with some settings. |
|
|
|
|
|
|
#10 | |
|
A Carafe of Ubuntu
![]() |
Re: fbsplash
Quote:
|
|
|
|
|
| Bookmarks |
| Thread Tools | |
| Display Modes | |
|
|