新手kernel2.6.0编译升级方法

发表于:2007-07-04来源:作者:点击数: 标签:
原文地址: http://www.5ilinux.com/kernel01.html 关键字:内核编译Kernel2.6.0makemenuconfigmrproperbzImagemodules_install 编译升级Kernel-2.6.0内核 终于等来2.6.0的内核正式发布,马上在自己的机器上升级一下,发现编译内核的方法更加方便了,如果你

原文地址:
http://www.5ilinux.com/kernel01.html

关键字:内核 编译 Kernel 2.6.0 make menuconfig mrproper bzImage modules_install

 

编译升级Kernel-2.6.0内核

终于等来2.6.0的内核正式发布,马上在自己的机器上升级一下,发现编译内核的方法更加方便了,如果你用的是GRUB的引导,那安装新内核更加方便,都不用你改什么文件。

 

1。下载2.6.0的内核

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.0.tar.gz


2。在/usr/src目录下解压内核

tar zvxf /下载的路径/linux-2.6.0.tar.gz

 

3。配置

# make mrproper
# make menuconfig


make mrproper 是清理代码树的动作,保证源代码是干净的


4.编译

make

5。安装

make modules_install

make install

 

看来2。6的编译确实比以前方便多了,以前的make bzImage make modules等步骤都在make一步都搞定,以前还要cp 内核和System.map,修改Grub.conf的步骤,统统make install搞定,方便吧

 

如果你放心,你可以去/boot目录看看是否已经有最新的vlinuz-2.6.0和System.map-2.6.0还有grub.conf是否已经给你自动配置好了

 

ok,reboot机器

哈哈,去领略2.6内核的魅力吧,enjoy it

 

附:(常见错误)

1.启后出现一句错误提示后就死锁了:
kernel panic : no init found ,try passing init = option to kernel.............

解决办法:注意如果你的系统一开始是ext3格式,最好直接把ext3文件系统编译进内核,而不要以模块的加载,否则启动将报类似的错误 

2.下列驱动程序你最好直接编译进内核,不要以模块加载,否则不能正常加载
(不断更新)

网卡: 
8139   这个网卡太普遍了,应该会有很多朋友碰到这个问题

显卡:
intel 845    我估计810也有可能,810主板的朋友实验一下

USB
LG的usb鼠标






张微波
2003年12月24日中午

 yulc 回复于:2003-12-24 14:06:14
补充一下:
网卡也要在编译到内核中去,模块形式不能启动网卡。
12.24中午1点亲身测试得来。

 zhangweibo 回复于:2003-12-24 14:08:08
[quote:06c836cdbf="yulc"]补充一下:
网卡也要在编译到内核中去,模块形式不能启动网卡。
12.24中午1点亲身测试得来。[/quote:06c836cdbf]

不一定哦,我的网卡就是以模块加载的,没有编译进去

 yulc 回复于:2003-12-24 14:10:23
那就不知道了。
你是什么环境?

我是AS3.0上编译 2.6.0内核
8139的网卡

 zhangweibo 回复于:2003-12-24 14:14:50
我是在Fedora Core 1上编译的
网卡是Broadcom 440x,由于网卡太新
2.4的内核还不支持我的网卡,没想到2.6支持了

 好好先生 回复于:2003-12-24 14:16:34
8139的网卡有点特殊吧?直接编译rh8,rh9自带的内核,如果编译时不选择一下,它也不能用.

 双眼皮的猪 回复于:2003-12-24 14:24:10
恩,谢谢楼主,我今天也下载了as3,编译了2.6的内核,还好,奇怪的是,我在as3上发现比rh9上机器要快些,浏览网页很爽...纳闷呢....
不知道是mozilla快了,还是系统快了....
不知道Fedora Core 1怎么样....呵呵....

 zhangweibo 回复于:2003-12-24 14:57:34
