- Some minor corrections.
- Uploaded Mint theme again, fixed a problem: nothing appearing when setting resolution to 1024x768 due to a mistake in config file.
- Found what was making kernel packages so big: debug files. Now, you will only need about ~800 MB and your kernel package will be much more small (about 25-30 MB).
- Now it's easier, just install and configure. Added .deb packages for Felicia, working on packages for Elyssa.
UPDATE 2 (22/01/2009):
- Added .deb packages for Elyssa.
Do you want your framebuffer consoles to look like this? (The first screenshot looks like what you'll have on boot, in replacement of usplash)
Then, this is your howto. There are two ways: one is easy and funny, the other is a bit more complicated and can be very frustrating...but you can learn some things about kernels . Anyway, both methods work. Choose whatever you want.
DISCLAIMER: I'm not responsible if anything happens to your installation, computer and/or hamster while following this guide. Just in case...
As always, credits are not for me. I've just mixed some how-to's Credits go to spock for creating and maintaining this awesome kernel patch, and for all the people working with him. Also, credits for Jean-Damien Durand for porting fbcondecor to Debian. And also for anyone I've missed to mention.
- "I'll take the blue pill. I don't want to patch or compile anything."
Ok, then download my packages
- Felicia: kernel_image(25 MB) kernel_headers(6.5 MB)
- Elyssa: kernel_image(19 MB) kernel_headers(9 MB)
Now go straight to step 12 on the red pill section
- "I'll take the red pill. Patching sounds interesting."
It's a bit long, but it is very easy. This guide will help you patch and compile a custom kernel with fbcondecor support, but with Mint/Ubuntu default configuration. So, we are not going to re-compile a kernel from scratch nor building a custom configuration. Feel free to do on your own.
WARNING: You'll need ~800MB (> 4GB if you keep using debug files) of free disk space for compiling kernel. Please, check that you have enough space on your root partition. If you have a separated /boot partition, you'll need also some additional space there for the custom kernel.
This howto is compatible with (and has been tested on) Elyssa and Felicia. But it should work with future releases as well as with past ones, choosing the correct fbcondecor patch from spock's website.
Ok, let's go! (Filenames are for reference, they could be different on your system depending on your configuration).
1. First of all, we'll need some packages (build-essential should come installed by default)...
Code: Select all
sudo apt-get install linux-source patch kernel-package libncurses5-dev build-essential
Code: Select all
cd /usr/src
sudo tar xvjf linux-source-2.6.27.tar.bz2
Code: Select all
sudo tar xvjf linux-source-2.6.24.tar.bz2
Code: Select all
sudo ln -s linux-source-2.6.27 linux
Code: Select all
sudo ln -s linux-source-2.6.24 linux
Code: Select all
sudo wget http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.27.patch
Code: Select all
sudo wget http://dev.gentoo.org/~spock/projects/fbcondecor/archive/fbcondecor-0.9.4-2.6.24-rc7.patch
Code: Select all
cd linux
sudo cp /boot/config-2.6.27-7-generic .config
Code: Select all
sudo cp /boot/config-2.6.24-19-generic .config
Code: Select all
sudo patch -p1 --dry-run < ../fbcondecor-0.9.4-2.6.27.patch
Code: Select all
sudo patch -p1 --dry-run < ../fbcondecor-0.9.4-2.6.24-rc7.patch
Code: Select all
sudo patch -p1 < ../fbcondecor-0.9.4-2.6.27.patch
Code: Select all
sudo patch -p1 < ../fbcondecor-0.9.4-2.6.24-rc7.patch
CONFIG_FB_S3=m -> # CONFIG_FB_S3 is not set
CONFIG_FB_VT8623=m -> # CONFIG_FB_VT8623 is not set
CONFIG_FB_ARK=m -> # CONFIG_FB_ARK is not set
CONFIG_TILEBLITTING=y -> # CONFIG_TILEBLITTING is not set
Search for all the lines containing "DEBUG", and modify them the same way. Otherwise, your kernel source directory will grow up to > 4 GB, and you will have a ~270 MB kernel .deb.
8. It's time to activate some options. We will use menuconfig.
Code: Select all
sudo make menuconfig
Go to Device Drivers –> Graphics support –> Support for frame buffer devices –> VESA VGA graphics support, and press Y to activate it. You'll see the [M] from the left change to [*]
9. Now go to Device Drivers -> Graphics Support -> Console Display Driver Support -> Framebuffer Console support
Once with "Framebuffer Console support" selected, press Y. You'll see the [M] change to [*], and a new option appearing.
10. Go to the new option, "Support for the Framebuffer Console Decorations", and press Y.
We're done here. Press Esc until it asks you to save the new configuration. Select Yes, and press Enter.
11. Compile the custom kernel. On a Core 2 Duo, this takes about 1-1.5 hours...4-5 for an old Pentium III. Go out for a walk or something while your computer finishes the hard work for you. At the end, you'll have a .deb package, this is the Debian way of doing things. Isn't it great?
Code: Select all
sudo make-kpkg clean
sudo make-kpkg --initrd --append_to_version=-fbcon --revision=`date "+%s"` kernel_image kernel_headers kernel_source
12. Finished? Great! Install your new custom kernel:
Code: Select all
sudo dpkg -i /usr/src/linux-image-2.6.27.2-fbcon_*_i386.deb
Code: Select all
sudo dpkg -i /usr/src/linux-image-2.6.24.2-fbcon_*_i386.deb
Code: Select all
cd /lib/modules/2.6.27.2-fbcon
sudo rm build
sudo ln -s /usr/src/linux-headers-2.6.27.2-fbcon build
# fbsplash
deb ftp://ftp.berlios.de/pub/fbsplash/debian/splashutils sid contrib
# fbsplash themes
deb http://jeandamiendurand.free.fr/debian/fbsplash-themes sid contrib
# v86d (for using uvesafb)
deb http://jeandamiendurand.free.fr/debian/v86d sid contrib
14. Install splashutils and v86d. Remove usplash, we don't need it.
Code: Select all
sudo apt-get update
sudo apt-get install splashutils v86d
sudo apt-get remove usplash
Code: Select all
sudo apt-get install matrix-fbsplash-theme
Once downloaded, extract it to /etc/splash:
Code: Select all
tar xvzf Mint.tar.gz
sudo mv Mint /etc/splash
Maintain your main entry, just in case. If your custom kernel is not able to boot, or if it puts your screen blank...you know, accidents happen Anyway, you can use a LiveCD to restore almost whatever that has been messed up.title Linux Mint XFCE CE, kernel 2.6.24.6-fbcon
root (hd0,0)
kernel /vmlinuz-2.6.24.6fbcon root=/dev/sda3 ro vga=789
initrd /initrd.img-2.6.24.6-fbcon
Add splash=silent,fadein,theme:theme_name quiet CONSOLE=/dev/tty1 vga=789 to the kernel line. It will look like this. Replace theme_name with the name of the folder containing your favourite theme (if it's on /etc/splash/Mint, then replace theme_name with Mint).
17. This will make fbsplash appear just when udev finishes with a resolution of 800x600 and 24-bit colour. If you want 1024x768, use vga=792...Otherwise, there are tables out there with all the vga= possibilities.You can also use vesafb or uvesafb, check jdd's tutorial (link below).title Linux Mint XFCE CE, kernel 2.6.24.6-fbcon
root (hd0,0)
kernel /vmlinuz-2.6.24.6-fbcon root=/dev/sda3 ro splash=silent,fadein,theme:theme_name quiet CONSOLE=/dev/tty1 vga=789
initrd /initrd.img-2.6.24.6-fbcon
For an early splash (it will appear from the very beggining), do:
Code: Select all
sudo splash_geninitramfs -a /boot/initrd.img-2.6.27.2-fbcon --all
Code: Select all
sudo splash_geninitramfs -a /boot/initrd.img-2.6.24.6-fbcon --all
Code: Select all
sudo splash_geninitramfs -a /boot/initrd.img-2.6.27.2-fbcon Mint
If you can't see your chosen theme on other ttys than tty1, use this on /etc/rc.local to set them on boot:
That's it. I'll try to update this post with some screenshots later, when I have some more time.for I in 2 3 4 5 6; do splash_manager -c set -t theme_name --tty=$I; done
If you have problems, doubts or whatever involving this guide just ask here. I'll try to solve them as quick as I can. Many of the problems are caused by typos or wrong configurations.
Also, if you see any errors, typos, etc...report them to me.
Sources:
- fbsplash on debian/sid and ubuntu
- Lazy Debian: fbcondecor fbsplash and debian
- Jean-Damien Durand's blog