LinuxSir.Org  
| 网站首页 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
置顶的主题 精华主题  
主题工具
旧 09-08-04, 12:02 第 16 帖
亞利艾爾
 
 
 
注册会员  
  注册日期: Feb 2008
  帖子: 1,858
  精华: 1
 

引用:
作者: zhou3345
@亞利艾爾 genkernel默认加载的东西太多了,虽然俺没有洁癖,可看着白白耗费那么长的编译时间……,可能还真是有洁癖:(

@nonplus sorry,只匆匆扫了几眼就回复了,没认真看。俺的本意就是如此。

@vdgame 其实也是想通过这个机会多搜集一些主流硬件信息,以及内核设置的运行情况,看能不能弄个综合的faq作为指南的补充。

@zhllg 这几天有空,尽快交稿:)
能有多少多的呢?一個busybox,一個udev的東西,如果你不加其它的什麽lvm luks raid之類的東西就沒有了。至於配置的模組,主動權在你這。你不要ext2就去掉就可以了。編譯時間沒有區別。製作initramfs的時間大概是30秒不到。其它的時間就你自己設置的問題了。
  都是錯覺,什麽genkernel怎麼怎麼慢或者怎麼怎麼大……







__________________
藥用高分子也考試……
  亞利艾爾 当前离线   回复时引用此帖
旧 09-08-04, 13:04 第 17 帖
smali
 
smali 的头像
 
 
注册会员  
  注册日期: Sep 2006
  帖子: 33
  精华: 0
 

呵呵,现在响应算不算晚?~
zhou3345 老师的想法对我等新手还是很有帮助的,主要体现在修改部分公布上
  smali 当前离线   回复时引用此帖
旧 09-08-04, 15:46 第 18 帖
LongerZ
 
LongerZ 的头像
 
 
注册会员  
  注册日期: Sep 2007
  帖子: 755
  精华: 1
 

个人认为:如果确切知道了硬件的详细信息,其实配置一个自己可用的内核应该没太大问题了,除非你的e文确实很糟糕~







__________________
Gentoo+Xfce4.8 @
P5Q-deluxe
Core2 duo E8200 3.2G
PX8600GT
WD 1T ICH10R- Raid0
Asus 24B1LT
  LongerZ 当前离线   回复时引用此帖
旧 09-08-04, 20:29 第 19 帖
2603301009 帅哥
 
2603301009 的头像
 
 
注册会员  
  注册日期: Apr 2008
  我的住址: 成都
  帖子: 272
  精华: 0
 

支持一个!
帮我看看这是什么原因吧!

图中的 的选中不分不能y和m??


我打算弄uvesafb,已经安装了v86d了
还是不让选


kernel hanck里的项 该怎么选啊!我就没动过!


我也是编译<10分钟,呵呵!


genkernel 的initramfs 该怎么精简啊?我把/etc/genkernel.conf 的busbox lvm 等相关的注释掉后,编译后又警告!
其实我不用initramfs 也能启动,不过为了学习linux想弄下fbsplash!



(图上传了)
上传的图像
文件类型: png kernelconfig.png (67.0 KB, 101 次查看)

此帖于 09-08-05 00:21 被 2603301009 编辑.
  2603301009 当前离线   回复时引用此帖
旧 09-08-04, 21:25 第 20 帖
zhou3345 帅哥
 
zhou3345 的头像
 
 
注册会员  
  注册日期: Aug 2002
  帖子: 2,692
  精华: 2
 

引用:
作者: 2603301009
支持一个!
帮我看看这是什么原因吧!

图中的 的选中不分不能y和m??


我打算弄uvesafb,已经安装了v86d了
还是不让选


kernel hanck里的项 该怎么选啊!我就没动过!


我也是编译<10分钟,呵呵!


genkernel 的initramfs 该怎么精简啊?我把/etc/genkernel.conf 的busbox lvm 等相关的注释掉后,编译后又警告!
其实我不用initramfs 也能启动,不过为了学习linux想弄下fbsplash!
我也是前些天才发现,原来不用initramfs也一样的有fbsplash的进度条。只要内核中配置好相关的选项就是了。

把官方的uvesafb简单翻译了一下:

官方教程翻译如下:

本指南假定您使用Gentoo Linux。如果您使用的正好是其他发行版,请将与emerge有关的代码替换为: unpack ; ./configure ; make ; make install

