- 论坛徽章:
- 0
|
How to change Linux boot logo
from http://gentoo-wiki.com/HOWTO_Linux_Logo_Hack
As far as I know, this is the least "hacky" way you can get a custom
logo. It preserves all the previous available logos, and lets you
choose between them in the Kernel config.
It requires you to edit three files in the /usr/src/linux/drivers/video/logo
directory, and (obviously) create the image(s) you want to appear. It
only covers 224-colour logos - if you want 16-colour or black&white
ones, you'll have to figure that out on your own. I did all this
yesterday, and the kernel booted fine this morning with my new logo. I
changed
Tux
to
Larry
,
so that's the example I'll be using throughout this tutorial. Of course
you can change this to whatever you want - just make sure you're
consistant with your names (eg. don't accidentally switch from "LARRY"
to "BARRY" for one file).
OK, let's get down to it.
- Create your image, (I used the GIMP), and save it as a PNG
(mine's called larry.png). It might be a good idea to convert it to
indexed (223 colours) first - this is going to happen later anyway, so
you may as well get it how you like it now (whether you want it
dithered, any custom palettes, etc). I should also point out that the
default images are all 80x80 pixels, but you don't have to abide by
that. As far as I know, you can go as big as you want (within reason).
- Change to root, and put yourself in the directory we're working in:
$su -
$cd /usr/src/linux/drivers/video/logo/
- Convert the image with the netpbm tools (media-libs/netpbm):
$pngtopnm /path/to/larry.png | ppmquant -fs 223 | pnmtoplainpnm > logo_larry_clut224.ppm
Don't worry if the existing images seem to have more than one file
each - the *.c and *.o ones get created automatically when you compile
the kernel.
- Open Kconfig in your favourite editor, and insert the following section (editing the first two lines as appropriate):
File: /usr/src/linux/drivers/video/logo/Kconfig
config LOGO_LARRY_CLUT224
bool "Gentoo-ised 224-colour logo"
depends on LOGO
default y
I put it underneath the entry for LOGO_LINUX_CLUT224, so it'll appear below the default logos in the kernel setup.
- Open logo.c in your favourite editor, and insert the
following sections. Everything's a bit more cosily packed in this file,
so make sure you get them in the right place. Again, change everything
that says "larry" to your chosen name. The bit between /* these
parentheses */ is a comment, and doesn't make any difference. I changed
it anyway.
File: /usr/src/linux/drivers/video/logo/logo.c
Add this to the block of similar definitions at the top of the file:
extern const struct linux_logo logo_larry_clut224;
Add this to the section headed by "if (depth >= 8) {":
#ifdef CONFIG_LOGO_LARRY_CLUT224
/* Gentoo-ised logo */
logo = &logo_larry_clut224;
#endif
- Open Makefile ...blahblahblah... and add the following line to that big block of definitions at the top. You know the drill by now.
File: /usr/src/linux/drivers/video/logo/Makefile
obj-$(CONFIG_LOGO_LARRY_CLUT224) += logo_larry_clut224.o
- You should be able to repeat those steps however many times you like if you want to add more than one image.
- Save all the files, cd down to /usr/src/linux, and follow your
normal kernel-rolling procedure - making sure that you select your new
image in the configuration:
Linux Kernel Configuration: Kernel 2.6
Device Drivers ->
Graphics Support ->
Support for frame buffer devices
VESA VGA graphics support
VESA driver type ->
Console display driver support ->
Video mode selection support
Framebuffer Console support
Logo configuration->
Bootup logo
[ ]
Your Custom Logo
...and run make. (There is no need to run make modules_install.)
Finishing Up
This section is common to both methods.
- Stick your newly customised kernel in its usual place under /boot
- Make sure you've got a decent framebuffer by adding vga=0x318 or
similar
to your kernel's command-line:
NOTE: You can ignore this step if you selected vesafb-tng under "VESA driver type".
File: /boot/grub/menu.lst or /boot/grub/grub.conf
kernel (hd0,0)/vmlinuz root=/dev/sda3 vga=0x318
- When you boot into the new kernel, you should see the fruit of your labours!
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/81377/showart_1302841.html |
|