jiangtao9999 发表于 2008-8-3 17:06:43

[仅供测试]fbsplash for Magic Linux 2.1 rc1

找人凑合做了一个新的 theme ,拿来测试一下:http://www.12321.org/files/gensplashformgc/butter.tar.bz2 。解压缩到 /etc/splash 里面就可以用 splash_geninitramfs 加入内核了。当然还需要修改 menu.lst 来设置使用新的 theme 。-- 2008-08-20 22:47

rc.sysinit 修改了一下,现在会检测 cmdline ,如果启动时用的是 single 模式,不会启动 fbsplash 进度条。(里面顺手执行了一下切换回详细模式的命令)建议 single 模式时不要设置 splash= 参数,这样 gensplash 彻底不会显示,从而保证 single 模式的“纯净”。当然,还是需要详细测试一下。--2008-08-0519:03

改进了 splashutils ,下载 http://www.12321.org/files/gensplashformgc/splashutils-1.5.4.2-2mgc.i686.rpm --2008-08-0423:43

theme 有问题,已经更新。--2008-08-03 18:59

======================
首先需要注意:
1、本 fbsplash (gensplash,也就是 Gentoo 用的那个 splash )需要替换系统的引导脚本,可能会导致系统启动出问题。
2、要打到最好的效果,需要给内核打补丁。
3、没有找到 ML 最新的内核源代码,编译内核的工作需要自己进行。
所以需要动手能力好,而且有一定知识的人来操作。
同时:因为是测试为目的,所以一些文件里面会残留一些不需要的东西,这些会在以后清理。

需要准备的东西:
1、splashutils:
http://www.12321.org/files/gensplashformgc/splashutils-1.5.4.2-1mgc.i686.rpm
2、替换用的脚本:
http://www.12321.org/files/gensplashformgc/functions
http://www.12321.org/files/gensplashformgc/rc
http://www.12321.org/files/gensplashformgc/rc.sysinit
注意这三个脚本用浏览器的右键菜单,“链接另存为”。如果是 konqueror 浏览器,左键点击会提示是保存还是打开,选择保存。
3、一个简单的 magic linux 主题的 theme ,仅供测试用:(不支持 8bit 色的 console 环境)
http://www.12321.org/files/gensplashformgc/magic.tar.bz2
4、fbcondecor 的内核补丁:(可选)
http://www.12321.org/files/gensplashformgc/fbcondecor-0.9.4-2.6.25-rc6.patch

安装:
我们假设所有下载的文件都放在了个人目录里。如果没有放在个人目录中,需要对应的增加需要的目录地址。
安装 splashutils :
rpm -Uvh splashutils-1.5.4.2-1mgc.i686.rpm
解压缩 theme 到 /etc/splash 中:
cd /etc/splash
tar xfj ~/magic.tar.bz2
之后建立一个到 default 的软链接:
ln -s magic default
建立备份目录:
mkdir splash-backup
备份即将替换的文件:
cp /etc/init.d/functions splash-backup/
cp /etc/rc.d/rc splash-backup/
cp /etc/rc.d/rc.sysinit splash-backup/
替换他们:
cp functions /etc/init.d/
cp rc.* etc/rc.d/
之后修复权限以防万一:
chmod 0755 /etc/init.d/functions
chmod 0755 /etc/rc.d/rc
chmod 0755 etc/rc.d/rc.sysinit
修改 grub 命令行:
打开 grub 的 menu.lst:
vi /boot/grub/menu.lst
找到 ML 的 kernel 行:
kernel /boot/vmlinuz-2.6.25.10-smpro root=/dev/hdb1 vga=791 quiet
在后面加上:
splash=silent,fadein,theme:default console=tty1
成为:
kernel /boot/vmlinuz-2.6.25.10-smpro root=/dev/hdb1 vga=791 quiet splash=silent,fadein,theme:default console=tty1

如果不想编译内核实现更好的效果,现在的工作已经完成了。重启计算机,ML 会在启动玩 udev 后显示 splash (因为 fbsplash 需要 /dev/fb0 ,udev 启动后才会建立……)
关机时同样会显示关机 splash 效果。

如果想获得更好的效果,打算编译内核,那么上面修改 grub 配置文件的步骤可以略过,进行如下操作:
安装 ML 的内核源代码(之前别忘了更新 apt ):
apt-get install kernel-smp-source#2.6.25.10-1mgc
进入 ML 的内核源代码目录:
cd /usr/src/linux
删掉内核的配置文件链接:
unlink .config
重新复制内核文件为独立的配置文件:
cp /boot/config-2.6.25.10-smp .config
给内核打补丁:
patch -p1 < ~/fbcondecor-0.9.4-2.6.25-rc6.patch
为了防止覆盖 ML 原来的内核,(原来的内核作为备用)修改内核的 Makefile:
vi Makefile
把第 4 行:
EXTRAVERSION = .10-smp
改为
EXTRAVERSION = .10-smp1
不喜欢 smp1 改成别的也可以,反正只要是改为不和 ML 官方内核名字一样就行了。
比如:
EXTRAVERSION = .10-fbsplash
EXTRAVERSION = .10-gensplash
都可以。
之后修改内核设置:
make oldconfig #拷贝别人的配置文件后现运行 oldconfig 是个好习惯
make xconfig
之后修改几个设置:
Device Drivers 里面的 Graphics support
关掉
Support for frame buffer devices
下面的
S3 Trio/Virge support
VIA VT8623 support
ARK 2000PV support
之后就可以关掉:
Enable Tile Blitting Support
之后就能打开
Console display driver support
下面的
Support for the Framebuffer Console Decorations

