关于 /lib/modules/**内核版本号**/ build 和 /source

最近在编译部署内核模块的时候。

Makefile报错:

找不到/lib/modules/**内核版本号**/build

经过一番搜索,发现:

/lib/modules/内核版本号/build/lib/modules/内核版本号/source 。应该是指向编译内核时的源码工程的软连接。

当前内核版本的名称可以通过如下指令获取:

uname -r

对于使用比如Ubuntu的发行版。包管理器里可能包含开发用的源码和头文件包。

可以尝试安装:

sudo apt-get install linux-headers-$(uname -r)

或者类似的指令。

如果是嵌入式Linux,自己裁剪的内核。

可以将Linux Kernel的开发工程整个复制到嵌入式的文件系统中。然后建立软连接将buildsource指向kernel工程目录。

注意:

只有源码是不够的,我复制了未被编译过的源码包,被报错找不到好像是autoconf.h这些配置内核生成的文件。所以说应该是直接把编译生成当前镜像的工程源码包复制下来就好。

最后编译的时候说我有需要的内核配置选项没开。因为我没时间折腾,而这个内核模块也不是必需的。就到此为止了。 有新增后续再更。

你可能感兴趣的:(Linux,linux,运维,服务器)