QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6327|回复: 61

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

[复制链接]
发表于 2008-8-3 17:06:43 | 显示全部楼层 |阅读模式
找人凑合做了一个新的 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-05  19:03

改进了 splashutils ,下载 http://www.12321.org/files/gensp ... 5.4.2-2mgc.i686.rpm --2008-08-04  23:43

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

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

需要准备的东西:
1、splashutils:
http://www.12321.org/files/gensp ... 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/gensp ... .4-2.6.25-rc6.patch

安装:
我们假设所有下载的文件都放在了个人目录里。如果没有放在个人目录中,需要对应的增加需要的目录地址。
安装 splashutils :
  1. rpm -Uvh splashutils-1.5.4.2-1mgc.i686.rpm
复制代码

解压缩 theme 到 /etc/splash 中:
  1. cd /etc/splash
  2. tar xfj ~/magic.tar.bz2
复制代码

之后建立一个到 default 的软链接:
  1. ln -s magic default
复制代码

建立备份目录:
  1. mkdir splash-backup
复制代码

备份即将替换的文件:
  1. cp /etc/init.d/functions splash-backup/
  2. cp /etc/rc.d/rc splash-backup/
  3. cp /etc/rc.d/rc.sysinit splash-backup/
复制代码

替换他们:
  1. cp functions /etc/init.d/
  2. cp rc.* etc/rc.d/
复制代码

之后修复权限以防万一:
  1. chmod 0755 /etc/init.d/functions
  2. chmod 0755 /etc/rc.d/rc
  3. chmod 0755 etc/rc.d/rc.sysinit
复制代码

修改 grub 命令行:
打开 grub 的 menu.lst:
  1. vi /boot/grub/menu.lst
复制代码

找到 ML 的 kernel 行:
  1. kernel /boot/vmlinuz-2.6.25.10-smp  ro root=/dev/hdb1 vga=791 quiet
复制代码

在后面加上:
  1. splash=silent,fadein,theme:default console=tty1
复制代码

成为:
  1. kernel /boot/vmlinuz-2.6.25.10-smp  ro root=/dev/hdb1 vga=791 quiet splash=silent,fadein,theme:default console=tty1
复制代码


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

如果想获得更好的效果,打算编译内核,那么上面修改 grub 配置文件的步骤可以略过,进行如下操作:
安装 ML 的内核源代码(之前别忘了更新 apt ):
  1. apt-get install kernel-smp-source#2.6.25.10-1mgc
复制代码

进入 ML 的内核源代码目录:
  1. cd /usr/src/linux
复制代码

删掉内核的配置文件链接:
  1. unlink .config
复制代码

重新复制内核文件为独立的配置文件:
  1. cp /boot/config-2.6.25.10-smp .config
复制代码

给内核打补丁:
  1. patch -p1 < ~/fbcondecor-0.9.4-2.6.25-rc6.patch
复制代码

为了防止覆盖 ML 原来的内核,(原来的内核作为备用)修改内核的 Makefile:
  1. vi Makefile
复制代码

把第 4 行:
  1. EXTRAVERSION = .10-smp
复制代码

改为
  1. EXTRAVERSION = .10-smp1
复制代码

不喜欢 smp1 改成别的也可以,反正只要是改为不和 ML 官方内核名字一样就行了。
比如:
  1. EXTRAVERSION = .10-fbsplash
  2. EXTRAVERSION = .10-gensplash
复制代码

都可以。
之后修改内核设置:
  1. make oldconfig #拷贝别人的配置文件后现运行 oldconfig 是个好习惯
  2. 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

保存退出
执行:
  1. make -j2 #双核 CPU 可以用 -j3 ,更多的核心可以再往上加
  2. make modules_install
  3. make install
复制代码

很慢长的等待……
之后就可以修改 grub 的 menu.lst。
把 ML 原来的启动项照抄一份新的。
之后修改为(修改 Makefile 时什么样子,这里要对应使用)
  1. title MagicLinux
  2.         root (hd1,0)
  3.         kernel /boot/vmlinuz-2.6.25.10-smp1  ro root=/dev/hdb1 vga=791 quiet splash=silent,fadein,theme:default console=tty1
  4.         initrd /boot/initrd-2.6.25.10-smp1.img
复制代码

在给 initrd 添加 fbslpash 的东西:
  1. 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 编辑 ]
 楼主| 发表于 2008-8-3 19:24:54 | 显示全部楼层

又是没人理。

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2008-8-3 20:06:02 | 显示全部楼层
好吧 我回帖
回复

使用道具 举报

 楼主| 发表于 2008-8-3 21:05:10 | 显示全部楼层
回复

使用道具 举报

发表于 2008-8-4 09:18:05 | 显示全部楼层
好吧,我也回一个,不然以后就不知道自己是男是女了~~
还有,涛涛辛苦了!只是自己没那个能力,就不能帮忙做测试了。
回复

使用道具 举报

发表于 2008-8-4 11:36:16 | 显示全部楼层
这个还是我来试吧,麻烦把源码一并提供了
回复

使用道具 举报

发表于 2008-8-4 12:01:50 | 显示全部楼层
唉,回一个吧,呵呵。
回复

使用道具 举报

发表于 2008-8-4 16:11:33 | 显示全部楼层
已经打好相关包了.
稍等,我放上,这个东西的效果和bootsplash差不多.splashy最吸引人的是支持动画,可惜到现在也没看到使用动画的theme.
回复

使用道具 举报

 楼主| 发表于 2008-8-4 16:32:52 | 显示全部楼层
原帖由 haulm 于 2008-8-4 11:36 AM 发表
这个还是我来试吧,麻烦把源码一并提供了

唉,人怎么都那么懒呢……
你看看存放这几个文件的目录……


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

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

使用道具 举报

 楼主| 发表于 2008-8-4 16:34:53 | 显示全部楼层
原帖由 sejishikong 于 2008-8-4 04:11 PM 发表
已经打好相关包了.
稍等,我放上,这个东西的效果和bootsplash差不多.splashy最吸引人的是支持动画,可惜到现在也没看到使用动画的theme.

gensplash 的 theme 是支持脚本的,同时借助他的控制脚本,我想动画也是没问题的。
不过估计和 splashy 一样,动态界面超级难做吧?
回复

使用道具 举报

发表于 2008-8-4 17:08:35 | 显示全部楼层
原帖由 jiangtao9999 于 2008-8-4 16:34 发表

gensplash 的 theme 是支持脚本的,同时借助他的控制脚本,我想动画也是没问题的。
不过估计和 splashy 一样,动态界面超级难做吧?

嗯,gensplash要是可以显示中文就好了.
回复

使用道具 举报

 楼主| 发表于 2008-8-4 17:20:42 | 显示全部楼层

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

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

使用道具 举报

 楼主| 发表于 2008-8-4 17:25:21 | 显示全部楼层
对了,fbsplash 启动需要 /dev/fb0 ,不知道这个东西能不能在 udev 启动之前提供?或者能不能先启动一个轻量级的 udev 来提供这个设备节点?这样可以让 fbsplash 启动脚本更早的启动。
回复

使用道具 举报

 楼主| 发表于 2008-8-4 17:31:45 | 显示全部楼层
splash_manger 可以显示中文,demo 的功能是可以的!不需要修改!把 /etc/splash 里面的字体改为中文字体就行了!!!!
不过内核里面的行不行不知道
回复

使用道具 举报

 楼主| 发表于 2008-8-4 17:50:01 | 显示全部楼层

就没有小点的中文字体么……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-23 15:29 , Processed in 0.049986 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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