在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