我期待着下载一个 Linux 内核来了解如何修改它以及如何编译它。
我正在使用 Debian 发行版,并且我对 Debian 修改的 Linux 内核感兴趣,而不是对 vanilla 内核形式kernel.org感兴趣。
做了一些研究,我发现主要有两种方法可以达到这个目的:
第一个选项将下载源 tarball 到 /usr/src/linux-source-3.19.tar.xz 中,后者将下载源 tarball (linux_3.19.1.orig.tar.xz),一个补丁 (linux_3.19.1- 1~exp1.debian.tar.xz)和一个描述文件(linux_3.19.1-1~exp1.dsc)。后者还将解压缩所有内容并将其解压缩到“linux-3.19.1”目录中。
起初我认为这两个版本会产生相同的代码,因为它们具有相同的内核版本和补丁级别(基于 apt-cache 命令的报告)。但是,diff 命令在比较来自 apt-get install的解压源与来自 apt-get源的解压源(对于打补丁和未打补丁的代码)时会报告差异。
将 apt-get install与 apt-get source 进行比较时:
$ diff -rq apt-get-install/ apt-get-source/ | wc -l
253
$ diff -rq apt-get-install/ apt-get-source/ | grep "Only in"
Only in apt-get-install/arch/arm/boot/dts: sun7i-a20-bananapro.dts
Only in apt-get-install/arch/s390/include/asm: cmb.h.1
Only in apt-get-install/drivers/dma-buf: reservation.c.1 …
Run Code Online (Sandbox Code Playgroud)