如何删除或缩小编译后的内核安装目录并仍然构建外部模块?

如何删除或缩小编译后的内核安装目录并仍然构建外部模块?

在外部设备上编译 Linux 内核后,我在构建外部模块时遇到问题。它是 4.19.103 内核,带有实时补丁 4.19.103。

我的板载存储磁盘<3Gb,因此我从外部块设备进行编译和安装。通过这样做,构建外部模块所需的内核“build”和“source”目录现在指向已安装的外部设备:

ll /lib/modules/4.19.103-rt42/
lrwxrwxrwx  1 root root  24 Feb 23 17:20 build -> /home/user/mnt/linux-4.19.103
lrwxrwxrwx  1 root root  24 Feb 23 20:15 source -> /home/user/mnt/linux-4.19.103

构建目录为 9Gb,我需要将其移动到 3Gb 板载磁盘。

kernel-devel使用默认内核,可以通过安装“build”目录指向的包来轻松添加外部模块:

ll /lib/modules/4.18.0-147.5.1.el8_1.x86_64/ 
lrwxrwxrwx.  1 root root  44 Feb  4 18:07 build -> /usr/src/kernels/4.18.0-147.5.1.el8_1.x86_64

这个目录只有91Mb。 (与我的 9Gb 构建目录相比)

基本上我要问的是:有没有办法缩小构建目录,类似于包kernel-devel/usr/src/kernels/4.xxx目录的处理方式?看起来这个目录只有 Makefiles/Kconfig 和一些标头,所以我可以删除所有构建对象和源文件 home/user/mnt/linux-4.19.103并将其移动到我的根文件系统吗?安装的时候有make选项吗?我目前使用:

make modules_install headers_install install

相关内容