LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: zhou3345

[服务新手] gentoo-sources内核.config文件配置服务

[复制链接]
发表于 2009-8-4 22:33:14 | 显示全部楼层
额。。。不是不用initrd而是你用了它提供的一份

做fbsplash效果本身不需要说fb一定编译成模块扔到initrd下,编译进kernel里面也行
需要扔到initrd里面的是fbsplash而已
说到底不过就是一个一启动就识别fb一个是加载initrd之后再识别而已


CONFIG_INITRAMFS_SOURCE="/usr/share/v86d/initramfs"
这个对应的是
General setup  --->
Initramfs source file(s) (NEW)

可以指定预读位置,比如指定为/boot/initrd.img然后menu.lst不写initrd /boot/initrd.img都会读取到initrd.img
回复 支持 反对

使用道具 举报

发表于 2009-8-5 00:30:50 | 显示全部楼层
截图我补上了,上次望穿图就发帖了.帮我看看为什么不让选?

我看过gentoo wiki上的指南了,就是有编译内核时,不能选Initramfs source file(s)
Initramfs source file(s)仅依赖于其上的Initial RAM filesystem an RAM disk (initramfs/initrd) support.我就不明白为什么了??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-5 01:13:03 | 显示全部楼层
Post by 2603301009;2012760
截图我补上了,上次望穿图就发帖了.帮我看看为什么不让选?

我看过gentoo wiki上的指南了,就是有编译内核时,不能选Initramfs source file(s)
Initramfs source file(s)仅依赖于其上的Initial RAM filesystem an RAM disk (initramfs/initrd) support.我就不明白为什么了??

你的截图很正常。是不能选啊,这个选项是需要你回车,然后手动输入initramfs的路径的。请仔细看上面的指南。

@nonplus 你的说法不完全正确,initrd的flash和kernel的flash是两个东西。内核里支持是必须要的,如果不选是没有fbsplash效果的。
回复 支持 反对

使用道具 举报

发表于 2009-8-5 09:36:44 | 显示全部楼层
额,我又表达不清了……

简单说,把fbsplash所需所有依赖扔kernel里面或者把依赖扔到initrd.img里面,2者皆可实现flash效果
——我想表达的中心

难道我需要回去补语言表达……


至于Initramfs source file(s)开始有点犯晕了……
在同个kernel下不知你能否指定不同theme
回复 支持 反对

使用道具 举报

发表于 2009-8-5 10:54:20 | 显示全部楼层
Post by zhou3345;2012767
你的截图很正常。是不能选啊,这个选项是需要你回车,然后手动输入initramfs的路径的。请仔细看上面的指南。

@nonplus 你的说法不完全正确,initrd的flash和kernel的flash是两个东西。内核里支持是必须要的,如果不选是没有fbsplash效果的。


我还以为编译内核只有y,n,m,数字呢!呵呵要自己指定的还第一次遇到!知道啦!哈哈!

应该都是fbflash,只是两种不截然不同的实现方式吧?有点想"一国两制"???
我比较喜欢内核支持这种,应该会少切换屏幕一次吧?

我现在是initramfs式的,现看到两个小企鹅,才切换到fbsplash,不是直接从grub切换到fbsplash的,不爽!!


能弄成fedora那个新技术式的就 更好了 !
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-5 10:58:42 | 显示全部楼层
Post by nonplus;2012807

至于Initramfs source file(s)开始有点犯晕了……
在同个kernel下不知你能否指定不同theme


就是这句话,让我认为你没有理解清楚uvesafb/v86d的工作机制。

对你的上述回复理解(不知道是否正确):你认定/usr/share/v86d/initramfs就是一个fbsplash的ramdisk,包含theme和一些脚本等,而且theme也是固定的。而我觉得你的理解不完全对。

就gentoo的splash发展来说,大体经历了 bootsplash --> vesafb --> uvesafb 这几个阶段,其中 uvesafb 是为宽屏和兼容非x86系统而生的(vesafb不支持宽屏分辨率)