[quote:74faf4675f="双眼皮的猪"]恩,谢谢楼主,我今天也下载了as3,编译了2.6的内核,还好,奇怪的是,我在as3上发现比rh9上机器要快些,浏览网页很爽...纳闷呢....
不知道是mozilla快了,还是系统快了....
不知道Fedora Core 1怎么样....呵呵....[/quote:74faf4675f]

我也觉得特快,不知是不是心里作用,不过肯定比我的xp+ie6快多了,一点都不拖泥带水

 zhangweibo 回复于:2003-12-24 15:18:38
看来我的显卡也不能以模块的方式加载,怪了,害的我编译了好多次

现在知道的一些驱动是必须编译进内核的有

网卡: 
8139

显卡
Intel 845

 好好先生 回复于:2003-12-24 15:21:20
楼主,我想把你这个贴子置顶,让大家讨论讨论这个2.6的内核编译.可以吗?这一段时间,这个问题是热门.:lol:

 zhangweibo 回复于:2003-12-24 15:24:05
那感情好,大家可以把编译的过程中碰到的问题汇总一下,特别是那些驱动必须编译进内核等.....

省得大家走弯路

 好好先生 回复于:2003-12-24 15:30:02
鉴于近期编译2.6内核的讨论比较多,特设此贴.对此问题有什么见解,什么看法,欢迎在此跟贴讨论.

 mb 回复于:2003-12-24 15:37:15
iptables -L 如下提示: 

iptables v1.2.6 ;can`t initialize iptables table 'filter': iptables who? 
(do you need to insmod?) 
Perhaps iptables or your kernel needs to be upgraded. 

为什么会这样,怎样才能支持我的iptables呢

 双眼皮的猪 回复于:2003-12-24 15:40:24
恩,我的网卡dfe530tx也不支持了...是不是kernel有什么改变呢?

 yulc 回复于:2003-12-24 16:03:44
期待iptables 的新动向呀。
今天没时间弄了,明天继续研究。

我一定,一定要在2.6.0上面运行好iptables.
各位,等我的好消息。

 mb 回复于:2003-12-24 16:06:41
好,期待

 yulc 回复于:2003-12-24 16:53:38
搞定了。。。
已发贴,有什么问题就说呀。

 haohaoo 回复于:2003-12-26 13:16:19
怎么将网卡等直接编译进去,不要动态加载?

 shuecy 回复于:2003-12-26 14:19:34
需要编译进内核的,就选择,然后确定.
在 make 这步里面就会自动编译进内核.

bw:我也没用过,不过刚才我这么做了,而且已经成功了.

 dgvri 回复于:2004-01-07 11:03:43
我打完 make menuconfig 后,最后出来个列表,这是做什么用的?下一步如何做?在线等。

Code maturity level options  --->                                        x x
  x x                           General setup  --->                                                      x x
  x x                           Loadable module support  --->                                            x x
  x x                           Processor type and features  --->                                        x x
  x x                           Power management options (ACPI, APM)  --->                               x x
  x x                           Bus options (PCI, PCMCIA, EISA, MCA, ISA)  --->                          x x
  x x                           Executable file formats  --->                                            x x
  x x                           Device Drivers  --->                                                     x x
  x x                           File systems  --->                                                       x x
  x x                           Profiling support  --->                                                  x x
  x x                           Kernel hacking  --->                                                     x x
  x x                           Security options  --->                                                   x x
  x x                           Cryptographic options  --->                                              x x
  x x                           Library routines  --->                                                   x x
  x x                       ---                                                                          x x
  x x                           Load an Alternate Configuration File                                     x x
  x x                           Save Configuration to an Alternate File

 双眼皮的猪 回复于:2004-01-07 11:12:32
建议去学点基础知识再来发问,谢谢...

 dgvri 回复于:2004-01-07 11:17:23
已经做完了,谢谢。刚才没仔细看。

 zhlchen 回复于:2004-01-07 11:20:35
不解,为什么我在执行make mrproper口令是提示
make: *** No rule to make target `mrproper'.  Stop.
是怎么回事讷?我是rh9系统

 双眼皮的猪 回复于:2004-01-07 11:26:37
