使用make modules_install并导致错误目标''不是目录

时间:2017-03-23 08:30:55

标签: linux module linux-kernel

我正在尝试编译一个新的自定义内核,这是我尝试使用make --trace安装模块时得到的结果:

Makefile:1202: target '_modinst_' does not exist
rm -rf /lib/modules/4.8.17-ARCH 4.1.1-RC1-g9ce0bd6/kernel
rm -f /lib/modules/4.8.17-ARCH 4.1.1-RC1-g9ce0bd6/source
mkdir -p /lib/modules/4.8.17-ARCH 4.1.1-RC1-g9ce0bd6/kernel
ln -s `cd . && /bin/pwd` /lib/modules/4.8.17-ARCH 4.1.1-RC1-g9ce0bd6/source
ln: target ‘4.1.1-RC1-g9ce0bd6/source’ is not a directory
make: *** [Makefile:1205: _modinst_] Error 1 

据我所知,由于我的工作目录的路径包含无效字符,所以会发生这种情况,但它对我来说不会出错:

/home/student/ws_student/kernel/linux-4.8.17

这是我在Makefile中查到的内容:

_modinst_:
@rm -rf $(MODLIB)/kernel
@rm -f $(MODLIB)/source
@mkdir -p $(MODLIB)/kernel
@ln -s `cd (srctree) && /bin/pwd` $(MODLIB)/source
p / s:抱歉我的英语不好:P

1 个答案:

答案 0 :(得分:1)

这不是您的工作目录,而是内核版本后缀,其中包含"无效"字符(空格):

ARCH 4.1.1-RC1-g9ce0bd6

make --trace输出中可以看出,这会在_modinst_次收据中混淆shell命令。