我只说说现在最常用的 uvesafb。
1. 要使用 uvesafb,必须配合 v86d / klibc ,以及在内核中设置相关的选项,其中关键的是指定 /usr/share/v86d/initramfs 的路径。
2. 有了uvesafb的支持,系统可以进入一个frambuffer的console,从而达到修改console分辨率,字体样式等目的。
3.如果您需要有一个漂亮的splash进度条,以及进入console之后的窗口装饰,就必须配合 splashutils 这个工具了(注意编译的时候加上 fbcondecor 的支持)。有了这个工具,就可以自由选择theme主题,主题必须放在 /etc/splash/目录下。一些常见的主题可以emerge。
4. 要使用splashutils的进度条,需要在grub的命令行中指定theme,通过 “splash=silent,theme:emerge-world ”这句话来完成。这里的主题是可以任意更换的,只要 /etc/splash 目录下安装了有。
5.如果还需要console 装饰,则须启动 fbcondecor,通过 #/etc/init.d/fbcondecor start

这里说说我们的分歧:
是可以通过genkernel --splash=emerge-world --ramdisk的方式来生成一个initram,将主题加入其中,但我认为,这个主题和上面我说的 splashutils是两个东东。使用uvesafb的系统启动时的splash大体经过了这样几个阶段:
grub-splash --> genkernel-splash --> splashutils-splash
其中用到genkernel-splash的时间很短,所以我现在干脆不用了。
不能说splashutils和内核设置没有任何关系,但至少其theme不受内核(uvesafb)控制。

ps,表达不清其实源于理解不透彻,我也得仔细看看uvesafb的文档再来进一步回复了:)
回复 支持 反对

使用道具 举报

发表于 2009-8-5 11:06:43 | 显示全部楼层
樓上也不對。grub那里的主題是不能換的。那個的存放地址是initramfs文件中的/etc/splash。如果你換了就不會在第一時間啟用fbsplash。

而且也是bootsplash->gensplash->fbsplash。vesafb和uvesafb只是FrameBuffer驅動,與splash無關。至於uvesafb,我到現在也沒有搞出來我的寬屏分辨率,最後還是用KMS搞的。

@nonplus:嘿嘿,語文不好。和我一樣。一起補課吧……就是因為語文不好才不好意思去翻譯文檔,怕去幫倒忙。要有愛,要有愛……
回复 支持 反对

使用道具 举报

发表于 2009-8-5 11:09:13 | 显示全部楼层
是可以通过genkernel --splash=emerge-world --ramdisk的方式来生成一个initram,
我现在的就是这样作出来的!

关于genkernel-splash 和 splashutils-splash,能具体区分下吗?


又不懂了!

这种求真的精神令人敬佩啊!
大家都很积极的在讨论啊!呵呵!
回复 支持 反对

使用道具 举报

发表于 2009-8-5 11:19:09 | 显示全部楼层
genekrnel --splash=xxxx initrd就可以生產initramfs。

暈死,這都是誰發明的詞。什麽xxx-splash。這要是在#gentoo-chat會被拉去聽課的。上次我去#gentoo-chat,碰上了好像是spock,好了……大解釋特解釋一堆,直到把我教到看上去是聽懂fbsplash和fbcondecor為止。

簡單的說要想完全的從頭看到最后都有fbcondecor的效果,先要讓initramfs在啟動內核后第一時間啟動fbsplash。後面由/etc/init.d/fbcondecor來接手。/etc/init.d/fbcondecor是media-gfx/splashutils中的部件。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-5 11:20:16 | 显示全部楼层
Post by 亞利艾爾;2012842
樓上也不對。grub那里的主題是不能換的。那個的存放地址是initramfs文件中的/etc/splash。如果你換了就不會在第一時間啟用fbsplash。

而且也是bootsplash->gensplash。vesafb和uvesafb只是FrameBuffer驅動,與splash無關。至於uvesafb,我到現在也沒有搞出來我的寬屏分辨率,最後還是用KMS搞的。


我不知道您换过没有,反正现在我想怎么换就怎么换:)
可以看看我的grub命令行,完全抛弃了initrd,至少启动速度加快了好几秒,感觉真好。

说的对,vesafb/uvesafb 只是frambuffer的驱动,但splash是需要建立在此驱动之上的。
现在需要讨论弄清楚的是,genkernel和splashutils到底什么关系。
我实验的结果是,不用genkernel生成ramdisk,只用splashutils也一样有splash进度条,并且还可以通过修改grub命令行自由更换theme。
回复 支持 反对

使用道具 举报

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

本版积分规则

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