- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
步骤一:获取内核代码? 这年头,Linux成了一个时髦词。自诩对电脑玩的精通的学生和IT人士们,没有哪个不在自己的电脑上安装一、两个Linux,并自觉赶上了时髦。然而,在Ubuntu或SUSE的论坛中,经常有这样的对话:? “你学Linux学了这么久,都学到了什么?”? “哦,我现在Linux的安装、升级、桌面美化都很熟练!你看我这是最新版的Ubuntu,桌面很漂亮吧!”? “……”? Linux社区中有一句名言:如果你进入你的操作系统不知道该做什么,那最好还是关掉电脑,一定有更重要的事等着你去做。说真的,如果对 Linux命令不熟练,真的不能算是学过Linux。然而另一方面,Linux内核虽然是一般用户可学可不学的内容,但可以说却是Linux操作系统中最 好玩的部分。尤其对于开发者而言,Linux内核开发绝对是最理想的磨练场所。51CTO编辑一直认为,国外之所以IT技术大拿林立,和他们从小接触类 UNIX系统、把玩内核开发是脱不了关系的。? 下面是Linux内核开发者Robert Love写的一篇入门文章,号称“包教会”,推荐对Linux内核开发感兴趣的学生、Linux爱好者、开发者以及系统管理员们一定不要错过。当然,虽然标题说是包教会,你可能需要一定的Linux命令以及C语言的基础。? 以下是正文内容:? Linux内核一直都被视为学习Linux最难的一块,相信大家也一定看过不少关于内核的文章,但扪心自问,你现在究竟掌握了多少?本文将从零开始介绍被视为高深的Linux内核,内容涉及内核源代码的下载,编译,安装,以及内核开发相关的内容。? 如何获取Linux内核源代码? 下载Linux内核当然要去官方网站了,网站提供了两种文件下载,一种是完整的Linux内核,另一种是内核增量补丁,它们都是tar归档压缩包。除非你有特别的原因需要使用旧版本的Linux内核,否则你应该总是升级到最新版本。? 使用Git? 由Linus领头的内核开发队伍从几年前就开始使用Git版本控制系统管理Linux内核了(参考阅读:什么是Git?),而Git项目本身也 是由Linus创建的,它和传统的CVS不一样,Git是分布式的,因此它的用法和工作流程很多开发人员可能会感到很陌生,但我强烈建议使用Git下载和 管理Linux内核源代码。? 你可以使用下面的Git命令获取Linus内核代码树的最新“推送”版本:? $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git? 然后使用下面的命令将你的代码树与Linus的代码树最新状态同步:? $ git pull? 安装内核源代码? 内核包有GNU zip(gzip)和bzip2格式。Bzip2是默认和首选格式,因为它的压缩比通常比gzip更好,bzip2格式的 Linux内核包一般采用linux-x.y.z.tar.bz2形式的文件名,这里的x.y.z是内核源代码的具体版本号,下载到源代码包后,解压和抽 取就很简单了,如果你下载的是bzip2包,运行:? $ tar xvjf linux-x.y.z.tar.bz2? 如果你下载的是gzip包,则运行:? $ tar xvzf linux-x.y.z.tar.gz? 无论执行上面哪一个命令,最后都会将源代码解压和抽取到linux-x.y.z目录下,如果你使用Git下载和管理内核源代码,你不需要下载tar包,只需要运行git clone命令,它就会自动下载和解压。? 内核源代码通常都会安装到/usr/src/linux下,但在开发的时候最好不要使用这个源代码树,因为针对你的C库编译的内核版本通常也链接到这里的。? 应用补丁? Linux内核开发人员会将自己的修改做成补丁与其它人员分享,而且补丁是增量的,增量补丁是从一个内核树移动到另一个内核树的有效方法,不用 下载完整的内核包就可以升级内核,不仅可节省带宽,也节省了内核升级时间,应用补丁之前先进入内核源代码树所在目录,然后运行:? $ patch –p1 ../patch-x.y.z? 注意,补丁包也有明确的版本号,这里的版本号与Linux内核源代码的版本号要一致,内核和补丁版本号不一致时,强制应用补丁会引起意想不到的后果。? 内核源代码树介绍? 内核源代码树分为许多目录,它们下面又包含许多子目录,源代码树的顶级目录及其描述参见下表。?目录 描述?arch 特定架构的源代码?block 块I/O层?crypto 加密API?Do
您可能关注的文档
最近下载
- 黑布林阅读初三17《足球先生》中文版.docx
- 甘肃省区域地质及演化.pptx VIP
- DB11_T 791-2024 文物建筑消防设施设置规范.docx VIP
- QSR质量手册(超详模板).doc VIP
- 入团积极分子考察表.pdf VIP
- 2025年浙江省公安机关人民警察特殊职位公务员招录考试(刑事技术·法医)历年参考题库含答案详解(5卷.docx VIP
- 冷藏集装箱 冷王 MAGNUM 操作手册中文.pdf VIP
- 《新时代高中思想政治议题式教学实践研究》课题论证.docx VIP
- 2025年江苏省特殊专技职位人民警察公务员考试(刑事技术·法医)历年参考题库含答案详解(5卷).docx VIP
- 教师食品安全培训课件.pptx VIP
文档评论(0)