【问题标题】:How to install Kernel Modules from Source Code. Error while make process如何从源代码安装内核模块。制作过程中出错
【发布时间】:2014-04-01 10:55:46
【问题描述】:

我想将内核模块安装到 lib/modules/ 。实际上,在执行 make modules 之后必须在 lib/modules/(uname-r) 中创建一个文件夹,但只创建了 3 个文件夹,分别称为“build”、“kernel”和“source”。在make modules 之后我也收到错误:

DEPMOD 3.4.79
WARNING: COULDN't open directory /lib/modules/3.4.79: No such file or direcoty
FATAL: Could not open /lib/modules/3.4.79/modules.dep.temp for writing: No suhc file or directory
make: *** [_modinst_post] Error 1

确实没有那个目录,但是怎么添加呢?

【问题讨论】:

  • 你编译内核了吗?这些目录是在内核构建之后生成的。
  • 我在内核源代码中使用“make”编译它
  • 只是为了说明这一点,因为你没有提到它,看看我的盒子 /lib/modules/ 只是root-writable - 你确实拥有正确的权限,不是吗?

标签: linux linux-kernel makefile arm


【解决方案1】:

您是否尝试过“make modules_install”?

安装模块

制作模块安装

安装内核

进行安装

【讨论】:

  • 是的,我做了,有 3 个文件夹,分别称为 build、kernel、source。还有两个名为 modules.builtin 和 modules.order 的文件
【解决方案2】:

树外模块

为了未来 Google 员工的利益,Buildroot2018.05 为 LInux v4.19 安装树外模块:

cd linux_kernel_source
mkdir -p /build/dir/default/x86_64/target/lib/modules/4.19.0/extra
/usr/bin/make -f ./scripts/Makefile.modinst
mkdir -p /build/dir/default/x86_64/target/lib/modules/4.19.0/extra
cp /build/dir/default/x86_64/build/kernel_modules-1.0/./buildroot_dep.ko /build/dir/default/x86_64/target/lib/modules/4.19.0/extra
/build/dir/default/x86_64/host/bin/x86_64-buildroot-linux-uclibc-strip --strip-debug /build/dir/default/x86_64/target/lib/modules/4.19.0/extra/buildroot_dep.ko
/bin/bash ./scripts/depmod.sh /build/dir/default/x86_64/host/sbin/depmod 4.19.0

所以我们可以看到它在树脚本中使用了./scripts/Makefile.modinst./scripts/depmod.sh,加上一些丑陋的手动复制模块。

通过使用V=1kernel_modules_package_name-reconfigure 构建a package that contains kernel modules 并简化输出命令,每次都有效:-)。

唯一缺少的问题是depmod是如何获得的,所以我们用host-kmod-reconfigure做了另一个详细的构建,基本上获得了:

./configure
--prefix="/build/dir/default/x86_64/host"
--sysconfdir="/build/dir/default/x86_64/host/etc"
--localstatedir="/build/dir/default/x86_64/host/var"

来源从哪里获得:https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git

在树中安装模块时使用make modules_install,如How to install Kernel Modules from Source Code. Error while make process所述:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    • 2012-03-10
    • 1970-01-01
    相关资源
    最近更新 更多