个人工具
登录
查看“UbuntuHelp:Kernel/Compile/zh”的源代码 - Ubuntu中文
UbuntuHelp
讨论
查看源代码
历史
搜索
导航
首页
最近更改
随机页面
页面分类
帮助
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息
查看“UbuntuHelp:Kernel/Compile/zh”的源代码
来自Ubuntu中文
←
UbuntuHelp:Kernel/Compile/zh
跳转至:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Translation}} {{From|https://help.ubuntu.com/community/Kernel/Compile}} {{Languages|UbuntuHelp:Kernel/Compile}} //*^*本人只是个自由软件爱好者,是个菜鸟,译错莫怪。 ===免责声明=== '''生成和使用一个定制的kernel很难为你的系统获得支持。<br> '''尽管编译你自己的内核(kernel)是一个学习的过程,但是你不会得到支持在定制内核上(即使你提出了自己的问题,他们也会毫无理由的拒绝回答。)<br> 如果你有一个与Ubuntu/Canonical签订的商业支持合同,像这种支持也是无效的。<br> 还应该注意到这个网页介绍的是the Edgy (2.6.17) 及以上内核如何来操作!直到这个内核源之前,我们没有任何到位的机制来使人们容易的编译他们自己的内核。我们是有意为之。<br> 这篇文章并'''没有'''介绍如何[[UbuntuWiki:forum/software/CustomKernel|生成原始内核]],这种内核来源于kernel.org。这篇文章只是说明如何重建当前的Ubuntu 内核源。 ===编译内核的原因=== *你是一个内核开发者。 *你需要内核编译成一种特殊的方式,而官方内核并没有这样做(例如,使能一些实验功能)。 *你正试图调试一个关于原Ubuntu内核你已经提交或即将提交的问题。 *你有的硬件原Ubuntu的内核不支持。 ===不建议编译内核的情况=== *你只需要编译一个特殊的驱动。对于这种情况,你只需要安装linux-headers包。 *你不知道在做什么,和你损坏了某一部分,你需要帮助修复它。依据你的错误情况,也许你最终需要重新安装你的系统。 *你偶然接触到这篇文章,但是因为看上去有趣而被迷住。相信我,这一点都没趣。:) 如果你想要安装一个新的不需要编译的内核,你能使用[[UbuntuHelp:Synaptic|Synaptic]],,搜索你想要安装的linux-image和内核版本。<br> 一个更容易的方法是点击System > Administration > Update Manager >点击Check按钮>接受包括kernel在内的所有更新。 ===你需要的工具=== 一开始,你需要安装一些新的包。 <pre><nowiki> sudo apt-get install linux-kernel-devel fakeroot build-essential </nowiki></pre> 这会安装与编译器有关的包和内核打包工具。它也安装这git-core包,它是与Ubuntu 内核源最好的交互方式。 ===获得内核源=== 这儿有几种获得内核源的方法: <ol><li>使用git(你能找到详细说明在[[UbuntuWiki:KernelGitGuide|Kernel Git Guide]]) -这会使你总是保持与最新的Ubuntu内核源同步。 </li><li>下载源文件存档-对于那些想要重建包括额外补丁的标准Ubuntu包的人,这是最简单和有用的,注意这几乎总是滞后于最新开发源,如果你需要带最新补丁的内核源,你应该使用git(选项1)。下载源文件的操作:</li> <pre><nowiki> sudo apt-get build-dep linux-source apt-get source linux-source </nowiki></pre> 对于Hardy (8.04)版本,命令变为: <pre><nowiki> sudo apt-get build-dep linux-image-$(uname -r) apt-get source linux-image-$(uname -r) </nowiki></pre> <li>下载源码包(进一步的详细说明在这页下面[[AltBuildMethod Alternate Build Method: The Old-Fashioned Debian Way]])-请注意这跟选项2不一样</li></ol> ===修改你所需的内核源文件=== 对大多数人来说,简单的修改一下配置configs已经足够。如果你需要安装内核补丁,请阅读此补丁提供者的说明,已确定如何使用。 原Ubuntu configs是被安装在(''debian/config/ARCH/'')-ARCH目录是你刚刚建立的。在这个目录下有很多文件。这"config"文件是其架构中所有对象的基础。这儿有几个针对特定目标的config.FLAVOUR(config.xxx)。例如,下面是2.6.20,i386的文件: <pre><nowiki> ls -l debian/config/i386/ total 108 -rw-r--r-- 1 root src 73962 2007-08-13 01:29 config -rw-r--r-- 1 root root 1369 2007-08-13 01:29 config.386 -rw-r--r-- 1 root root 1330 2007-08-13 01:29 config.generic -rw-r--r-- 1 root root 1395 2007-08-13 01:29 config.server -rw-r--r-- 1 root root 1756 2007-08-13 01:29 config.server-bigiron -rw-r--r-- 1 root root 8 2007-08-13 01:25 lowlatency -rw-r--r-- 1 root root 194 2007-08-13 01:25 vars.386 -rw-r--r-- 1 root root 218 2007-08-13 01:25 vars.server-bigiron </nowiki></pre> '''如果你在debian/config中没有找到config配置文件,你会在/boot目录中找到它们,例如,/boot/config-2.6.22-14-generic。 如果你需要改变某一个配置选项,简单的修改包括这选项的文件。如果你修改"config"文件,会影响这结构中的所有对象。如果你修改其中一个对象配置,它仅仅影响此对象。 当你打了一个补丁,或者调整了配置之后,最好去重新生成配置文件以确保他们是一致的。 去重新生成所有的配置,请运行: <pre><nowiki> debian/rules updateconfigs </nowiki></pre> 如果你仅仅想要更新一个配置,请运行: <pre><nowiki> debian/scripts/misc/oldconfig ARCH </nowiki></pre> ===占位目录=== ===占位目录=== ===占位目录===
该页面使用的模板:
模板:From
(
查看源代码
)
模板:Languages
(
查看源代码
)(受保护)
模板:Languages/Lang
(
查看源代码
)(受保护)
模板:Translation
(
查看源代码
)
返回至
UbuntuHelp:Kernel/Compile/zh
。