如何编译linux第一个模块 hellomod.ko

简介: <div class="bct fc05 fc11 nbw-blog ztag"><p>[liu@liu-desktop hellomod]$mddir hellomod<br>[liu@liu-desktop hellomod]$cd hellomod<br>[liu@liu-desktop hellomod]$vi hellomod.c<br>/****************hello

[liu@liu-desktop hellomod]$mddir hellomod
[liu@liu-desktop hellomod]$cd hellomod
[liu@liu-desktop hellomod]$vi hellomod.c
/****************hellomod.c*******************************/
#include <linux/module.h> //所有模块都需要的头文件
#include <linux/init.h> // init&exit相关宏
MODULE_LICENSE("GPL");
static int __init hello_init (void)
{
    printk("Hello china init/n");
    return 0;
}
static void __exit hello_exit (void)
{
    printk("Hello china exit/n");
}
module_init(hello_init);
module_exit(hello_exit);
/****************hellomod.c*******************************/

 

 

#!/bin/bash


if [ -f ../module_conf ]; then
. ../module_conf
else
    SDK_SRC="/usr/src/arm-linux-2.6"
fi

False_Act()
{
 cat mk.err 
 exit 1
}

if [ -z "$1" ]
then
    target=modules
else
    target=$1
fi
make -C ${SDK_SRC}/linux-2.6.14-fa M=`pwd` $target 2> mk.err || False_Act
if [ -z "$1" ]
then
 cp hellomod.ko /tmp
fi

相关文章
|
22天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
67 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
26天前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
8天前
|
Linux
Linux - 如何编译源码安装软件
源码编译安装通常包括三个步骤:1) `./configure` 检测平台特征和依赖项,生成 Makefile;2) `make` 编译源码,生成可执行文件;3) `make install` 将可执行文件安装到指定目录并配置环境变量。
23 0
|
1月前
|
Linux 编译器 C语言
Linux c/c++之多文档编译
这篇文章介绍了在Linux操作系统下使用gcc编译器进行C/C++多文件编译的方法和步骤。
36 0
Linux c/c++之多文档编译
|
25天前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
2月前
|
Unix Linux 网络安全
python中连接linux好用的模块paramiko(附带案例)
该文章详细介绍了如何使用Python的Paramiko模块来连接Linux服务器,包括安装配置及通过密码或密钥进行身份验证的示例。
66 1
|
2月前
|
Linux
用clang编译Linux内核
用clang编译Linux内核
|
2月前
|
编解码 Linux 开发工具
Linux平台x86_64|aarch64架构RTMP推送|轻量级RTSP服务模块集成说明
支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0, 需安装 libstdc++.so.6.0.21、GLIBCXX_3.4.21、 CXXABI_1.3.9)。
|
3月前
|
Linux C语言
深度探索Linux操作系统 —— 编译过程分析
深度探索Linux操作系统 —— 编译过程分析
27 2
|
3月前
|
NoSQL Linux Android开发
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
本文介绍了如何在QEMU中挂载虚拟分区、创建和编译简单的Linux内核模块,并在QEMU虚拟机中加载和测试这些内核模块,包括创建虚拟分区、编写内核模块代码、编译、部署以及在QEMU中的加载和测试过程。
182 0
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试