LinuxSir.cn,穿越时空的Linuxsir!

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

genkernel和手工编译内核有何区别

[复制链接]
发表于 2007-8-16 10:25:01 | 显示全部楼层 |阅读模式
我了解genkernel会生成initrd,内核文件可能较小,除此之外,genkernel和手工编译还有什么主要区别?
我有次用make menuconfig发现Device Driver->Network Device Driver里没有Dlink的驱动,而genkernel --menuconfig all里却有。Network Device Driver里的选项我都选择了。
发表于 2007-8-16 11:09:21 | 显示全部楼层
从用gentoo开始一直是自己从[url]www.kernel.org下载,感觉如果你不用genslpash这类特殊的东西,就没必要用genkernerl
回复 支持 反对

使用道具 举报

发表于 2007-8-17 00:44:22 | 显示全部楼层
不会吧!你说的现象也太奇怪了!除非使用genkernel和直接make使用的编译参数不同,否则内核文件应该是一样大的,但是你显然没有在genkernel后下上改变编译器等的选项。
还有,在genkernel中使用的是make -jn menuconfig ,n是你在make.conf中定义的MAKEOPTS,就是cpu个数的两倍,在genkernel.conf中可以从定义并覆盖这个参数,通常我们定义的是-j2(单核),但是编译时我发现genkernel会将它改为-j1,然后编译。
我说这个是想说make menuconfig的结果应该是相同的,这个参数不会对结果产生影响,它只影响编译速度。所以,kernel的大小,config的选项度应该不变,但是如果你真的观察到了变化,有没有人能解释一下。
还有谁能解释下mdev的作用,以及如何控制。
顺便说一下,今天gentoo-wiki似乎挂了,上不去!
回复 支持 反对

使用道具 举报

发表于 2007-8-17 00:44:27 | 显示全部楼层
不会吧!你说的现象也太奇怪了!除非使用genkernel和直接make使用的编译参数不同,否则内核文件应该是一样大的,但是你显然没有在genkernel后下上改变编译器等的选项。
还有,在genkernel中使用的是make -jn menuconfig ,n是你在make.conf中定义的MAKEOPTS,就是cpu个数的两倍,在genkernel.conf中可以从定义并覆盖这个参数,通常我们定义的是-j2(单核),但是编译时我发现genkernel会将它改为-j1,然后编译。
我说这个是想说make menuconfig的结果应该是相同的,这个参数不会对结果产生影响,它只影响编译速度。所以,kernel的大小,config的选项度应该不变,但是如果你真的观察到了变化,有没有人能解释一下。
还有谁能解释下mdev的作用,以及如何控制。
顺便说一下,今天gentoo-wiki似乎挂了,上不去!
回复 支持 反对

使用道具 举报

发表于 2007-8-17 00:45:25 | 显示全部楼层
我点了一次回复,怎么发了两遍?????!!!!
回复 支持 反对

使用道具 举报

发表于 2007-8-17 04:07:26 | 显示全部楼层
"我有次用make menuconfig发现Device Driver->Network Device Driver里没有Dlink的驱动,而genkernel --menuconfig all里却有。Network Device Driver里的选项我都选择了。"

是不是因为你没使用
  • Prompt for development and/or incomplete code/drivers 这项???
  • 回复 支持 反对

    使用道具 举报

     楼主| 发表于 2007-8-17 08:40:13 | 显示全部楼层
    Post by wecoh

    是不是因为你没使用
  • Prompt for development and/or incomplete code/drivers 这项???

  • 有这个可能性,一般我会选择,我回去核实一下

    wiki挂了
    回复 支持 反对

    使用道具 举报

    发表于 2007-8-17 23:46:31 | 显示全部楼层
    -j2 说明你用2 个CPU并行编译kernel嘛
    genkernel编出来的kernel和redhat的kernel性质上差不多,都是在每个主选项上打开总的支持,然后下面的硬件会以模块化的方式加载,企业版的系统就是最大化的硬件支持,但是会损失性能。
    自己编译出来的kernel你可以把所需的硬件和驱动以自己的理解编译出最小化的内核,也可以单一化的内核,不加载模块以增加kernel的安全性(应为有可能ROOTKIT会以模块化的方式加载)。
    能自己制定出1个最小化,最优话内核的人很少,所以为我们用GENTOO的人赞一下~
    回复 支持 反对

    使用道具 举报

    发表于 2007-10-29 20:56:52 | 显示全部楼层
    我用genkernel menuconfig的话,和make menuconfig有什么区别么?
    回复 支持 反对

    使用道具 举报

    发表于 2007-10-29 21:29:46 | 显示全部楼层
    关注,想知道genkernel initrd 用哪个命令代替,还有使用lvm + reiserfs时不用initrd的方法
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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