错误信息:
make -C /lib/modules/3.10.0-693.el7.x86_64/build M=/home/kpatch/kmod/core kpatch.ko
make: Entering an unknown directory
make: *** /lib/modules/3.10.0-693.el7.x86_64/build: 没有那个文件或目录。 停止。
make: Leaving an unknown directory
make[2]: *** [kpatch.ko] 错误 2
make[2]: Leaving directory `/home/kpatch/kmod/core'
make[1]: *** [all] 错误 2
make[1]: Leaving directory `/home/kpatch/kmod'
make: *** [build-kmod] 错误 2
解决思路:
1、进入/usr/src/kernels/下看有没有相应的内核开发包,没有,就安装,若有跳过第一步
UNAME=$(uname -r)
yum install gcc kernel-devel-${UNAME%.*}
2、进入/lib/modules/3.10.0-693.el7.x86_64,创建软连接
ln -s /usr/src/kernels/3.10.0-693.el7.x86_64/ /lib/modules/3.10.0-693.el7.x86_64/build
我创建的时候,创建失败,提示 :“ln: 创建符号链接 “build”: 文件已存在”
ls -l /lib/modules/3.10.0-693.el7.x86_64
此时只需要删除软连接,重新创建即可:
rm ./build
ln -s /usr/src/kernels/3.10.0-693.el7.x86_64/ build
注意:
部分博客中提供如下这种创建链接的方式(ln -s ../../../usr/src/kernels/2.6.32-431.el6.x86_64/ build),在centOS 7中亲测有误,特此提醒,避免入坑。
kernel-devel rpm包下载链接:
http://www.rpmfind.net/linux/rpm2html/search.php?query=kernel-devel