2.给内核打补丁,并加上所需要的内核参数。
cd /usr/src/linux
make mrproper
patch -Np1 -i ../bootsplash-3.0.7-2.4.23.diff
make menuconfig
选上这几个参数:
Code maturity level options --->
Prompt for development and/or incomplete code/drivers
Block devices ---> RAM disk support
Block devices ---> Initial RAM disk (initrd) support
Console drivers ---> Video mode selection support
Console drivers ---> Frame-buffer support --->
Support for frame buffer devices
VESA VGA graphics console
Use splash screen instead of boot logo
然后是编译内核了:
make dep && make bzImage
再把生成的内核拷贝到/boot下:
cp arch/i386/boot/bzImage /boot/lfs-bootsplash
再在grub的配置文件/boot/grub/menu.lst里面增加一项:
title LFS Boot Splash
root (hd0,6)
kernel /boot/lfs-bootsplash root=/dev/hda7 ro
现在这个已经能启动了,不过还缺少一些boot splash
需要的参数,我们后面还要改的。
3.安装bootsplash-3.0.7里面的工具
解压,并进入bootsplash-3.0.7/Utilities目录。执行命令:
make
cp fbresolution fbmngplay fbtruetype splash /sbin/
4.把图片用splash程序写到ramdisk里,这样在启动的时候才能读到,因为这时候还没有加载分区呢。
建立目录/etc/bootsplash/themes,解压Theme-Linux.tar.bz2到这个目录下,现在的目录结构应该是:
/etc/bootsplash/themes/Linux
ln -s Linux current
再使用splash程序:
/sbin/splash -s -f /etc/bootsplash/themes/Linux/config/bootsplash-1024x768.cfg >> /boot/initrd.splash
这时候,就需要修改刚才的menu.lst文件了,改成:
title LFS Boot Splash
root (hd0,6)
kernel /boot/lfs-bootsplash root=/dev/hda7 ro vga=791 splash=silent
initrd /boot/initrd.splash
现在重启,就能看到可爱的小企鹅了,按F2,会变成verbose模式。
这个文件的case那里,可以接受不同的参数,你可以修改或增加自己的消息。使这个脚本可执行:
chmod 755 /sbin/bootttf
然后是在启动脚本里调用。我只用了两个消息,呵呵。在checkfs中:
/sbin/bootttf start
animate fsck start
echo "Checking file systems..."
#Note: -a option used to be -p; but this fails e.g. on fsck.minix
fsck $options -a -A -C -T
error_value=$?
animate fsck stop
第一行就是调用啦。在alsa中,显示关机消息: