LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 71331|回复: 306

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

[复制链接]
发表于 2009-8-3 12:15:17 | 显示全部楼层 |阅读模式
看到有不少新用gentoo的朋友对kernel编译很陌生,经常引起一些无谓的错误。虽然自己经验有限,但想在这里帮助一下苦于内核编译而止步于gentoo的朋友。

方式:提供您的硬件配置
1.cpu具体型号/主板芯片组/显卡芯片/声卡芯片/网卡芯片
2.livecd的 ls pci 结果。
3.您的特殊要求

为您提供:配置好的.config文件。
1. 采用portage中的gentoo-sources内核最新版配置
2. 只修改添加 硬件驱动/文件系统/网络设置(ipv4 only),不修改其他默认选项。
3. 所修改了的部分以文档形式公布

请各位给个意见,如果觉得有必要,敬请关注,并给出建议;如果没必要就沉了它吧:)

===================有感版主盛情,添加内核编译快速指南一篇(原创),欢迎围观指正============

开始之前
本文是gentoo安装手册内核编译部分的补充,旨在帮助大家快速构建一个可用的内核。请在阅读本文之前先仔细阅读手册中的相关部分:http://www.gentoo.org/doc/zh_cn/ ... mp;chap=7#doc_chap2

模块/电源管理/块文件等
  1. General setup  --->
  2.     <*> Kernel .config support
  3.     {*}   Enable access to .config through /proc/config.gz
  4. Processor type and features  --->
  5.     Processor family (Core 2/newer Xeon)  --->               #请根据自己的cpu型号选择
  6. Power management and ACPI options  --->
  7.     CPU Frequency scaling  --->
  8.           { }   Enable CPUfreq debugging
  9.           <*>   CPU frequency translation statistics
  10.           {*}     CPU frequency translation statistics details
  11.                 Default CPUFreq governor (ondemand)  --->      #笔记本或想省电的台式机选ondemand,普通台式机选userspace
  12.           -*-   'performance' governor
  13.           <*>   'powersave' governor
  14.           <*>   'userspace' governor for userspace frequency scaling
  15.           -*-   'ondemand' cpufreq policy governor
  16.           <*>   'conservative' cpufreq governor
  17. Networking support  --->
  18.     Networking options  --->
  19.           < >   The IPv6 protocol  --->              #如果不用ipv6,还是取消它吧。
  20.           <*> 802.1d Ethernet Bridging
  21.           <*> 802.1Q VLAN Support
  22.           {*} Network packet filtering framework (Netfilter)  --->
  23.                   {*}   Advanced netfilter configuration
  24.                   Core Netfilter Configuration  ---> #选中这里面的所有选项
  25.                   IP: Netfilter Configuration  --->  #选中这里面的所有选项
复制代码

驱动
硬盘接口
一般来说只用libata驱动就够了,按照你的主板芯片选择相应的驱动
  1. Device Drivers  --->
  2.      < > ATA/ATAPI/MFM/RLL support  ---> #取消老的IDE驱动,此驱动将IDE硬盘识别为 /dev/hd*
  3.      <*> Serial ATA (prod) and Parallel ATA (experimental) drivers  ---> #选择libata驱动,此驱动将所有(包括IDE)硬盘统一识别为 /dev/sd*。
  4.             #下面请按自己的芯片型号来选择。
  5.            <*>   AHCI SATA support                                  #这个最好选上,包含了很多最新的sata驱动,包括ICH9/ati等的驱动
  6.            < >     Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support  #intel芯片组(<=ICH8)
  7.            < >     NVIDIA SATA support                             #nforce芯片组
  8.            < >     SiS 964/965/966/180 SATA support       #sis芯片组
  9.            < >     VIA SATA support                                   #via芯片组
  10.            -----------以下是IDE硬盘驱动----------
  11.            < >     AMD/NVidia PATA support       #nv芯片组
  12.            < >     ATI PATA support                       #ati/amd芯片组
  13.            < >     Intel PATA MPIIX support          #intel芯片组
  14.            < >     SiS PATA support                       #sis芯片组
  15.            < >     VIA PATA support                      #via芯片组
复制代码
网卡驱动(稍后奉上)

声卡驱动
现在多数用的都是集成声卡,声卡控制器集成在南桥芯片中。老一点的主板用的是AC97,近两年买的主板应该用的都是Intel HD Audio了。
  1. Device Drivers  --->
  2.    <*> Sound card support  --->
  3.         <*>   Advanced Linux Sound Architecture  --->
  4.                {*}   PCI sound devices  --->
  5.                      <M>   Intel HD Audio  --->                #请根据自己的主板芯片和声卡芯片来选择
  6.                            { }   Build Realtek HD-audio codec support            #螃蟹声卡芯片
  7.                            { }   Build Analog Device HD-audio codec support      #AD声卡芯片
  8.                            { }   Build IDT/Sigmatel HD-audio codec support       #sigmatel声卡芯片
  9.                            { }   Build VIA HD-audio codec support                #via主板芯片
  10.                            { }   Build ATI HDMI HD-audio codec support           #ati/amd主板芯片
  11.                            { }   Build NVIDIA HDMI HD-audio codec support        #nv主板芯片
  12.                            { }   Build INTEL HDMI HD-audio codec support         #intel主板芯片
  13.                            {*}   Enable generic HD-audio codec parser             #通用解码器
  14.                            {*}   Aggressive power-saving on HD-audio              #省电支持
