课程论文要求写的,顺便贴上来一部分。

Linux内核编译和测试<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1.前期准备

首先,你必须装上一个Linux操作系统,发行版可以随便选择,本文用的是Ubuntu7.10。接着,下载一个完整版的Linux内核源码包,建议下载稳定版的,本文以<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2.6.12.2版本做为要编译的内核。最后,你需要打开你下载的源码包中的一个叫Changes的文件,这个文件里面包含了编译该内核所需要的最低的编译环境,比如gcc,make等。可以通过相关命令查找本机是否已经到达要求,如不满足要求则需要通过相关命令安装相关库。

2.开始编译

以下工作都必需在root权限下操作,否则无法正常进行。首先,将下载下来的内核linux-2.6.12.2.tar.gz文件拷贝到/usr/src/目录下,然后使用命令解压文件:

# cd /usr/src/

# tar –xzvf linux-2.6.12.2.tar.gz

说明:-z 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩;-x 从归档文件中解出文件; -v 处理过程中输出相关信息;-f 对普通文件操作。

这样就把内核源码解压到了/usr/src/linux-2.6.12.2/目录下。接着创建一个符号链接(不是必需,后面出错才加):

# ln –s linux-2.6.12.2 linux

然后切换到linux目录下并执行下面命令:

# cd /usr/src/linux

# make mrproper

# cd /usr/include

# rm –r asm linux scsi

# ln –s /usr/src/linux/include/asm-i386 asm

# ln –s /usr/src/linux/include/linux linux

# ln -s /usr/src/linux/include/scsi scsi

make mrproper确保源代码目录下没有不正确的.o文件以及文件的互相依赖。在多次使用了源程序编译后应该执行此命令,第一次编译无需执行。接下来创建了一些符号链接,如果你不创建这些链接后面步骤执行没有问题的话也可以不创建,不过我的没有这些链接则会出问题,因此列出这些步骤。

接下来开始最重要也是最复杂的步骤——内核配置。这个步骤直接关系到编译好的内核的性能。配置内核使用如下命令:

#make config(基于文本的最为传统的配置界面,不推荐使用)
#make menuconfig(基于文本选单的配置界面,字符终端下推荐使用)
#make xconfig(基于图形窗口模式的配置界面,Xwindow下推荐使用,需要qt库的支持)
#make oldconfig(如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦)

编译方式选择:对于xconfig,空的为不编译,打点的表示编译成模块,打钩的表示编译进内核。这部分的配置和机子配置相关,因此每个机子的配置方法都会有所区别,不过大部分配置可以保留默认值。不过有几个重要部分需要根据需要和个人配置加以修改,网上有一些说明文档,这里将几个重要的配置说 ...

转载于:https://www.cnblogs.com/absolute8511/archive/2008/03/20/1649654.html

Linux内核编译和测试相关推荐

  1. 树莓派Linux内核编译、文件系统、Linux内核驱动基础框架、驱动测试步骤、总线地址

    树莓派高阶开发课程 1. ubuntu18.04版本安装          让程序猿搭建环境太搞笑了,轻松easy! ========================================= ...

  2. Android Linux内核编译调试

    对于在Windows上写代码写习惯的人,调试是必不可少的手段,但是转到Android以后,发现调试手段异常简陋,跟Windows简直不是一个级别,特别是Android的内核调试,网上资料也相对较少,不 ...

  3. Linux内核编译与安装[转]

    Linux内核介绍 Linux内核是一个用C语言写成的,符合POSIX标准的类Unix操作系统.内核是操作系统中最基本的一部分,提供了众多应用程序访问计算机硬件的机 制.Linux内核的一大特点就是采 ...

  4. LINUX内核编译(ZT)

    LINUX内核编译(ZT) 在这里转贴一些关于内核编译的文章,绝非笔者原创,也无意注明出处.有些内容有重复之处,请原谅. ==================================== 一. ...

  5. Linux 内核编译配置选项简介(转)

    Linux 内核编译配置选项简介 作者:金步国 版权声明 本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布.任何人都可以自由使用.转载.复制和再分发,但必须保留作者署名 ...

  6. :linux内核编译过程的最终总结版

    参考了linuxsir和水母的linux版的精华区,本人不保留任何版权. 经过归纳整理,看看上面的就可以了,包括补丁如何打.具体的一些选项可以往下看,一些一看就懂的白痴选项,并没有选进来,因此适合对电 ...

  7. Linux内核编译、启动和相关驱动构建

    Linux内核编译.启动和相关驱动构建 01 修改与编译内核 前面小哥主要是跟大家讲解了uboot的烧录.使用等等,而对于嵌入式Linux环境而言其实主要是分为三大块 : uboot,Linux Ke ...

  8. 【原创】IP摄像头技术纵览(一)---linux 内核编译,USB摄像头设备识别

    IP摄像头技术纵览(一)- linux 内核编译,USB摄像头设备识别 开始正文之前先来认识一下我的开发环境: 系统:ubuntu 10.04 开发板:AT91SAM9260 + Linux-2.6. ...

  9. 编译linux内核成vmlinuz,Linux内核编译与安装

    原标题:Linux内核编译与安装 Linux内核是一个用C语言写成的,符合POSIX标准的类Unix操作系统,内核是操作系统中最基本的一部分,提供了众多应用程序访问计算机硬件的机制.Linux内核的一 ...

最新文章

  1. [JavaWeb基础] 007.Struts2的配置和简单使用
  2. AdventureWorksBI.msi 和 AdventureWorksDB.msi 的官方下载地址及安装方法
  3. JS 提交form表单
  4. Android Cursor自动更新的实现和原理
  5. 并发编程 — 并发数据结构--转载
  6. SQL Server资源管理之内存管理篇(上)
  7. 通过js让页面中的元素上下居中的写法
  8. KR C 传统C语言的函数定义
  9. python自动化常用模块_Python自动化 【第五篇】:Python基础-常用模块
  10. 2017.7.18可变/不可变类型,符号运算及其流程控制
  11. onnx模型转tensorflow模型
  12. 没钱买KEGG怎么办?REACTOME开源通路更强大
  13. unity ui框架_[教程汇总+持续更新]Unity从入门到入坟——收藏这一篇就够了
  14. notepad++查看aspx
  15. NFT推动全球加密艺术浪潮
  16. 如何编写项目发布文档
  17. 纯CSS实现button按钮
  18. CDN和bootstrap
  19. excel2016中绘制多条折线的散点图
  20. Windows的Safari(可能)已死:如何迁移到另一个浏览器

热门文章

  1. 腐蚀国内稳定服务器_WOW正式服:热修提升坐骑掉率,下周改动大幻象装备必带腐蚀...
  2. 翻译java_翻译示例代码
  3. jmeter constant timer 如何添加_基于jmeter+perfmon的稳定性测试记录
  4. 11.如何在非固定大小的地图图片上正确渲染ROS小车的位置和运行轨迹
  5. 7.git提交的前进与后退
  6. Opencv各种滤波实现
  7. 双网口相机用序列号打开
  8. 让数据为你带来无限可能性
  9. Advanced Auto Layout:Programmatically Creating Constraints
  10. 在MyEclipse启动或者是tomcat启动的时候出现:Address already in use: JVM_Bindnull:8080