请确认您在正确的文件夹里make ,在进入该文件夹后直接ls看一下...看你安装的时候是否选择了开发工具等啥的...

 dgvri 回复于:2004-01-07 12:07:20
出问题了,求救,完成后用新的内核启动,启动到出现如下提示就不走了:
Kernel panic:No init fount. Try passing init:option to kernel
怎么解决?请指点。

 zhlchen 回复于:2004-01-07 12:08:14
请问我要到哪个文件夹下面去make?

 zhangweibo 回复于:2004-01-07 12:11:59
[quote:ff98a41270="dgvri"]出问题了,求救,完成后用新的内核启动,启动到出现如下提示就不走了:
Kernel panic:No init fount. Try passing init:option to kernel
怎么解决?请指点。[/quote:ff98a41270]


我不是付了常见错误说明吗

 zhangweibo 回复于:2004-01-07 12:12:35
[quote:7a28a0f4dd="zhlchen"]请问我要到哪个文件夹下面去make?[/quote:7a28a0f4dd]

一般在
/usr/src/linux

 dgvri 回复于:2004-01-07 12:13:30
拷,我瞎了。

 dgvri 回复于:2004-01-07 12:15:02
如果重新再编还行吗?
是不是在选择的那步,直接把ext3文件系统选择上?
谢谢。我是个新手。

 zhangweibo 回复于:2004-01-07 12:32:55
选择以后,要重新编译

 dgvri 回复于:2004-01-07 12:45:48
是执行:make menuconfig 后出现列表,选择后,再执行make menuconfig ,还是直接执行下面的make?

 dgvri 回复于:2004-01-07 14:06:30
不行呀,我重新编译了,把EXT2和EXT3的都选取上了,完了还是上面的提示?这是为什么呀?

 lyking 回复于:2004-01-07 14:28:10
要让ext3编译进内核,编译完成后重新安装make install,再检查一下initrd是否创建成功。

 dgvri 回复于:2004-01-07 14:36:42
“要让ext3编译进内核”,这一句看不明白?

 lyking 回复于:2004-01-07 14:41:56
*:代表编译到内核
M:代表模块方式

你的/如果是用ext3格式化的,就要把ext3文件系统编译进内核。

 lyking 回复于:2004-01-07 14:53:16
另外问题,我的2.6编译并安装后,发现rpm不能正常使用,如果用原来的2.4.20内核启动就没问题,有没有人碰到过?
http://bbs.chinaunix.net/forum/viewtopic.php?t=237230&highlight=lyking

 dgvri 回复于:2004-01-07 15:01:23
谢谢,正在试。

 cniis 回复于:2004-02-18 11:02:27
我的系统是redhat9,CIII,300SDRAM内存.
下载了linux-2.6.2.tar.bz2
解开后,
从晚上12点开始
# make mrproper 
# make menuconfig 
到了 make menuconfig ,实在太多看不懂.不知道哪些应该选择.湖乱选了一通.
之后 make .似乎要很久,于是去睡觉.到4点钟起来,已经不知道什么时候完成了.呵呵.之后
make modules_install 

make install 
都很快.之后 reboot .发现grub多了一项启动 2.6.2 的.于是启动这个,启动过程发现很多失败的.启动完之后,倒是正常.但不能上网,查看知道是网卡没有被激活.也不能激活.

我想今天回去后再试一下编译2.6.2内核.不知道这个东西还能继续编译的么?如果能.则上一次的编译是否被替换?

 dylibin 回复于:2004-03-11 20:44:04
要不要安装 module-init-tools 和 modutils呀??

 水若寒 回复于:2004-12-01 12:07:01
出现如下提示是什么原因?