保存退出
执行:
make -j2 #双核 CPU 可以用 -j3 ,更多的核心可以再往上加
make modules_install
make install
很慢长的等待……
之后就可以修改 grub 的 menu.lst。
把 ML 原来的启动项照抄一份新的。
之后修改为(修改 Makefile 时什么样子,这里要对应使用)
title MagicLinux
      root (hd1,0)
      kernel /boot/vmlinuz-2.6.25.10-smp1ro root=/dev/hdb1 vga=791 quiet splash=silent,fadein,theme:default console=tty1
      initrd /boot/initrd-2.6.25.10-smp1.img
在给 initrd 添加 fbslpash 的东西:
splash_geninitramfs -a/boot/initrd-2.6.25.10-smp1.img -v -r 1024x768 default
之后 reboot 就可以试验了。

重新编译内核和不编译内核的区别:
1、编译内核后,splash_geninitramfs 可以添加 fbcondecor 添加进 initrd 实现开机时提前显示 splash 。
2、可以显示 verbose 界面。
2、可以设置字符界面的 theme ,其实就是 verbose 界面,不过 tty1 到 tty6 都可以设置。

[ 本帖最后由 jiangtao9999 于 2008-8-20 22:49 编辑 ]

jiangtao9999 发表于 2008-8-3 19:24:54

:evil:
又是没人理。

看帖不回贴,男的没 JJ ,女的没 mm !

npcomet 发表于 2008-8-3 20:06:02

好吧 我回帖

jiangtao9999 发表于 2008-8-3 21:05:10

:roll:

djpj2046 发表于 2008-8-4 09:18:05

好吧,我也回一个,不然以后就不知道自己是男是女了~~
还有,涛涛辛苦了!只是自己没那个能力,就不能帮忙做测试了。

haulm 发表于 2008-8-4 11:36:16

这个还是我来试吧,麻烦把源码一并提供了

loverf 发表于 2008-8-4 12:01:50

唉,回一个吧,呵呵。

sejishikong 发表于 2008-8-4 16:11:33

已经打好相关包了.
稍等,我放上,这个东西的效果和bootsplash差不多.splashy最吸引人的是支持动画,可惜到现在也没看到使用动画的theme.

jiangtao9999 发表于 2008-8-4 16:32:52

原帖由 haulm 于 2008-8-4 11:36 AM 发表 http://www.linuxfans.org/bbs/images/common/back.gif
这个还是我来试吧,麻烦把源码一并提供了
唉,人怎么都那么懒呢……
你看看存放这几个文件的目录……
:roll:

忘了说了,编译 splashutils 需要 klibc ,但是使用不需要。

[ 本帖最后由 jiangtao9999 于 2008-8-4 16:35 编辑 ]

jiangtao9999 发表于 2008-8-4 16:34:53

原帖由 sejishikong 于 2008-8-4 04:11 PM 发表 http://www.linuxfans.org/bbs/images/common/back.gif
已经打好相关包了.
稍等,我放上,这个东西的效果和bootsplash差不多.splashy最吸引人的是支持动画,可惜到现在也没看到使用动画的theme.
gensplash 的 theme 是支持脚本的,同时借助他的控制脚本,我想动画也是没问题的。
不过估计和 splashy 一样,动态界面超级难做吧?

sejishikong 发表于 2008-8-4 17:08:35

原帖由 jiangtao9999 于 2008-8-4 16:34 发表 http://www.linuxfans.org/bbs/images/common/back.gif

gensplash 的 theme 是支持脚本的,同时借助他的控制脚本,我想动画也是没问题的。
不过估计和 splashy 一样,动态界面超级难做吧?
嗯,gensplash要是可以显示中文就好了.

jiangtao9999 发表于 2008-8-4 17:20:42

:shock:
这个要求很……
不过貌似他的文字显示是基于 freetype 的。或许可以。

不过我在考虑借助脚本显示中文的图片行不行呢……

jiangtao9999 发表于 2008-8-4 17:25:21

对了,fbsplash 启动需要 /dev/fb0 ,不知道这个东西能不能在 udev 启动之前提供?或者能不能先启动一个轻量级的 udev 来提供这个设备节点?这样可以让 fbsplash 启动脚本更早的启动。

jiangtao9999 发表于 2008-8-4 17:31:45

splash_manger 可以显示中文,demo 的功能是可以的!不需要修改!把 /etc/splash 里面的字体改为中文字体就行了!!!!
不过内核里面的行不行不知道

jiangtao9999 发表于 2008-8-4 17:50:01

:shock:
就没有小点的中文字体么……
页: [1] 2 3 4 5
查看完整版本: [仅供测试]fbsplash for Magic Linux 2.1 rc1