没有合适的资源?快使用搜索试试~ 我知道了~
2. Getting Started with the Kernel
需积分: 0 2 下载量 148 浏览量
2020-12-26
11:08:38
上传
评论
收藏 138KB DOCX 举报
温馨提示
试读
31页
2. Getting Started with the Kernel
资源详情
资源评论
资源推荐
2. Getting Started with the Kernel
!"!!!
!#
在本章中,我们将介绍 内核的一些基础知识:在何处获取其源代码,如何对其进
行编译以及如何安装新内核。 然后,我们讨论内核和用户空间程序以及内核中使用的通
用编程结构之间的区别。 尽管内核肯定在许多方面都是唯一的,但归根结底,它与任何
其他大型软件项目几乎没有什么不同。
OBTAINING THE KERNEL SOURCE
$!tarball
%tar&
'((
当前的 源代码始终可以在完整的 (使用 命令创建的归档文件)中找到,
也可以从 内核的官方主页 (( 获得增量补丁。
)!*
!always$!
1
除非有特定的原因要使用旧版本的 源,否则始终需要最新的代码。 在
上的存储库中可以找到它,以及许多领先的内核开发人员提供的其他补丁。
Using Git
+!!
!
!Git)
!CVS,
-"!!!
,
在过去的几年中,由 亲自领导的内核黑客已经开始使用新的版本控制系统来管理
内核源。 牢记速度,创建了一个名为 , 的系统。 与 ./0 之类的传统系统
不同,, 是分布式的,因此它的用法和工作流程对许多开发人员来说是陌生的。 我强
烈建议使用 , 下载和管理 内核源代码。
1,!234
您可以使用 , 获取 树的最新“推送”版本的副本:
$ git clone
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
!!4 下载后,您可以
将树更新为 的最新树:
$ git pull
!"!
'$!
.56278.!3
2
,9!
使用这两个命令,您可以获得并随后保持最新的官方内核树。 要提交和管理您自己的更
改,请参阅第 56 章,“修补程序,黑客和社区”。 有关 , 的完整讨论不在本书的讨论范
围内。 许多在线资源提供了出色的指南。
Installing the Kernel Source
$,:);%;&;5
<;5!
";$;5
linux-x.y.z.tar.bz2x.y.z
!;5
内核 以 ,:);(;)和 ;5 格式分发。 <;5 是默认格式和首选格式,
因为它的压缩效果通常比 ; 好很多。 ;5 格式的 内核压缩文件名为
!;;5,其中 !; 是特定版本的内核源代码的版本。 下载源代码后,对其进行
解压缩和取消压缩很简单。 如果您的 使用 ;5 压缩,请运行
$ tar xvjf linux-x.y.z.tar.bz2
,:); 如果使用 ,:); 压缩,请运行
$ tar xvzf linux-x.y.z.tar.gz
$!linux-x.y.z!
!
3
=git clone
这会将源解压缩并解压缩到 !; 目录。 如果使用 获取和管理内核源代码,则
无需下载 。 只需按照说明运行 命令,然后 下载并解压缩最新源代
码。
Where to Install and Hack on the Source
The kernel source is typically installed in /usr/src/linux. You should not use this source
tree for development because the kernel version against which your C library is
compiled is often linked to this tree. Moreover, you should not require root in order to
make changes to the kernel—instead, work out of your home directory and use root
only to install new kernels. Even when installing a new kernel, /usr/src/linux should
remain untouched.
内核源代码通常安装在/ usr / src / linux 中。 您不应该使用该源代码树进行开发,因为编
译 C 库所依据的内核版本通常链接到该树。 此外,您不需要 root 即可更改内核-而是在
主目录之外工作,仅使用 root 来安装新内核。 即使在安装新内核时,/ usr / src / linux 也
应保持不变。
Using Patches
$!lingua franca
1!
Incremental patches!
!
!!!
$!!
4
$!inside!
!
在整个 内核社区中,补丁是通用的通用语言。 您将在补丁程序中分发代码更改,
并从他人那里接收代码作为补丁程序。 增量补丁提供了一种从一棵内核树移动到下一棵
内核树的简便方法。 无需下载内核源代码的每个大型压缩文件,您只需应用一个增量补
丁即可从一个版本升级到另一个版本。 这样可以节省每个人的带宽并节省您的时间。 要
在内核源代码树内部应用增量补丁,只需运行
$ patch –p1 < ../patch-x.y.z
,!
通常,针对给定版本的内核的补丁适用于先前版本。
,!
在后面的章节中将更深入地讨论生成和应用补丁。
THE KERNEL SOURCE TREE
$
!$
$5>
内核源代码树分为多个目录,其中大多数包含更多子目录。 表 5> 列出了源树根目录中
的目录及其描述。
Table 2.1. Directories in the Root of the Kernel Source Tree
5
剩余30页未读,继续阅读
mounter625
- 粉丝: 1049
- 资源: 85
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于MFC的校园导航程序(使用最短路径dijkstra算法).rar
- Android Studio android APP 视频作为视图背景需要源代码或想了解其实现原理的可以私心我
- com.ZeroneGames.GreenProject.apk
- Python自动化开发入门教程
- 4399GameSem_116_13955_207551_6.apk
- python 3.9.19源码编译包
- php-8.2.18-Win32-vs16-x64.rar
- 字节跳动青训营-抖音项目
- SQL资料手册,语句教程,高级查询语句语法
- 上位机和串口建立 Modbus 协议进行数据传输,并使用 Mysql 数据库存储,能够实现实时温湿度显示和动态变化曲线,历史数据
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0