Ubuntu下构建内核源码树的方法.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
篇吧。 Ubuntu 下构建内核源码树 网上好多文章,他大爷的都是转来转去,每一篇中用的。索性还是自己整理一 网上牛人多,但是小白问题更多,更何况咱们这号不入门的,因为最近学内核,要写模块,模块要在源码树下编译安装,又习惯了Ubuntu 的 OS,不忍转向他方,还是好好摆置摆置它吧,找的几篇文章不怎么好用,下边开始吧。 PS:当前系统是上一篇配置 SSH 博文里 Jun 从 Ubuntu9.04 更新到 Ubuntu 10.04 的系统。 这个网上都这么装,就这样来吧。 安装编译内核所需要的软件 build-essential、autoconf、automake、cvs、subversion $ sudo apt-get install build-essential kernel-package libncurses5-dev libncurses5 这个软件包在使用 menuconfig 配置内核的时候会用到。 进入/usr/src ,在这里构建源码树,我们用下面指令查看可用的源码包: $ sudo apt-cache search linux-source 我的提示是: linux-source - Linux kernel source with Ubuntu patches linux-source-2.6.32 - Linux kernel source for version 2.6.32 with Ubuntu patches 那么就让我们来下载 2.6.32 版的 kernel,通过下边命令: $ sudo apt-get install linux-source-2.6.32 等待下载完成。 下载完成后,我们进入/usr/src ,默认会在这里,看看他的目录结构:(ls 一 下) 我的显示可以看到有两对儿 Linux-header-2.6.* 的目录,你的应该是只有一对儿,之所以这样是以为我的是从 9.04 更新到 10.4,Ubuntu 会保留历史版本,不用管它,记住,这里 linux-headers-2.6.32-34-generic 、linux-headers-2.6.32-34、linux- source-2.6.32.tar.bz2 ,这才是我们用到的。linux-source-2.6.32.tar.bz2 这个就是刚刚下载好的源码,我们来解压一下: $ sudo tar –xjvf linux-source-2.6.32.tar.bz2 然后为了操作方便,我们给源码目录建立一个软连接: $ sudo ln –s linux-source-2.6.32 linux 这样我们就可以通过 linux 来操作 linux-source-2.6.32 目录了。 $ cd linux 进入源码树内,然后导入原来内核的配置文件: $ sudo cp ../linux-headers-2.6.32-34-generic/.config ./.config (注意:在 linux-headers-2.6.32-34-generic 目录下查看文件列表时,可能看不到.config 文件,因为 .开头的文件是隐藏的,要用 $ ls –a 才能看到); 记住当前在源码树中。我们执行一下 $ make menuconfig ,把原来的.config 导进来。终端会弹出一个配置界面 最后有两项:load a kernel configuration... save a kernel configuration... 选择 load a kernel configuration 保存,然后在选择 save akernel configuration 再保存退出,并退出配置环境。 好的,下面就是激动人心的 make 时代了,能不能通过呢?我也在期待,因为之前几次都没成功哎,悲催。。。 $ make –j4 (ps:这里-j4 是用 4 个 job 来完成整个 make 过程,并发一下,比较快么,不过如果你的机器比较卡,还是老老实实的不加这个选项make 吧,毕竟 make 内核的时间 还是比较长的,我们可以边看电影,边等待他的完成。让我打开一集死神或者海贼王先看着吧,待它编译 ing): 编译还在持续,真是漫长。。。一会儿还要去打球呢,赶紧。。。。 编译还在持续,真是漫长。。。一会儿还要去打球呢,赶紧。。。。 果然,还有报错,报的是 omnibook ,看名字估计是针对笔记本或者上网本的优化吧,在配置中把它去除了试试。我感觉是个 bug。因为看图,Ubuntu 目录下明明有sections.lds 文件,仔细一看,他 ld 后的目录是绝对路径/ubuntu/omnibook……根目录下怎么会有这东西呢?是吧。哈哈,现在要

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档