如何编译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

相关文章
|
16天前
|
Unix Linux 网络安全
python中连接linux好用的模块paramiko(附带案例)
该文章详细介绍了如何使用Python的Paramiko模块来连接Linux服务器,包括安装配置及通过密码或密钥进行身份验证的示例。
16 1
|
16天前
|
编解码 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)。
|
2月前
|
监控 机器人 Unix
GoLand——windows下如何编译Linux二进制文件
GoLand——windows下如何编译Linux二进制文件
42 1
GoLand——windows下如何编译Linux二进制文件
|
1月前
|
Linux
用clang编译Linux内核
用clang编译Linux内核
|
2月前
|
Linux C语言
深度探索Linux操作系统 —— 编译过程分析
深度探索Linux操作系统 —— 编译过程分析
21 2
|
2月前
|
NoSQL Linux Android开发
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
本文介绍了如何在QEMU中挂载虚拟分区、创建和编译简单的Linux内核模块,并在QEMU虚拟机中加载和测试这些内核模块,包括创建虚拟分区、编写内核模块代码、编译、部署以及在QEMU中的加载和测试过程。
122 0
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
|
2月前
|
负载均衡 应用服务中间件 Linux
在Linux中,常用的 Nginx 模块有哪些,常来做什么?
在Linux中,常用的 Nginx 模块有哪些,常来做什么?
|
2月前
|
安全 Linux 开发者
在Linux中,内核模块是什么以及如何加载和卸载它们?
在Linux中,内核模块是什么以及如何加载和卸载它们?
|
2月前
|
Ubuntu Linux Windows
如何在WSL中的ubuntu编译Linux内核并且安装使用ebpf?
请注意,在WSL1中可能会由于内核架构限制而无法成功进行以上过程,WSL2对于Linux内核的完整支持更为合适。此外,部分步骤可能因不同的Linux发行版或内核版本而异。
88 4
|
2月前
|
Linux 开发者
Linux源码阅读笔记18-插入模型及删除模块操作
Linux源码阅读笔记18-插入模型及删除模块操作