快速业务通道

Qemu-ARM-Ubuntu 实验二 Linux内核编译

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-18

这次实验主要完成一个linux内核的编译

1. 下载内核文件

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.1.tar.bz2 tar jvxf linux-2.6.18.1.tar.bz2 cd linux-2.6.18.1 2. 清理已有的设置 make mrproper 3. 下载configure文件 wget http://opencsl.openfoundry.org/setting/linux-2.6.18.config make menuconfig ARCH=arm 4. 编译内核 make ARCH=arm CROSS_COMPILE=arm-linux-uclibc- 这里需要在sumversion.c中加入#include <linux/limits.h> 注意需要将auditing选项去掉,参见http://www.shx-arm.com/qianjichu26.asp

General setup ---&gt;
() Local version - append to kernel release
[*] Support for paging of anonymous memory (swap)
[*] System V IPC
[*] POSIX Message Queues
[*] BSD Process Accounting
[*] BSD Process Accounting version 3 file format
[*] Sysctl support
[ ] Auditing support
(15) Kernel log buffer size (16 =&gt; 64KB, 17 =&gt; 128KB)
[*] Support for hot-pluggable devices
[*] Kernel Userspace Events
[*] Kernel .config support
[*] Configure standard kernel features (for small systems) ---&gt;

http://forum.ubuntu.org.cn/viewtopic.php?f=97&t=231443&start=0

尝试交叉编译了ARM-Linux内核,基本方法网上已经有论述,就是下载kernel源代码,然后
make ARCH=arm menuconfig
make bzImage
然后加载module之类

,kernel的image成功生成,但是加载module的时候失败.分析原因是一些驱动的ko文件没有
生成,基本的解决思路是在menuconfig里取消这些驱动.这个问题没有继续往下做了,已经花费
了较多时间了.

这个实验基本了解了Kernel内核编译的流程.注意很多时候,解决Kernel中的问题只需要简单的取消对应
的选项就好了.现在的Kernel规模很大,对应的drivers之类的也很多,全部选择很容易出现编译错误.
事实上并不是所有的驱动都需要编译到Kernel中.

接下来进行操作系统的学习,系统了解操作系统的概念,并且开始学习一个小的但是典型的操作系统.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号