LinuxSir.cn,穿越时空的Linuxsir!

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

假如啊,我是说假如!(内核配置)

 关闭 [复制链接]
发表于 2010-5-2 11:54:00 | 显示全部楼层 |阅读模式
从第一个内核编译好成功引导,出X,听歌,上网,热插拔基本没问题到现在度过了两周时间,我深深的迷上了gentoo,文档是要认真学习的,开始文档不仔细,错误很多。
     x86的内核搞了两遍,系统也装了两遍,不过感觉系统没必要重装,只是第一次对于USE不太懂,搞得很混乱,最近这次就把所有的USE全写到/etc/portage/package.use里面了。
      因为发现用到32位的软件比较少,所以不能浪费64的CPU,就重装了,结果发现内核配置还是出了问题,在于一时疏忽,把原有的默认选择的给弄掉了。

      所以我想,内核配置能不能换个方法,不要一进去就是一个个紧凑的项目,如果能够按照硬件分类。
      cpu
      hd
      bus
      netcard
      soundcard
      netcard
      ......
      others

  第二级目录是基本选项,就是要用就必须选择的,第三级目录高级选项,用于精简

   有特殊硬件的就在others里找,既然都用了,也不能怕麻烦吧。

举例来说cpu ---> amd------> XXXXXX(高级选项)
                          intel
                          via
                          ......
         这样所有的都在一起,只要大类选中了,至少硬件能起得来。
         还有是不是能搞成依赖的,一个硬件依赖另外一个是常见的事情
         官方默认的选项可不可以搞个特殊的标志提醒下,否则新人选着选着就晕过去了,不知道该删哪个。
         有的常用的服务,感觉应默认选择,有的人不需要,他肯定知道是哪个,他自己去掉就可以了,像新人的话根本不懂得哪选项跟系统服务相关。
         感觉menuconfig很细致,但是第一次看非常乱,不贴合新人水平。
         当然有人会说,gentoo就是给高水平的人用的,那我没话说了。
         哪个什么BUS我哪里都没教程让选,开始怎么也启动不了,是看了制定帖子里某链接才知道I2C的选项的。类似的事情太多。
         而且,最哪个的是,所有的选项不是按照字母顺序排列的,找一个要找好久,弄了好几遍都还是只能记住大致位置
发表于 2010-5-2 12:17:34 | 显示全部楼层
其实谁都是这样子过来的。

每一个内核选项,不懂的话,就看附带的"help"。如果看help也不懂,那就google。google不可能不懂的,更何况有那么多人的经验可以借鉴。

我犹记得当初前几次配置内核的时候,往往配置完成后人有点虚脱。(有点夸张=A=)

但是慢慢地,你会总结出你属于你自己的配置方法的,那个时候,配置内核的时候,就会很顺了。

lspci -k

lsmod

这些都是好帮手。

所以,努力吧。

虽然我看不太懂你想表达的意思。
回复 支持 反对

使用道具 举报

发表于 2010-5-2 13:01:05 | 显示全部楼层
Post by beruchtigte;2087179


      所以我想,内核配置能不能换个方法,不要一进去就是一个个紧凑的项目,如果能够按照硬件分类。
      cpu
      hd
      bus
      netcard
      soundcard
      netcard
      ......
      others
难道现在没有分类?device drivers里边不就是这样分的么?CPU和BUS放在一级菜单是因为它们本身就是一级的。在系统结构里,CPU和BUS的江湖地位也要高于其他硬件,这样份是符合逻辑的。
  第二级目录是基本选项,就是要用就必须选择的,第三级目录高级选项,用于精简
如果是必须选择的,就不会放出来给你选,直接写进代码了。给你选就意味着在某些情况下你可以不选。要知道linux支持广泛地硬件平台,有的没有硬盘,有的没有显卡,有的没有网卡……对你有用的不见得对别人也有用,反过来也一样。
   有特殊硬件的就在others里找,既然都用了,也不能怕麻烦吧。
现在难道不是这样的?大哥你不会英文不好,只认识others这种级别的词汇?其实“杂项”这个意思有很多单词可以表达的
         还有是不是能搞成依赖的,一个硬件依赖另外一个是常见的事情
