LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 10973|回复: 17

自己制作开机画面-bootsplash

[复制链接]
发表于 2003-10-4 16:48:12 | 显示全部楼层 |阅读模式
前段时间见到论坛里有这个话题,好象搞的人不多,今天有时间,发一篇文章,希望广大debian人自己动手,DIY出精美的开机画面。
以下参考 http://www.bootsplash.org/kernel.html:
一、打内核补丁并编译内核
以内核2.4.20为例,假设内核源文件安装在/usr/src/linux/。下载bootsplash 3.07(地址:ftp://ftp.suse.com/pub/people/st ... 2.4.20-vanilla.diff ),然后:

  1. yourbox:~ # cd /usr/src/linux
  2. yourbox:/usr/src/linux # patch -p1 < /path/to/bootsplash-3.0.7-2.4.20-vanilla.diff
  3. patching file drivers/char/console.c
  4. patching file drivers/char/keyboard.c
  5. patching file drivers/char/n_tty.c
  6. patching file drivers/video/Config.in
  7. patching file drivers/video/Makefile
  8. patching file drivers/video/fbcon-jpegdec.c
  9. patching file drivers/video/fbcon-jpegdec.h
  10. patching file drivers/video/fbcon-splash.c
  11. patching file drivers/video/fbcon-splash.h
  12. patching file drivers/video/fbcon-splash16.c
  13. patching file drivers/video/fbcon.c
  14. patching file include/video/fbcon.h
  15. patching file kernel/panic.c
  16. yourbox:/usr/src/linux #
复制代码

配置内核,如make menuconfig或make xconfig,在"Console drivers" -> "Frame-Buffer support" 选择 "VESA VGA graphics console" 或其他与你的显卡相应的驱动。打开 "Use splash screen instead of boot logo". 在 "Block Devices"中打开"Initial Ramdisk support",保存配置并编译内核,将生成的内核拷到/boot 下,并修改lilo或grub的配置文件以使用新的内核来启动。

二、加入图片
下载并安装splash工具:ftp://ftp.suse.com/pub/people/st ... splashutils.tar.bz2

  1. # cd ~/splash
  2. # tar xvjf splashutils.tar.bz2
  3. splashutils/
  4. splashutils/Makefile
  5. splashutils/splash.c
  6. [..]
  7. splashutils/ChangeLog
  8. splashutils/COPYING
  9. # cd splashutils
  10. # make splash
  11. gcc -Os -Wall -c -o splash.o splash.c
  12. gcc -Os -Wall -o splash splash.o
  13. strip splash
  14. # cp splash /sbin/
  15. # cd ..
复制代码

将图片及相关的信息加入到initrd中去:

  1. /sbin/splash -s -f /etc/bootsplash/themes/yourtheme/config/bootsplash-1024x768.cfg >> /boot/initrd.splash
复制代码

图片等可以从http://www.bootsplash.org/themes.html 下载

三、运行lilo更新配置文件(grub就不用更新了),重新启动,如果一切正常,就可以看到启动画面了。同时会有这样一些信息:

  1. vesafb: framebuffer at 0xf0000000, mapped to 0xdc816000, size 65472k
  2. vesafb: mode is 1024x768x16, linelength=2048, pages=41
  3. vesafb: protected mode interface info at c000:5137
  4. vesafb: scrolling: redraw
  5. vesafb: directcolor: size=0:5:6:5, shift=0:11:5:0
  6. Looking for splash picture.... silenjpeg size 11165 bytes, found (1024x768, 4912 bytes, v3)
  7. Got silent jpeg.
复制代码

如果不幸你失败了,请将启动时的这些信息贴出来以便debug。
 楼主| 发表于 2003-10-4 16:53:58 | 显示全部楼层

贴个图

发表于 2003-10-4 17:13:57 | 显示全部楼层
不错,不错。
发表于 2003-10-6 18:41:31 | 显示全部楼层

嗯,顶一下

呵呵
发表于 2003-10-6 19:13:42 | 显示全部楼层
在mandrake早就看到了

不过我觉得它的启动速度有点慢

现在还是这样好
要是启动速度能更快那更好
发表于 2004-3-20 06:14:42 | 显示全部楼层
请问一下楼主,你贴的那个图是你自己机器上的吗?如果是,那是怎么抓下来的?另外,我的那个进度条出不来,不知有什么解决办法?
发表于 2004-3-20 07:58:45 | 显示全部楼层
进度条需要 patch /etc/init.d/rc 或者 rcS 才可以,所以还是按照精华区中的地址从 menters.debian.net 直接升级的好,如果要知道原理的话,也可以 source 下来看一看。
发表于 2004-3-20 08:14:00 | 显示全部楼层
我先是自己编,然后按精华里升级的,进度条还是不能用,source可不是人人看得懂啊,我就看不懂
发表于 2004-4-1 11:12:04 | 显示全部楼层
虽然有那么一点点复杂,但很受用。回头试一下。
发表于 2005-1-13 08:40:41 | 显示全部楼层
嗯.又学了新东东了.
回家试一下.
请问2楼的图是怎么抓到的?
系统启动时好像不能抓图吧.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表