复制代码
显卡驱动
  1. Device Drivers  --->
  2.     Graphics support  --->
  3.         <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)  ---> #根据自己的主板芯片来选择
  4.         -*- Support for frame buffer devices  --->
  5.                 { }   Enable Tile Blitting Support
  6.                 <*>   Userspace VESA VGA graphics support                       
  7.                 { }   EFI-based Framebuffer Support
  8.                 Console display driver support  --->
  9.                         {*}   Support for the Framebuffer Console Decorations
  10.                 { } Bootup logo  --->
复制代码

文件系统
除了手册中提到的文件系统之外,中文用户应该添加一些中文的支持:
  1. File systems  --->
  2.   <M> FUSE (Filesystem in Userspace) support
  3.        DOS/FAT/NT Filesystems  --->
  4.             (936) Default codepage for FAT
  5.             (utf8) Default iocharset for FAT
  6.        -*- Native language support  --->
  7.             <*>   Simplified Chinese charset (CP936, GB2312)
复制代码
校验算法支持
  1. -*- Cryptographic API  --->
  2.    <*>   CRC32c CRC algorithm
  3.    <*>   CRC32c INTEL hardware acceleration
  4.    <*>   SHA224 and SHA256 digest algorithm
  5.    <*>   SHA384 and SHA512 digest algorithms
  6.    <*>   AES cipher algorithms (x86_64)
  7.    <*>   Zlib compression algorithm
  8.    <*>   LZO compression algorithm
复制代码
发表于 2009-8-3 13:52:59 | 显示全部楼层
gentoo-source的默认配置真的那么不济?
我觉得首先应该教育新人把自行内核配置和安装Gentoo撇开,澄清一些误导信息。

如果大家真的genkernel all遇到问题概率比其他Distro高,那么显然是gentoo-source的默认配置相比其他发行版太烂,需要直接发布默认配置的patch了。
回复 支持 反对

使用道具 举报

发表于 2009-8-3 14:55:07 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2009-8-3 14:56:13 | 显示全部楼层
Post by MeaCulpa;2012149
gentoo-source的默认配置真的那么不济?
我觉得首先应该教育新人把自行内核配置和安装Gentoo撇开,澄清一些误导信息。

如果大家真的genkernel all遇到问题概率比其他Distro高,那么显然是gentoo-source的默认配置相比其他发行版太烂,需要直接发布默认配置的patch了。


要清楚一个概念:其他发行版发行的二进制包没办法去区别不同机器,所以要在编译的时候尽可能选择多的模块;而gentoo是为每台机器优化的,自己机器上不需要的模块,不见得别的机器也不需要,反之亦然。

genkernel也只不过是一个方便配置的工作,不可能也不应该由它来处理模块依存关系。
回复 支持 反对

使用道具 举报

发表于 2009-8-3 14:58:10 | 显示全部楼层
@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个小时的差距非常大)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-3 16:52:17 | 显示全部楼层

版主原来有这样的好东西收藏着没有拿出来。

楼上,授人以渔当然好了。但在还没有抓住鱼,却又想吃鱼的时候怎么办呢?
此举只是想新手快速入门,相信熟悉了之后不会长期依赖此配置的。

相对于其他发行版,gentoo的入门门槛确实太高了,感觉做一做引导工作还是有必要的,其实zhllg主持的文档翻译正是为此。但由于国情不同,咱们也不能总是依赖别人写的文章,我们自己的经验也应该有个网上图书馆(wiki)来收集起来。

顺便向zhllg申请翻译内核配置指南http://www.gentoo.org/doc/en/kernel-config.xml (不知是否有人抢先了。)
回复 支持 反对

使用道具 举报

发表于 2009-8-3 18:02:09 | 显示全部楼层
  1. 授人鱼的同时授一下渔
复制代码


您没理解这句的意思。。。
  1. 二者同时授
复制代码

我想表达的是这个意思


呵呵,还真看到某贴了,可惜蝌蚪文不是很好,不然我也加入
回复 支持 反对

使用道具 举报

发表于 2009-8-3 18:12:36 | 显示全部楼层
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个小时的差距非常大)

genkernel 的配置問題沒有那么噁心。其實完全可以從 /proc/config.gz 中弄出來,然後 genkernel --kernel-config=/config --oldconfig all 就行了,完全不用那樣麻煩。默認的配置是實在實在不行了才用。

--oldconfig 要用好。
回复 支持 反对

使用道具 举报

发表于 2009-8-3 18:24:45 | 显示全部楼层
@亞利艾爾: 看来您误会我的意思了
和 MeaCulpa 说的仅仅是默认配置问题,并不涉及其他任何方法
我想向他表明的仅是所有Distro默认所用的配置均是一份,genkernel提供的是它本身一份“残缺”的(相对于二进制版本来说)同时又是“肥胖”的(相对于自己配置的)配置


/proc/config.gz需要kernel里面启用才有,对于不断推陈出新的kenrel来说,配置路径、依赖可能会有所不同(比如30和31里面的rfkill-input所需依赖便不同),用此配置也不好说直接合适,还是需要自己menuconfig看具体情况如何
回复 支持 反对

使用道具 举报

发表于 2009-8-3 20:14:30 | 显示全部楼层
http://www.gentoo-cn.org/trads/ 根据这个网页, kernel-config 还没有人翻译

我也是刚刚在gentoo planet上看到那个东西
回复 支持 反对

使用道具 举报

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

本版积分规则

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