sps*_*sps 8 apt kernel source-code
我正在关注这个来学习编译内核。我用了
apt-get source linux-image-$(uname -r)
Run Code Online (Sandbox Code Playgroud)
下载我目前正在使用的 Linux 内核的源代码。
运行上述命令后,下载了以下文件(和目录)。
user $ ls -l
total 130972
drwxrwxr-x 27 sps sps 4096 Oct 16 03:10 linux-lts-vivid-3.19.0
-rw-rw-r-- 1 sps sps 10980684 Oct 5 10:54 linux-lts-vivid_3.19.0-30.34~14.04.1.diff.gz
-rw-rw-r-- 1 sps sps 7396 Oct 5 10:54 linux-lts-vivid_3.19.0-30.34~14.04.1.dsc
-rw-rw-r-- 1 sps sps 123115155 May 6 21:35 linux-lts-vivid_3.19.0.orig.tar.gz
user $
Run Code Online (Sandbox Code Playgroud)
在同一页面中提到:
构建内核非常简单。将您的工作目录更改为内核源代码树的根目录,然后键入以下命令:
但我不确定哪个是“内核源代码树的根”。
它是当前目录(我运行的位置apt-get source ...以及上面列出的文件的位置)?
或者,是目录:
drwxrwxr-x 27 sps sps 4096 Oct 16 03:10 linux-lts-vivid-3.19.0
Run Code Online (Sandbox Code Playgroud)
或者,我应该提取 tarball
-rw-rw-r-- 1 sps sps 123115155 May 6 21:35 linux-lts-vivid_3.19.0.orig.tar.gz
Run Code Online (Sandbox Code Playgroud)
输出uname -r:
user $ uname -r
3.19.0-30-generic
user $
Run Code Online (Sandbox Code Playgroud)
来自Debian 维基:
源代码包为您提供编译或以其他方式构建所需软件的所有必要文件。
它以最简单的形式由三个文件组成:
以.tar.gz结尾 的上游 tarball
以 .dsc 结尾的描述文件。它在文件名和内容中都包含包的名称(在 Source: 关键字之后)。
一个 tarball,包含对上游源代码所做的任何更改,以及为 Debian 软件包创建的所有文件。
- 这有一个.debian.tar.gz(源格式:3.0)
- 或.diff.gz结尾(源格式:1.0)
对于 Ubuntu 而言,情况完全相同,在您的情况下:
当您运行 时apt-get source linux-image-$(uname -r),上游 tarball 会自动使用“linux-lts-vivid-3.19.0”中“linux-lts-vivid_3.19.0-30.34~14.04.1.diff.gz”中列出的修改进行修补:
% apt-get source linux-image-$(uname -r)
# ...
dpkg-source: info: extracting linux in linux-3.19.0
dpkg-source: info: unpacking linux_3.19.0.orig.tar.gz
dpkg-source: info: applying linux_3.19.0-30.34.diff.gz
# ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3238 次 |
| 最近记录: |