[code:1:9ec20cf591]
[root@yf165 linux-2.6.9]# make mrproper
[root@yf165 linux-2.6.9]# make menuconfig
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/split-include
  HOSTCC  scripts/basic/docproc
  SHIPPED scripts/kconfig/zconf.tab.h
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/mconf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/lex.zconf.c
  HOSTCC  -fPIC scripts/kconfig/zconf.tab.o
  HOSTLLD -shared scripts/kconfig/libkconfig.so
  HOSTLD  scripts/kconfig/mconf
  HOSTCC  scripts/lxdialog/checklist.o
In file included from scripts/lxdialog/checklist.c:24:
scripts/lxdialog/dialog.h:29:20: curses.h: No such file or directory
In file included from scripts/lxdialog/checklist.c:24:
scripts/lxdialog/dialog.h:127: syntax error before "use_colors"
scripts/lxdialog/dialog.h:127: warning: type defaults to `int' in declaration of `use_colors'
scripts/lxdialog/dialog.h:127: warning: data definition has no type or storage class
scripts/lxdialog/dialog.h:128: syntax error before "use_shadow"
scripts/lxdialog/dialog.h:128: warning: type defaults to `int' in declaration of `use_shadow'
scripts/lxdialog/dialog.h:128: warning: data definition has no type or storage class
scripts/lxdialog/dialog.h:130: syntax error before "attributes"
scripts/lxdialog/dialog.h:130: warning: type defaults to `int' in declaration of `attributes'
scripts/lxdialog/dialog.h:130: warning: data definition has no type or storage class
scripts/lxdialog/dialog.h:143: syntax error before '*' token
scripts/lxdialog/dialog.h:143: warning: function declaration isn't a prototype
scripts/lxdialog/dialog.h:146: syntax error before '*' token
scripts/lxdialog/dialog.h:146: warning: function declaration isn't a prototype
scripts/lxdialog/dialog.h:147: syntax error before '*' token
scripts/lxdialog/dialog.h:147: warning: function declaration isn't a prototype
scripts/lxdialog/dialog.h:148: syntax error before '*' token
scripts/lxdialog/dialog.h:149: warning: function declaration isn't a prototype
scripts/lxdialog/dialog.h:150: syntax error before '*' token
scripts/lxdialog/dialog.h:150: warning: function declaration isn't a prototype
scripts/lxdialog/checklist.c:32: syntax error before '*' token
scripts/lxdialog/checklist.c:34: warning: function declaration isn't a prototype
scripts/lxdialog/checklist.c: In function `print_item':
scripts/lxdialog/checklist.c:38: warning: implicit declaration of function `wattrset'
scripts/lxdialog/checklist.c:38: `win' undeclared (first use in this function)
scripts/lxdialog/checklist.c:38: (Each undeclared identifier is reported only once
scripts/lxdialog/checklist.c:38: for each function it appears in.)
scripts/lxdialog/checklist.c:39: warning: implicit declaration of function `wmove'
scripts/lxdialog/checklist.c:39: `choice' undeclared (first use in this function)
scripts/lxdialog/checklist.c:41: warning: implicit declaration of function `waddch'
scripts/lxdialog/checklist.c:44: `selected' undeclared (first use in this function)
scripts/lxdialog/checklist.c:46: warning: implicit declaration of function `wprintw'
scripts/lxdialog/checklist.c:46: `status' undeclared (first use in this function)
scripts/lxdialog/checklist.c:51: warning: implicit declaration of function `mvwaddch'
scripts/lxdialog/checklist.c:51: `item' undeclared (first use in this function)
scripts/lxdialog/checklist.c:53: warning: implicit declaration of function `waddstr'
scripts/lxdialog/checklist.c:56: warning: implicit declaration of function `wrefresh'
scripts/lxdialog/checklist.c: At top level:
scripts/lxdialog/checklist.c:64: syntax error before '*' token
scripts/lxdialog/checklist.c:66: warning: function declaration isn't a prototype
scripts/lxdialog/checklist.c: In function `print_arrows':
scripts/lxdialog/checklist.c:67: `win' undeclared (first use in this function)
scripts/lxdialog/checklist.c:67: `y' undeclared (first use in this function)
scripts/lxdialog/checklist.c:67: `x' undeclared (first use in this function)
scripts/lxdialog/checklist.c:69: `scroll' undeclared (first use in this function)
scripts/lxdialog/checklist.c:82: `height' undeclared (first use in this function)
scripts/lxdialog/checklist.c:85: `item_no' undeclared (first use in this function)
scripts/lxdialog/checklist.c:85: `choice' undeclared (first use in this function)
scripts/lxdialog/checklist.c: At top level:
scripts/lxdialog/checklist.c:103: syntax error before '*' token
scripts/lxdialog/checklist.c:104: warning: function declaration isn't a prototype
scripts/lxdialog/checklist.c: In function `print_buttons':
scripts/lxdialog/checklist.c:105: `width' undeclared (first use in this function)
scripts/lxdialog/checklist.c:106: `height' undeclared (first use in this function)
scripts/lxdialog/checklist.c:108: `dialog' undeclared (first use in this function)
scripts/lxdialog/checklist.c:108: `selected' undeclared (first use in this function)
scripts/lxdialog/checklist.c: In function `dialog_checklist':
scripts/lxdialog/checklist.c:126: `WINDOW' undeclared (first use in this function)
scripts/lxdialog/checklist.c:126: `dialog' undeclared (first use in this function)
scripts/lxdialog/checklist.c:126: `list' undeclared (first use in this function)
scripts/lxdialog/checklist.c:126: warning: left-hand operand of comma expression has no effect
scripts/lxdialog/checklist.c:132: warning: implicit declaration of function `endwin'
scripts/lxdialog/checklist.c:133: warning: implicit declaration of function `fprintf'
scripts/lxdialog/checklist.c:133: `stderr' undeclared (first use in this function)
scripts/lxdialog/checklist.c:150: `COLS' undeclared (first use in this function)
scripts/lxdialog/checklist.c:151: `LINES' undeclared (first use in this function)
scripts/lxdialog/checklist.c:153: `stdscr' undeclared (first use in this function)
scripts/lxdialog/checklist.c:155: warning: implicit declaration of function `newwin'
scripts/lxdialog/checklist.c:156: warning: implicit declaration of function `keypad'
scripts/lxdialog/checklist.c:156: `TRUE' undeclared (first use in this function)
scripts/lxdialog/checklist.c:189: warning: implicit declaration of function `subwin'
scripts/lxdialog/checklist.c:221: warning: implicit declaration of function `wnoutrefresh'
scripts/lxdialog/checklist.c:223: warning: implicit declaration of function `doupdate'
scripts/lxdialog/checklist.c:226: warning: implicit declaration of function `wgetch'
scripts/lxdialog/checklist.c:233: `KEY_UP' undeclared (first use in this function)
scripts/lxdialog/checklist.c:233: `KEY_DOWN' undeclared (first use in this function)
scripts/lxdialog/checklist.c:243: `FALSE' undeclared (first use in this function)
scripts/lxdialog/checklist.c:244: warning: implicit declaration of function `scrollok'
scripts/lxdialog/checklist.c:245: warning: implicit declaration of function `wscrl'
scripts/lxdialog/checklist.c:272: called object is not a function
scripts/lxdialog/checklist.c:308: warning: implicit declaration of function `delwin'
scripts/lxdialog/checklist.c:312: `KEY_LEFT' undeclared (first use in this function)
scripts/lxdialog/checklist.c:313: `KEY_RIGHT' undeclared (first use in this function)
/usr/include/bits/string2.h: At top level:
scripts/lxdialog/dialog.h:130: warning: array `attributes' assumed to have one element
make[2]: *** [scripts/lxdialog/checklist.o] Error 1
make[1]: *** [menuconfig] Error 2
make: *** [menuconfig] Error 2
[root@yf165 linux-2.6.9]#

[/code:1:9ec20cf591]

原文转自:http://www.ltesting.net