- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
? 如何编译一个内核 - Ubuntu方式
来源: ChinaUnix博客 日期: 2007.08.26 07:12 (共有0条评论) 我要评论 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?如何编译一个内核 - Ubuntu方式??日期:2006-11-21 作者:赵珂 译 来自:每一个Linux发行版都有自己专门的工具去构建自定义的内核. 本文主要介绍在Ubuntu平台上编译内核, 如何从(也叫vanilla kernel)获得最新且未改动的内核源代码来构建一个自定义的内核, 这样你可以使用自己的内核而不是发行版的内核, 另外也介绍了如何给内核打补丁, 从而方便增加新的功能.下面的工作我都在Ubuntu 6.10 Server (Edgy Eft)和Ubuntu 6.06 Desktop (Dapper Drake)上经过了测试.我想首先要说的是文章中构建自定义内核的方式不是唯一的, 还有许多其它的方式, 这不过是我习惯的方式. 我不能保证使用后不会出现任何问题.1. 预备工作我推荐使用root用户执行下面所有的步骤. 如果你还没有创建root登陆口令, 请运行下面的命令:sudo passwd root然后, 以root身份登陆:su如果你想使用一般用户来替代root用户, 记住在本文所有命令前输入sudo, 比如当我运行apt-get update你需要运行下面的命令来替代, 等.sudo apt-get update1.1 Ubuntu 6.10上的/bin/sh (Edgy Eft)在Ubuntu 6.10, /bin/sh缺省是一个链接到/bin/dash的字符链接. 当你编译软件源代码的时候, /bin/dash似乎还存在问题. 至少我已经遇到了一些问题. 所以我把/bin/sh链接到了/bin/bash.如果你使用Ubuntu 6.10, 现在你可以运行:rm -f /bin/shln -s /bin/bash /bin/sh2 安装必需的软件包 (为内核编译做准备)首先我们升级软件(包)库:apt-get update然后我们安装所有需要的软件包:apt-get install kernel-package libncurses5-dev fakeroot wget bzip23 下载内核源代码接下来我们下载需要的内核到/usr/src目录(去网站下载你需要的内核版本, 比如. linux-tar.bz2(你可以从这里下载所有的2.6内核: /pub/linux/kernel/v2.6/). 然后下载到/usr/src目录:cd /usr/srcwget /pub/linux/kernel/v2.6/linux-.tar.bz2然后解压内核源代码, 创建一个指向内核源代码目录的linux字符链接:tar xjf linux-.tar.bz2ln -s linux- linuxcd /usr/src/linux 4 给内核源代码打补丁(可选)有时你的缺省内核不支持新买的设备, 你需要安装新的驱动. 或者你需要使用虚拟技术或其它高级的技术, 而这些现有的内核都不支持. 这样情况下你需要给给内核源代码打补丁(当然补丁已经发布..)现在我们假设你已经下载需要的补丁(以下例子我叫它patch.bz2)到/usr/src. 运行下面的命令给内核源代码直接打上补丁(你的用户必须位于/usr/src/linux目录):bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-runbzip2 -dc /usr/src/patch.bz2 | patch -p1第一个命令用于测试, 对内核没有任何影响. 如果没有显示错误, 你可以运行第二个命令给内核打补丁. 如果第一个命令有误, 请务继续的操作!你也能够通过内核的prepatches方式打补丁. 比如, 如果你需要一个功能, 而这个功能仅存在于2.6.19-rc4中,正式完整的内核版本仍没有发布, 而2已经发布. 你可以把这个补丁打到2.6.18的内核源代码中,但请不要达到或, 等. 这个规则在接下来的网页中注明:/patchtypes/pre.htmlprepatches等同于linux中的测试发行; 他们位于存档的测试目录中,我们可以使用patch(1)工具对上一个完整发行版(版本号分三部分)打补丁(例如, 2.6.12-rc4prepatch只可以给2.6.11内核源代码打补丁, 而不是0.)所以如果你想编译2.6.19-rc
文档评论(0)