现在就是有依赖的,难道你没发现?在某个选项下按h,你会看到详细的指导,包括依赖关系。大多数地方按'/',可以搜索
         官方默认的选项可不可以搞个特殊的标志提醒下,否则新人选着选着就晕过去了,不知道该删哪个。
内核编译本来就不是为新人准备的。效率是很重要的,而且现在也算比较合理了,你要晕谁也没拦着。新人用genkernel不就行了?省得你自己烦。你删来删去,自觉很精简,除了编译的时候能快一点,根本不影响系统运行速度(调整cpu、资源调度等选项除外,估计你还没有接触到bfs这类的话题,不过很快就能接触了,比如现在)。
        
哪个什么BUS我哪里都没教程让选,开始怎么也启动不了,是看了制定帖子里某链接才知道I2C的选项的。类似的事情太多。
         而且,最哪个的是,所有的选项不是按照字母顺序排列的,找一个要找好久,弄了好几遍都还是只能记住大致位置
你要是从零开始选,那需要对整个内核有一定的了解才可以,这样你就必须了解各个硬件的信息、功能等等,所有这些内容,几乎可以写成好几本书了。所以不懂就不要从零开始,而且也没必要。我用了三年多了,还是有很多不懂,因为感觉没必要花时间搞懂。
最好是做减法,使用genkernel --menuconfig可以在genkernel的基础上往下减。

而且最那个的是,你竟然认为kernel config这样充满了逻辑性的东西竟然要按字母排序。。。当然,同类硬件不同厂家还是应该字母一下
回复 支持 反对

使用道具 举报

发表于 2010-5-2 17:21:38 | 显示全部楼层
@echo  '  localmodconfig  - Update current config disabling modules not loaded'
  @echo  '  localyesconfig  - Update current config converting local mods to core'
回复 支持 反对

使用道具 举报

发表于 2010-5-2 17:23:09 | 显示全部楼层
用一个livecd启动,解压缩一个内核源代码包,cd进去
zcat /proc/config.gz > .config
make localmodconfig

DONE!
回复 支持 反对

使用道具 举报

发表于 2010-5-2 19:57:57 | 显示全部楼层
Post by jsun;2087193

…………………………
如果是必须选择的,就不会放出来给你选,直接写进代码了。
…………………………


呵呵,必须选择也会放出来的,我把打花括号那些理解为“必须选择”的
回复 支持 反对

使用道具 举报

发表于 2010-5-2 23:03:18 | 显示全部楼层
又想着一开始就弄一个最精简的内核出来。。。

内核又不是不更新了,先把系统装好了,以后编译内核的机会多着呢。每次精简一点,几个月后一个精简的内核就出来了,急什么。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-5-3 00:40:01 | 显示全部楼层
额,lss的大哥,我就是那个意思。
ls大哥,我没想一下子就搞一个精简内核,我只是想要它能启动就好了,genkernel很慢啊
回复 支持 反对

使用道具 举报

发表于 2010-5-3 00:52:08 | 显示全部楼层
Post by beruchtigte;2087353
额,lss的大哥,我就是那个意思。
ls大哥,我没想一下子就搞一个精简内核,我只是想要它能启动就好了,genkernel很慢啊


从以前到现在一直用genkernel的路过..
内核这东西,除了少数几个对性能有影响的选项外,对你系统运行速度毫无影响..
你又不是搞嵌入式的,根本不需要精简内核...
genkernel慢?不觉得......觉得编译内核都慢,那你不适合用gentoo..
gentoo编译一个系统都几乎要半天...
你还是换例如fedora或者ubuntu之类的把..
回复 支持 反对

使用道具 举报

发表于 2010-5-3 10:52:19 | 显示全部楼层
Post by beruchtigte;2087353
额,lss的大哥,我就是那个意思。
ls大哥,我没想一下子就搞一个精简内核,我只是想要它能启动就好了,genkernel很慢啊

说了多少遍,genkernel就是一个自动化的工具加上一批通用的config,你自己--menuconfig不就得了。又没逼你用它默认的配置。

对于性能我就不多说了,上面几位说的的就好。你的系统不会因为少选了几个选项而飞奔起来的,over。
回复 支持 反对

使用道具 举报

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

本版积分规则

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