Joined: 02 Mar 2005
|Posted: Wed Mar 02, 2005 9:17 pm Post subject: fbsplash Mini Guide for 2.6.10(-r5, -r6) ck-sources
|fbsplash Mini Guide for 2.6.10(-r5, -r6) ck-sources
This is yet another humble fbsplash guide, Its objective is getting it working with 2.6.10(-r5/-r6) ck-sources and Udev.
There is a FAQ at bottom if you have any question regarding this mini guide.
Down to business
Before we start
You must have ck-sources emerged, and /usr/src/linux linked to it.
And one more thing, play it safe, this is a golden rule, have a working kernel as a backup.
Oh, and of course /boot must be mounted.
Download the following patches:
Both can be obtained from Spock´s site
Ok, let's patch!
Go into the source tree directory to start working
Patching the vesafb-tng driver first.
|cat <path_to_where_patch_is>/vesafb-tng-0.9-rc5-2.6.10-rc2.patch | patch -p1 |
It should patch with no errors, nothing should be rejected.
|cat <path_to_where_patch_is>/fbsplash-0.9.1-r1-2.6.10.patch | patch -p1 |
This will not patch smoothly like the other, It will reject when patching /include/linux/sysctl.h, and save the rejection in sysctl.h.rej under the same directory, now you must go and see what it couldn't patch, it will even tell you the lines. In case you are just too lazy to go there and look , this is what you should add to sysctl.h right below "KERN_COMPUTE=68,"
Congratulations, you're done with patching.
Initramfs image && splashutils
Ok, let me explain here for a second, there are two ways of treating the Initramfs image, one is compiling the initramfs image directly into the kernel and the other is loading the initramfs image dynamically at boot time. In this mini guide we will compile the image directly into the kernel since doing it the other way didn't worked for me, and I believe it doesn't work at all(at least for me with ck-sources ), you are free to try if you want, and if it works please post how you manage to do it.
A couple of notes before we proceed:
Compiling the image directly into the kernel will make your kernel fat , it will expand its size around 0.4 - 0.5 MB, another negative fact is that you'll have to recompile your kernel every time you change your gensplash theme.
Having said that, let's continue:
Of course, you don't have to do this if you're recompiling the kernel.
From the wiki: "The Splashutils are the binaries that are used to load images(and to decode jpeg, png, etc)."
If there is one at all
|rm /usr/src/linux/usr/initramfs_data.cpio.gz |
|splash_geninitramfs -v -g /usr/src/linux/usr/initramfs_data.cpio.gz -r 1024x768 emergence |
This builds the image using the emergence theme, please do not change the theme nor the resolution, unless you really know what you're doing, My advice is that you make sure it works before changing anything.
|touch usr/initramfs_data.cpio.gz |
Do you have your.config over there?
Don´t compile the kernel yet, proceed with the next section.
Configuring your Kernel
Here I describe the options which I think are necessary for fbsplash, perhaps some are optional, but if you're unsure, do it this way.
I also must emphasize that since this guide uses udev, there is one option wich disables devfs support.
Enough, here it is:
--> Device Drivers
--> Block Devices
-<*> RAM Disk Support (CONFIG_BLK_DEV_RAM)
-<n> Default number of RAM Disks (CONFIG_BLK_DEV_RAM_COUNT)
-<4096> Default RAM Disk Size (CONFIG_BLK_DEV_RAM_SIZE)
--> Graphics Support
-[*] Support for framebuffer devices (CONFIG_FB)
-<*> VESA VGA Graphics Support (CONFIG_FB_VESA)
--> VESA Driver Type
-[*] VESA-TNG (CONFIG_FB_VESA_TNG)
-(640x480@60) VESA Default Mode (CONFIG_FB_VESA_DEFAULT_MODE)
--> Console display driver support
-<*> Framebuffer Console Support (CONFIG_FRAMEBUFFER_CONSOLE)
-[*] Support for the framebuffer splash (CONFIG_FB_SPLASH)
--> Character devices
-<*> /dev/agpart (AGP Support) (CONFIG_AGP) # This Options are probably optional, but play it safe.
-- select appropiate driver
--> File Systems # This Option is for udev
--> Pseudo File Systems
- /dev/file system support (CONFIG_DEVFS_FS) # Unselect it
After you configure the kernel, compile it and copy the files to /boot.
|make && make modules_install |
/dev/fbsplash and Udev
You must have udev properly installed, in case you don't please follow the Udev Guide before we continue.
Udev will create /dev/fbsplash dynamically.
Hint: You can create /dev/fbsplash statically with " mknod /dev/fbsplash c 10 63" but It only allowed me to use fbsplash with the consoles, not at boot, plus quoting Spock " It will break sooner or later", you should _not_ do it this way, this is just a hint.
Install fbset too.
Now we will edit splash and add it to the appropriate runlevel:
First, make sure there is no bootsplash in the runlevels
|rc-update del bootsplash |
Now, you have to edit /etc/conf.d/splash, read the comments, it will tell you how-to enable the background to all consoles.
When you're done, execute:
|rc-update add splash default |
Configuring the bootloader
You can see here two examples:
=====Lilo Configuration Example==========
Don't forget to run /sbin/lilo.
=====Grub Configuration Example(from the wiki)===========
kernel (hd0,0)/kernel-2.6.8-gentoo-r1 root=/dev/hda3 video=vesafb:ywrap,mtrr,1280x1024-32@70 splash=silent,theme:newtheme
..::: The End:::.. Reboot and good luck ! : D
For support and discussion of the mini guide click here
Yet another fbsplash guie, why?
Well, I know there are many guides and howtos out there, but one more doesn't hurt. : ) I wrote this mini guide specially for ck-sources 2.6.10(-r5, -r6) , I don't even know if it deserves to be named like this, perhaps "basic set of instructions" is a more proper name. Anyway I just hope someone will find the information useful.
Who are you? Why should I even listen to you?
I am just a humble mortal trying to help the community.
I don't use udev, will this work?
Probably yes, just make sure you don't copy it verbatim, and use devfs instead.
I don't use ck-sources, will this work?
Every fbsplash guide or howto have a similar base, so the instructions won't differ that much, meaning you can use this as a base, but don't copy it verbatim, you are encouraged to follow other guides, see the references.