【问题标题】:no build/script directory in lib/modules for a WSl2 kernelWSl2 内核的 lib/modules 中没有 build/script 目录
【发布时间】:2021-09-22 11:10:42
【问题描述】:

我在 WSL2 中构建并配置了一个内核(wsl-5.4.91、gcc 9.4.0、Ubuntu 18.04 WSL)

在安装 MLNX_OFED 时,我收到 lib/modules//build/scripts 中没有文件的错误。

我有一种简单的方法可以复制其中的脚本吗?

我读了这篇文章,但没走多远:https://unix.stackexchange.com/questions/594470/wsl-2-does-not-have-lib-modules


我是这样到达那里的:

home/thilo/MLNX_OFED_LINUX-5.4-1.0.3.0-ubuntu18.04-x86_64# ./mlnxofedinstall --add-kernel-support

但我收到以下错误:

错误:执行“MLNX_OFED_SRC-5.4-1.0.3.0/install.pl --tmpdir 失败” /tmp/MLNX_OFED_LINUX-5.4-1.0.3.0-5.4.91-MS-new-WSL2+/mlnx_iso.127_logs --kernel-only --kernel 5.4.91-MS-new-WSL2+ --kernel-sources /lib/modules/5.4.91-MS-new-WSL2+/build --builddir /tmp/MLNX_OFED_LINUX-5.4-1.0.3.0-5.4.91-MS-new-WSL2+/mlnx_iso.127 --without-dkms --without-debug-symbols --build-only --distro ubuntu18.04" 错误:见 /tmp/MLNX_OFED_LINUX-5.4-1.0.3.0-5.4.91-MS-new-WSL2+/mlnx_iso.127_logs/mlnx_ofed_iso.127.log 无法为 5.4.91-MS-new-WSL2+ 构建 MLNX_OFED_LINUX

打开 mlnx_ofed_iso.127 文件以查看错误

日志目录: /tmp/MLNX_OFED_LINUX-5.4-1.0.3.0-5.4.91-MS-new-WSL2+/mlnx_iso.127_logs/OFED.326.logs

一般日志文件: /tmp/MLNX_OFED_LINUX-5.4-1.0.3.0-5.4.91-MS-new WSL2+/mlnx_iso.127_logs/OFED.326.logs/general.log [32m

以下是您选择的 OFED 软件包列表

(由于软件包的依赖关系,安装程序可能已经添加了一些): [0米 ofed 脚本 mlnx 工具 mlnx-ofed 内核实用程序 mlnx-ofed-kernel-modules iser-modules isert-modules srp-modules mlnx-nvme-modules kernel-mft-modules knem-modules

检查软件要求...

[31m一个或多个所需的包 缺少安装 OFED-internal。[0m

[31m/lib/modules/5.4.91-MS-new-WSL2+/build/scripts 是必需的 安装。[0m

[31m正在尝试安装缺少以下内容 包:python3-distutils dh-python make dh-autoreconf chrpath linux-headers-5.4.91-MS-new-WSL2+ dpatch swig build-essential bzip2 debhelper graphviz 被子 python3 pkg-config gcc[0m

[31m 失败 命令:apt-get install -y python3-distutils dh-python make dh-autoreconf chrpath linux-headers-5.4.91-MS-new-WSL2+ dpatch swig build-essential bzip2 debhelper graphviz 被子 python3 pkg-config gcc[0m

【问题讨论】:

  • 我想通过直通可以让 Infiniband 硬件在 Linux VM 中运行,但是 RDMA 不能正常工作,是吗?您需要 Windows IOMMU 的配合。

标签: linux-kernel windows-subsystem-for-linux kernel-module wsl-2


【解决方案1】:

因此 WSL2 是一个单片内核,这意味着不会生成任何模块,因为默认情况下 WSL2 不支持它们。但是,当您自己编译时,您可以在内核编译完成后使用sudo make modules_install 编译和安装模块。在这种情况下,如果 MLNX_OFED 模块不是本机内核的一部分,则需要将其添加到内核并在内核配置中启用。我还建议将您的内核版本升级到现在存在的 WSL2 的 5.10.x 分支。例如,请参阅 https://wsl.dev/wsl2-kernel-zfs/,其中包括添加 ZFS。

【讨论】:

    猜你喜欢
    • 2020-12-02
    • 2013-05-17
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多