如何知道

如何知道

https://github.com/facebook/flashcache/有一句话

make KERNEL_TREE=<root of the kernel source tree>

这会构建 flashcache.ko 和 3 个实用程序。

flascache-sa-guide.txt 详细介绍了如何创建和加载 flashcache 卷。

莫汉·斯里尼瓦桑·保罗·萨博

我应该写什么来替换?

答案1

中央操作系统

参考:教程链接

教程的快速引用:

第1步:作为普通用户

[user@host]$ mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
[user@host]$ echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros

第 2 步:以 root 身份

[root@host]# yum install rpm-build redhat-rpm-config asciidoc hmaccalc
[root@host]# yum install binutils-devel elfutils-libelf-devel newt-devel zlib-devel

第三步:作为普通用户

[user@host]$ rpm -i http://vault.centos.org/6.3/updates/Source/SPackages/kernel-2.6.32-279.19.1.el6.src.rpm 2>&1 | grep -v mock

内核源代码树:/home/user/rpmbuild/BUILD/kernel*/linux*/<-- cd 进入其中以确认那些“*”。

所以

make KERNEL_TREE=<put in the full path above>

德班

<root of the kernel source tree>是内核源代码所在的位置。

在 Ubuntut/Debain 上,下载内核源代码

apt-get install linux-source-3.2.0

这会将内核源代码树放入

/usr/src/linux-source-3.2.0

然而,实际的源代码树需要解压缩

# cd /usr/src/linux-source-3.2.0
# ls -lh
total 77M
drwxr-xr-x 10 root root 4.0K Jan 24 22:40 debian
drwxr-xr-x  8 root root 4.0K Jan 24 22:40 debian.master
-rw-r--r--  1 root root  77M Jan  8 17:46 linux-source-3.2.0.tar.bz2

# tar xf linux-source-3.2.0.tar.bz2
# ls -lh
total 77M
drwxr-xr-x 10 root root 4.0K Jan 24 22:40 debian
drwxr-xr-x  8 root root 4.0K Jan 24 22:40 debian.master
drwxrwxr-x 24 root root 4.0K Jan  8 17:45 linux-source-3.2.0
-rw-r--r--  1 root root  77M Jan  8 17:46 linux-source-3.2.0.tar.bz2

源树是/usr/src/linux-source-3.2.0/linux-source-3.2.0

所以

make KERNEL_TREE=/usr/src/linux-source-3.2.0/linux-source-3.2.0

答案2

Red Hat、CentOS 和 Fedora 系统都有该kernel-devel软件包,其中包含针对内核构建模块所需的机制(请注意,不是完整的源代码)。源的根位于/usr/src/kernels/<version>

答案3

要编译额外的内核模块,您通常需要安装带有内核头文件的软件包

  • kernel-devel基于 RedHat 的发行版(Fedora、CentOS...)
  • linux-headers-$(uname -r)基于 Debian 的发行版(Ubuntu,...)。

在 中/lib/modules/$(uname -r)/,应该有一个build 指向正确目录的符号链接。

所以安装内核头包然后使用

make KERNEL_TREE=/lib/modules/$(uname -r)/build

相关内容