【问题标题】:Files to enable build of out-of-tree kernel modules启用构建树外内核模块的文件
【发布时间】:2020-02-14 08:18:04
【问题描述】:

我需要准备一个 apt-package 来为自定义 Linux 构建内核模块。我使用headers_installmodules_install make-targets 在另一台机器上交叉构建了内核头文件和模块。复制生成的目录后,我仍然无法在目标机器上构建内核模块,因为缺少/lib/modules/$(shell uname -r)/build

这是我的问题。为了启用模块构建(以及上面提到的生成的内核头文件和模块),我需要在包中包含哪些最小依赖项?

提前致谢。

【问题讨论】:

标签: linux-kernel kernel-module dkms


【解决方案1】:

经过一些试验,我找到了一个可行的解决方案:

#!/bin/bash

ARCH=arm

SRC_DIR=$1
MOD_DIR=$2

BUILD_DIR=$MOD_DIR/build

set -ex

cd $SRC_DIR
make modules_install INSTALL_HDR_PATH=$MOD_DIR
rm $MOD_DIR/{build,source}

mkdir $BUILD_DIR
cp $SRC_DIR/{.config,Makefile,System.map,Module.symvers} $BUILD_DIR

mkdir -p $BUILD_DIR/arch/$ARCH
cp $SRC_DIR/arch/$ARCH/Makefile $BUILD_DIR/arch/$ARCH/

cp -r $SRC_DIR/scripts $BUILD_DIR/

# Build a headers tree manually, because
# `make headers_install` doesn't put everything needed.
cp -r $SRC_DIR/include $BUILD_DIR/
cp -r $SRC_DIR/arch/$ARCH/include/* $BUILD_DIR/include/
cp -r $SRC_DIR/include/generated/* $BUILD_DIR/include/
cp -r $SRC_DIR/arch/$ARCH/include/generated/* $BUILD_DIR/include/
cp $SRC_DIR/include/linux/kconfig.h $BUILD_DIR/include/linux/

在本机构建内核源代码树之后(不是跨平台),此脚本会提供内核源代码树的路径。

【讨论】:

    猜你喜欢
    • 2011-04-30
    • 2014-12-15
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 2020-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多