LinuxSir.cn,穿越时空的Linuxsir!

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

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

[复制链接]
发表于 2009-8-5 11:23:13 | 显示全部楼层
我再去試試,我記得不能換。原來換了沒有動作的。
回复 支持 反对

使用道具 举报

发表于 2009-8-5 11:29:42 | 显示全部楼层
回复楼上的,
zhou3345说:是可以通过genkernel --splash=emerge-world --ramdisk的方式来生成一个initram.意思是产生一个添加splash支持的initramfs 文件,不是用它来产生一个有其他功能的(如busybox.lvm)的initramfs.呵呵!


在fbcondecor启动之前,内核加载(进入内存)之后没有它的效果,我 就想要这段时间都有效果,这样屏幕就少一次切换了.我觉得既然都fbsplash了,而屏幕切换比没有它次数还多,这个有点说不过去吧!呵呵!
回复 支持 反对

使用道具 举报

发表于 2009-8-5 11:35:01 | 显示全部楼层
感謝樓上的回答。我知道他是什麽意思了。他是想只用一個kernel,不要initramfs,把這個initramfs放到kernel裏面去。於是就用一下這個東西。

如樓上所說,如果只改grub命令行而不重新做initramfs,後面確實能夠正常。但是前面initramfs載入后第一時間得不到fbsplash的效果。所以我說不能亂改就是這個意思,會不完美的。
回复 支持 反对

使用道具 举报

发表于 2009-8-5 11:44:05 | 显示全部楼层
Post by 亞利艾爾;2012873
感謝樓上的回答。我知道他是什麽意思了。他是想只用一個kernel,不要initramfs,把這個initramfs放到kernel裏面去。於是就用一下這個東西。

如樓上所說,如果只改grub命令行而不重新做initramfs,後面確實能夠正常。但是前面initramfs載入后第一時間得不到fbsplash的效果。所以我說不能亂改就是這個意思,會不完美的。

是这样子的,如果不把theme打到initramfs里面的话,在载入模块那一个步骤是没有splash出现的,只有在init过程开始后才会出现。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-5 11:46:35 | 显示全部楼层
我还没有找到完美的解决方案,就算是windows也还是会有选择系统时难看的黑屏,出现错误重启(或F8)后的黑底白字,偶尔底部还会有进度条。

@hubert_star  确实是这样子的。但为了加快启动时间我放弃它了。

从grub启动到splash加载的中间,是有一些文本显示,其中有
1. grub加载kernel时的提示。这个我不知道如何隐藏,请教。
2. kernel加载后到splash启动前的几行文字提示。这个即使用genkernel生成了 initramfs 文件,在我这里还是会有几行文字(比不用要少几行),这个我也不知道如何完全隐藏它。同时加载 ramfs是需要几秒时间的,因此我放弃了ramdisk文件。

天地本不全嘛,追求完美当然是好的,但太过刻意的要求绝对完美也是不现实的。就好像用gentoo就得忍受其无尽的编译一样。

回楼下:用quiet也不管用。难道跟我用了 gfxboot 有关?我去试试,再来回复。
回复 支持 反对

使用道具 举报

发表于 2009-8-5 11:49:28 | 显示全部楼层
你用quiet也不管用吗?

我这里仅仅是在grub启动内核的时候很快闪烁一下就进入splash了,然后一直就是splash直至gdm启动
回复 支持 反对

使用道具 举报

发表于 2009-8-5 12:00:34 | 显示全部楼层
Post by zhou3345;2012884
我还没有找到完美的解决方案,就算是windows也还是会有选择系统时难看的黑屏,出现错误重启(或F8)后的黑底白字,偶尔底部还会有进度条。

@hubert_star 确实是这样子的。但为了加快启动时间我放弃它了。

从grub启动到splash加载的中间,是有一些文本显示,其中有
1. grub加载kernel时的提示。这个我不知道如何隐藏,请教。
2. kernel加载后到splash启动前的几行文字提示。这个即使用genkernel生成了 initramfs 文件,在我这里还是会有几行文字(比不用要少几行),这个我也不知道如何完全隐藏它。同时加载 ramfs是需要几秒时间的,因此我放弃了ramdisk文件。

天地本不全嘛,追求完美当然是好的,但太过刻意的要求绝对完美也是不现实的。就好像用gentoo就得忍受其无尽的编译一样。

回楼下:用quiet也不管用。难道跟我用了 gfxboot 有关?我去试试,再来回复。


grub載入的時候的字,我是沒有辦法。你上網上搜下吧。
關於完全隱藏的話,quiet可以幫忙。也只能這樣。你可以看看有沒有辦法讓內核載入的時候一個字都不顯示的參數。

