Chinaunix首页 | 论坛 | 博客
  • 博客访问: 94998
  • 博文数量: 17
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 230
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-24 17:41
文章分类

全部博文(17)

文章存档

2008年(17)

我的朋友

分类: LINUX

2008-07-25 14:35:27

作者: Nzocrlma  发布日期: 2008-5-16    查看数:    出自:
Linux 2.6内核编译比以前方便多了,本文描述了在FC8下升级linux内核为2.6.25的详细步骤.


1. 首先从如下网址得到linux-2.6.25.

2. 然后在/usr/src下untar这个包.

tar -xjfv linux-2.6.25.tar.bz2

3. 配置内核
cd /usr/src/linux-2.6.25
make mrproper(删除一些stable的文件,针对刚download下来的包这一步没必要)
make menuconfig(以菜单的方式显示, 可以定制Linux模块, 在菜单顶部有命令帮助)

3. 编译内核

make (这一步花的时间最多,我用了将近40分钟)
make modules_install
make install(系统将会把vmlinuz和System.map复制到/boot目录下同时修改grub)

在2.6以前需要make bzImage make modules, 而且还需要将vmlinuz和System.map复制到/boot目录.

要想得到更详细关于编译的描述, 可以参考/usr/src/linux-2.6.25的README. 每个Linux内核的发行都有这个文件.

4. 重启机器
shutdown -r now
这样在开始的grub菜单里你可以选择用新的内核来启动linux

如果启动时遇到这个错:
"Enforcing mode requested but no policy loaded. Halting now."
Kernel panic: Attempted to kill init!

可以用如下方法解决:
Try adding enforcing=0 to your grub.conf.
kernel /boot/bzImage-2.6.5 ro root=/dev/hda5 enforcing=0

或者在/etc/selinux/config文件中,将SELINUX的值设为disabled.

说明:

1. 本文摘自红联上的文章,感谢作者。

2. 我们不是发烧友,动就升级,F8内核已经是2.6.23.1-42,升到2.6.25也没那个必要,不过,现在的Linux发行版本都不带源码包的,所以做驱动开发的下个源码包编译安装是有必要的,所以我也下了当时最新版2.6.25,在开发板上移植我也用该版本。

3. make menuconfig的时候,根据自己的需要选择,不清楚就默认即可

4. shutdown -r now 之后我可以在开始的grub菜单里选择用新的内核来启动linux,没有遇到上述错误,系统正常运行。

5. 我解压编译后的linux-2.6.25文件达到1.7G左右,交叉编译到开发板则538.6M这样,所以感觉当初装系统的时候分配给系统文件的9G还小了点。如果/ 下的空间不够,那么启动系统的时候会出现“xx应用程序即将崩溃”,进入命令行下把一些文件删掉即可。

P.S.

Cross_compile_Tool_chain: gcc 4.2.3

阅读(786) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~