分类: LINUX
2008-10-15 15:44:58
How to change Linux boot logo
fromAs 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 , 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.
$su -
$cd /usr/src/linux/drivers/video/logo/
$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.
File: /usr/src/linux/drivers/video/logo/Kconfig |
config LOGO_LARRY_CLUT224 |
I put it underneath the entry for LOGO_LINUX_CLUT224, so it'll appear below the default logos in the kernel setup.
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 |
File: /usr/src/linux/drivers/video/logo/Makefile |
obj-$(CONFIG_LOGO_LARRY_CLUT224) += logo_larry_clut224.o |
Linux Kernel Configuration: Kernel 2.6 |
Device Drivers -> ...and run make. (There is no need to run make modules_install.) |
This section is common to both methods.
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 |