查看“KernelBuildpackageHowto”的源代码
来自Ubuntu中文
←
KernelBuildpackageHowto
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
== 内核编译指南 == === 介绍 === 本页谈论如何重建 Ubuntu Linux 内核包。这是自己编译 Ubuntu 内核最直接的方法,但它也是相当重量级的方法。如果你打算做一些内核开发或调试的话,你也许会更高兴地按照 [http://www.ubuntu.org.cn/support/documentation/doc/KernelBuildpackageDetailedHowto 本指南] 来做。它更复杂一点但也更灵活。 === 安装 === 我们将在你用户目录中构建“Linux”目录下的任何东西(或是你想调用的)。下面的步骤必须做为根用户(通过前面用"sudo")来运行。 <pre><nowiki> $ sudo apt-get build-dep linux-source-2.6.8.1 $ mkdir ~/linux $ cd ~/linux $ apt-get source linux-source-2.6.8.1 $ cd linux-source-2.6.8.1-2.6.8.1 </nowiki></pre> 注意:这种方式需要很大的磁盘空间,尤其是在你想要一些特色时(看下面)。在实现全部特色时,需要1.6G。它可能在编译期间甚至需要更多的磁盘空间。 === 配置 === 到这一步,你也许想改变你的内核配置。在 debian/config/ARCH/ (比如我当前的内核是“linux-image-2.6.8.1-3-686”,那么我将编辑debian/config/i386/686)目录中修改相应的文件。 你可能也想删除其它那些你不关心的配置。或者至少将它们移到另一个目录中。否则,你将从头构建每一个--这是一个非常耗时的过程。下面的示例就是就是除了686之外,不构建任何特色。 <pre><nowiki> $ cd debian/config/i386 $ mkdir disabled $ mv * disabled $ mv disabled/686 . </nowiki></pre> === 构建 === 现在源已经被安装和配置好了,构建它。如果你不对上述特色进行限制的话,它需要花费相当长的时间(在我的1Ghz的本本上花了大约七小时)。 -B 是说只构建依赖结构的两进制文件,-uc 和 -us 是指这些文件不能被加密,-rfakerroot 允许你作为一般(非根)用户去做任何事。 <pre><nowiki> $ cd ~/linux/linux-source-2.6.8.1-2.6.8.1 $ dpkg-buildpackage -B -uc -us -rfakeroot </nowiki></pre> === 安装 === ==== 现在安装新的包 ==== <pre><nowiki> $ cd ~/linux $ sudo dpkg -i linux/linux-image-2.6.8.1-3-686_2.6.8.1-16_i686.deb </nowiki></pre> ==== 构建链接 ==== 如果你打算构建一些额外的 2.6 驱动,它们可能要求从 /lib/modues 链接到构建环境里。你需要手动设置它们。当然用你的用户名重置 USER,否则请确实指定你用来构建包的 Linux 目录的绝对路径。 <pre><nowiki> $ sudo ln -s /home/USER/linux/linux-source-2.6.8.1-2.6.8.1/debian/build/build-686 /lib/modules/2.6.8.1-3-686/build $ sudo ln -s /home/USER/linux/linux-source-2.6.8.1-2.6.8.1/debian/build/build-686 /lib/modules/2.6.8.1-3-686/source </nowiki></pre> ==== 启动引导 ==== 你将设置你的启动引导,就象 [http://www.ubuntulinux.org/wiki/KernelCompileHowto KernelCompileHowto] 中启动引导那节所建议的那样。 ==== 重启 ==== 然后重启计算机! === 问题 === 什么是修订版本号?当用 make-kpkg 构建时,你可以有 --revision=custom.xx 来创建你们自定义内核修订版本。 ---- 通过这种方式怎样处理修订版本? 怎样处理ABI改变? --mukesh agrawal, Sat, 14 May 2005 19:28:29 +0100 我尝试按上面的介绍来构建内核。但内核有一些 ABI 的改变(我使内核的环回块设备支持无效,以便我可以建构 loop-aes )。构建系统显示下列错误: "ABI has changed! Refusing to continue; please update the ABINAME accordingly. Differences:" “ABI 被改动!不能继续;请更新相应的ABINAME。不同之处:” 但没有给出任何的关于在哪里和怎样改动 ABINAME 。我试了很多似乎是最明显的地方(编辑debian/abi/<kernel-version>/abiname),但编辑之事对编译系统无效。 编辑 .config --mukesh agrawal, Sat, 14 May 2005 19:34:19 +0100 就我所知,该处理过程并非让你在构建树中运行 make config 。而是建议在你自己的树中作近似处理,然后拷贝并覆盖 .config 文件?(手动编辑 .config 看上去并不是好的办法) 构建处理 --mukesh agrawal, Sat, 14 May 2005 19:36:40 +0100 该构建过程总是在构建之前清理树的。有人能对该效果进行确认和添加记录吗?因为构建 Ubuntu 的 .config 文件的时间相当长,它对于你在构建前预先 知道如何如你所愿地得到你的源和 .config 文件来说是十分有用的。本文档也提示了这一点,说该过程是“重量级的”,但我想明确地说明这一点也将是有帮 助的。 [[Category:系统]]
返回
KernelBuildpackageHowto
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
登录
导航
首页
最近更改
随机页面
页面分类
帮助
搜索
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息