Linux应用程序开发笔记:Linux .ko模块编译

2024-05-03 20:32

本文主要是介绍Linux应用程序开发笔记:Linux .ko模块编译,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

hello.c 参考:https://blog.csdn.net/tugouxp/article/details/69053633

Makefile内容如下:

CROSS_COMPILE:=/home/liang/linux/OrangePiH5/toolchain/gcc-linaro-aarch/bin/aarch64-linux-gnu-
export ARCH=arm64
CC:=$(CROSS_COMPILE)gcc
LD:=$(CROSS_COMPILE)ldobj-m:=hello.o  KERNEL_PATH:=/home/liang/linux/OrangePiH5/kernelPWD:=$(shell pwd)default:make -C $(KERNEL_PATH) M=$(PWD) modulesmodules_install:make -C $(KERNEL_PATH) M=$(PWD) modules_installclean:make -C $(KERNEL_PATH) SUBDIRS=$(PWD) clean

其中:

CROSS_COMPILE:指定交叉编译工具链路径

KERNEL_PATH:指定Linux内核路径

 

执行make:

make -C /home/liang/linux/OrangePiH5/kernel M=/home/liang/linux/OrangePiH5/ko_module modules
make[1]: Entering directory '/home/liang/linux/OrangePiH5/kernel'CC [M]  /home/liang/linux/OrangePiH5/ko_module/hello.oBuilding modules, stage 2.MODPOST 1 modulesCC      /home/liang/linux/OrangePiH5/ko_module/hello.mod.oLD [M]  /home/liang/linux/OrangePiH5/ko_module/hello.ko
make[1]: Leaving directory '/home/liang/linux/OrangePiH5/kernel'

生成文件内容:

hello.c  hello.ko  hello.mod.c  hello.mod.o  hello.o  Makefile  modules.order  Module.symvers

 

另外如果报错:

MODPOST 0 modules

可参考:http://blog.sina.com.cn/s/blog_658bb27f0100pfav.html

这篇关于Linux应用程序开发笔记:Linux .ko模块编译的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/957578

相关文章

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

Linux线程同步/互斥过程详解

《Linux线程同步/互斥过程详解》文章讲解多线程并发访问导致竞态条件,需通过互斥锁、原子操作和条件变量实现线程安全与同步,分析死锁条件及避免方法,并介绍RAII封装技术提升资源管理效率... 目录01. 资源共享问题1.1 多线程并发访问1.2 临界区与临界资源1.3 锁的引入02. 多线程案例2.1 为

分布式锁在Spring Boot应用中的实现过程

《分布式锁在SpringBoot应用中的实现过程》文章介绍在SpringBoot中通过自定义Lock注解、LockAspect切面和RedisLockUtils工具类实现分布式锁,确保多实例并发操作... 目录Lock注解LockASPect切面RedisLockUtils工具类总结在现代微服务架构中,分布

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream