慢慢欣赏linux 内核安装ko到指定的目录

本文介绍如何在x86开发机上为arm64目标机编译Linux内核模块,并将其安装到指定目录。通过设置环境变量及使用特定的交叉编译工具链,实现了内核模块的跨平台编译。

开发机是x86,目标机是arm64,如何在开发机将内核的ko编译完成并拷贝到目标机

在开发机如下操作:

首先设置环境变量

test/linux-kernel$ pwd
/home/test/linux-kernel
test/linux-kernel$ mkdir build
test/linux-kernel/build$ cd ..

test/linux-kernel$ export PATH=/opt/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin:$PATH
test/linux-kernel$ export ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
test/linux-kernel$ export CC=aarch64-linux-gnu-gcc
test/linux-kernel$ export INSTALL_MOD_PATH=/home/test/linux-kernel/build

完成menconfig之后完成编译动作

test/linux-kernel$ make 
  CALL    scripts/checksyscalls.sh
  CHK     include/generated/compile.h
  Building modules, stage 2.
  MODPOST 305 modules

开始安装到指定目录

test/linux-kernel$ make modules_install
  INSTALL arch/arm64/crypto/aes-neon-bs.ko
  INSTALL arch/arm64/crypto/chacha20-neon.ko
... ...
  INSTALL sound/hda/snd-hda-core.ko
  INSTALL sound/pci/hda/snd-hda-codec.ko
  INSTALL sound/soc/codecs/snd-soc-hdmi-codec.ko
  INSTALL sound/soc/generic/snd-soc-audio-graph-card.ko
  INSTALL sound/soc/generic/snd-soc-simple-card-utils.ko
  INSTALL sound/soc/generic/snd-soc-simple-card.ko
  DEPMOD  4.19.111-embeded

查看目标文件

test/linux-kernel$ ls buil
build/      built-in.a  
test/linux-kernel$ ls buil
build/      built-in.a  
test/linux-kernel$ ls build
lib
test/linux-kernel$ ls build/lib/
modules
test/linux-kernel$ ls build/lib/modules/
4.19.111-embeded
test/linux-kernel$ ls build/lib/modules/4.19.111-embeded/
build   modules.alias      modules.builtin            modules.builtin.bin  modules.dep.bin  modules.order    modules.symbols      source
kernel  modules.alias.bin  modules.builtin.alias.bin  modules.dep          modules.devname  modules.softdep  modules.symbols.bin

然后把 build/lib/modules/4.19.111-embeded 拷贝到目标机的 /lib/modules 目录下

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值