另外:
我認為編譯是完美的,Gentoo的編譯是完美的……

看了下,Fedora的Plymouth好像解決了內核載入后一小回的那些個字。有興趣的朋友可以和Gentoo Developers練習合作把plymouth弄過來。
回复 支持 反对

使用道具 举报

发表于 2009-8-5 12:51:30 | 显示全部楼层
Post by nonplus;2012168
@zhou3345:此举不错,不过在下
@MeaCulpa:额,您陷入一个误区。。。

1. 无论是哪种版本的kernel source采用的最原始配置均一样,gentoo并没有自己擅自改动过
其他Distro都是自己重新配置成最为通用的kernel状态,当然这样出来的大小非常客观(近百M)

2. 用genkernel所采用的是genkernel自己提供的配置,若有疑问自行genkernel --menuconfig 即可知,而genkernel貌似没有跟着kernel版本的升高而跟着变更配置以适应,这也是没办法,kenrel基本上每几个月就变动一次,对于追新族来说或许你才开始用正式版他已经开始git了

3. 如果开个google code专门来配置/移植其他Distro的配置是可能,问题是每个人的配置不同,没人喜欢编译一大堆无用的模块,纯粹浪费时间……(10分钟编译完kernel跟1个小时的差距非常大)

你误解了。。。

1. 既然有不带配置的genkernel, 为什么不做好自己的配置?发布Patch和写好配置难道不是同等重要么?

2.genkernel不需要存放默认的配置,配置当然应该是放在gentoo-source这样的包里面。随kernel,kernel patch一起发布。如果这样的话,何来第二点问题?就算现在不是这样,对gentoo dev来说每发布一个gentoo-source测试一下难道很累么?这是我最想不通的地方...genkernel像是捡来的孩子,不如从手册中写明必须指定config

3. 如果默认的gentoo-source配置通用性比其他Distro默认配置差很多,那用户是被逼迫的去调整配置了。这个世界的现状,绝对是用通用Kernel的比完全自定义kernel的用户多得多。遇到新硬件新环境kernel不支持的时候调整配置花的时间,恐怕远大于肥内核那个编译时间吧。

我还是觉得,既然gentoo提供了肥内核的安装,就应该把他做好,否则应该去掉默认liveCD配置,不给用户以走弯路的机会。而现在默认肥内核也没差到这个地步,至少我每次升级都会编一个肥的玩玩看。没有严重的问题。
回复 支持 反对

使用道具 举报

发表于 2009-8-5 13:17:19 | 显示全部楼层
Post by zhou3345;2012833
就是这句话,让我认为你没有理解清楚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的文档再来进一步回复了:)



我终于知道跟你的分歧在哪里了
我说到是grub之后——init之前的splash,而你说到是init之后的
误会由此而生,并非对于其他任何地方不解造成


Post by 亞利艾爾;2012842
樓上也不對。grub那里的主題是不能換的。那個的存放地址是initramfs文件中的/etc/splash。如果你換了就不會在第一時間啟用fbsplash。

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

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

别想太多,intel显卡对宽屏除了KMS外只有少数卡支持而已
恩,有爱,头像都写着



Post by zhou3345;2012884
我还没有找到完美的解决方案,就算是windows也还是会有选择系统时难看的黑屏,出现错误重启(或F8)后的黑底白字,偶尔底部还会有进度条。

@hubert_star  确实是这样子的。但为了加快启动时间我放弃它了。

从grub启动到splash加载的中间,是有一些文本显示,其中有
1. grub加载kernel时的提示。这个我不知道如何隐藏,请教。
2. kernel加载后到splash启动前的几行文字提示。这个即使用genkernel生成了 initramfs 文件,在我这里还是会有几行文字(比不用要少几行),这个我也不知道如何完全隐藏它。同时加载 ramfs是需要几秒时间的,因此我放弃了ramdisk文件。

天地本不全嘛,追求完美当然是好的,但太过刻意的要求绝对完美也是不现实的。就好像用gentoo就得忍受其无尽的编译一样。

回楼下:用quiet也不管用。难道跟我用了 gfxboot 有关?我去试试,再来回复。

其实单只加载splash的initramfs并不拖慢很多,我这里1s都不到……
尝试把所有依赖扔kernel里面单splash的initramfs启动看看速度如何
回复 支持 反对

使用道具 举报

发表于 2009-8-5 13:24:57 | 显示全部楼层
我 提出这个问题的初衷是让启动时少一些屏幕切换,要达象fedora一样的效果哦!
就是这样子的.看了大家的讨论后,学了不少啊!
回复 支持 反对

使用道具 举报

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

本版积分规则

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