1. cd /usr/src/linux
2. 修改内核配置; 在 "Device Drivers" 选项中选择:
Connector - unified userspace <-> kernelspace linker and
Graphics support ---> Support for frame buffer devices ---> Userspace VESA VGA graphics support
(that's CONFIG_CONNECTOR=y and CONFIG_FB_UVESA=y)
3. 编译内核: make
4. 重新安装 klibc: emerge klibc
注:: 这个步骤是必须的,因为klibc必须在内核有uvesafb的基础上编译。您只需这样做一次,例如,您不必在每次编译新内核或新模块后重新安装klibc。
5. 安装 v86d: emerge v86d
6. 重新配置内核; 在 "General Setup" 选项中选择:
Initial RAM filesystem and RAM disk (initramfs/initrd) support
and use /usr/share/v86d/initramfs in Initramfs source file(s).
(that's CONFIG_INITRAMFS_SOURCE="/usr/share/v86d/initramfs")
7. 重新编译内核: make, and install it
8. 添加 video=uvesafb:1024x768-32,mtrr:3,ywrap (或者类似代码,请根据具体情况修改分辨率及其他选项) 到内核启动命令行
9. 重启然后享受 uvesafb 吧

=======================
上面的文章中所没有提到,却应该知道的:
1. splash的组件和主题:USE="fbcondecor" emerge splashutils splash-themes-gentoo splash-themes-livecd

2.内核选项:
代码:
Device Drivers ---> Graphics support ---> <*> Support for frame buffer devices ---> <*> Userspace VESA VGA graphics support ##除了这一项,别的都不需要选,有一个不能改,不用理会。 Console display driver support ---> <*> Framebuffer Console support [*] Support for the Framebuffer Console Decorations ##这一项一定得选。
3. 将 fbcondecor加入启动。
rc-update add fbcondecor boot

4. 附上俺的 menu.lst 选项
代码:
title funtoo Linux root (hd0,4) kernel /boot/kernel-2.6.30-r4 video=uvesafb:1440x900-32,mtrr:3,ywrap splash=silent,theme:emerge-world console=tty1 root=/dev/sda5 ro quiet fastboot







__________________
身健则心灵,心灵则易悟。
Good good --sync
Day day --update

http://github.com/transtone/transconfig

此帖于 09-08-04 21:28 被 zhou3345 编辑.
  zhou3345 当前离线   回复时引用此帖
旧 09-08-04, 22:33 第 21 帖
nonplus
 
nonplus 的头像
 
 
注册会员  
  注册日期: Jan 2009
  帖子: 645
  精华: 0
 

额。。。不是不用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

此帖于 09-08-04 22:36 被 nonplus 编辑.
  nonplus 当前离线   回复时引用此帖
旧 09-08-05, 00:30 第 22 帖
2603301009 帅哥
 
2603301009 的头像
 
 
注册会员  
  注册日期: Apr 2008
  我的住址: 成都
  帖子: 272
  精华: 0
 

截图我补上了,上次望穿图就发帖了.帮我看看为什么不让选?

我看过gentoo wiki上的指南了,就是有编译内核时,不能选Initramfs source file(s)
Initramfs source file(s)仅依赖于其上的Initial RAM filesystem an RAM disk (initramfs/initrd) support.我就不明白为什么了??
  2603301009 当前离线   回复时引用此帖
旧 09-08-05, 01:13 第 23 帖
zhou3345 帅哥
 
zhou3345 的头像
 
 
注册会员  
  注册日期: Aug 2002
  帖子: 2,692
  精华: 2
 

引用:
作者: 2603301009
截图我补上了,上次望穿图就发帖了.帮我看看为什么不让选?

我看过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效果的。

此帖于 09-08-05 01:20 被 zhou3345 编辑.
  zhou3345 当前离线   回复时引用此帖
旧 09-08-05, 09:36 第 24 帖
nonplus
 
nonplus 的头像
 
 
注册会员  
  注册日期: Jan 2009
  帖子: 645
  精华: 0
 

额,我又表达不清了……

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


至于Initramfs source file(s)开始有点犯晕了……
在同个kernel下不知你能否指定不同theme
  nonplus 当前离线   回复时引用此帖
旧 09-08-05, 10:54 第 25 帖
2603301009 帅哥
 
2603301009 的头像
 
 
注册会员  
  注册日期: Apr 2008
  我的住址: 成都
  帖子: 272
  精华: 0
 

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

@nonplus 你的说法不完全正确,initrd的flash和kernel的flash是两个东西。内核里支持是必须要的,如果不选是没有fbsplash效果的。
我还以为编译内核只有y,n,m,数字呢!呵呵要自己指定的还第一次遇到!知道啦!哈哈!

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

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


能弄成fedora那个新技术式的就 更好了 !
  2603301009 当前离线   回复时引用此帖
旧 09-08-05, 10:58 第 26 帖
zhou3345 帅哥
 
zhou3345 的头像
 
 
注册会员  
  注册日期: Aug 2002
  帖子: 2,692
  精华: 2
 

引用:
作者: nonplus
至于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的文档再来进一步回复了:)
  zhou3345 当前离线   回复时引用此帖
旧 09-08-05, 11:06 第 27 帖
亞利艾爾
 
 
 
注册会员  
  注册日期: Feb 2008
  帖子: 1,858
  精华: 1
 

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

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

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

此帖于 09-08-05 11:20 被 亞利艾爾 编辑.
  亞利艾爾 当前离线   回复时引用此帖
旧 09-08-05, 11:09 第 28 帖
2603301009 帅哥
 
2603301009 的头像
 
 
注册会员  
  注册日期: Apr 2008
  我的住址: 成都
  帖子: 272
  精华: 0
 

是可以通过genkernel --splash=emerge-world --ramdisk的方式来生成一个initram,
我现在的就是这样作出来的!

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


又不懂了!

这种求真的精神令人敬佩啊!
大家都很积极的在讨论啊!呵呵!
  2603301009 当前离线   回复时引用此帖
旧 09-08-05, 11:19 第 29 帖
亞利艾爾
 
 
 
注册会员  
  注册日期: Feb 2008
  帖子: 1,858
  精华: 1
 

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中的部件。
  亞利艾爾 当前离线   回复时引用此帖
旧 09-08-05, 11:20 第 30 帖
zhou3345 帅哥
 
zhou3345 的头像
 
 
注册会员  
  注册日期: Aug 2002
  帖子: 2,692
  精华: 2
 

引用:
作者: 亞利艾爾
樓上也不對。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。
  zhou3345 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 01:09


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2012, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2011, LinuxSir.Org