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

相关文章

Java逻辑运算符之&&、|| 与&、 |的区别及应用

《Java逻辑运算符之&&、||与&、|的区别及应用》:本文主要介绍Java逻辑运算符之&&、||与&、|的区别及应用的相关资料,分别是&&、||与&、|,并探讨了它们在不同应用场景中... 目录前言一、基本概念与运算符介绍二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. &:非短

Linux下修改hostname的三种实现方式

《Linux下修改hostname的三种实现方式》:本文主要介绍Linux下修改hostname的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下修改ho编程stname三种方式方法1:修改配置文件方法2:hFvEWEostnamectl命

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

jdk21下载、安装详细教程(Windows、Linux、macOS)

《jdk21下载、安装详细教程(Windows、Linux、macOS)》本文介绍了OpenJDK21的下载地址和安装步骤,包括Windows、Linux和macOS平台,下载后解压并设置环境变量,最... 目录1、官网2、下载openjdk3、安装4、验证1、官网官网地址:OpenJDK下载地址:Ar

linux本机进程间通信之UDS详解

《linux本机进程间通信之UDS详解》文章介绍了Unix域套接字(UDS)的使用方法,这是一种在同一台主机上不同进程间通信的方式,UDS支持三种套接字类型:SOCK_STREAM、SOCK_DGRA... 目录基础概念本机进程间通信socket实现AF_INET数据收发示意图AF_Unix数据收发流程图A

linux环境openssl、openssh升级流程

《linux环境openssl、openssh升级流程》该文章详细介绍了在Ubuntu22.04系统上升级OpenSSL和OpenSSH的方法,首先,升级OpenSSL的步骤包括下载最新版本、安装编译... 目录一.升级openssl1.官网下载最新版openssl2.安装编译环境3.下载后解压安装4.备份