Linux内核
文章平均质量分 56
LiuBZ_
这个作者很懒,什么都没留下…
展开
-
ext3文件系统分析
创建一个64M虚拟磁盘 dd if=/dev/zero of=./test.img bs=1M count=64将虚拟磁盘绑定在/dev/loop1设备上将磁盘格式化为block size=1024,卷标为“HelloFs”,ext3文件系统 mkfs.ext3 -L HelloFs -b 1024 /dev/loop1通过which mkfs.ext3和rpm -qf /usr/sbin/mkfs.ext3命令可查找mkfs.ext3命令在哪个软件包里面,其他命令也可以通.原创 2021-02-05 18:34:25 · 716 阅读 · 0 评论 -
Linux下最简文件系统(一)
通过对内存区域的读写完成的一个最简文件系统。后续将陆续更新升级该文件系统功能。原创 2021-02-05 15:06:21 · 312 阅读 · 0 评论 -
C语言嵌入式Linux编程相关资料链接
收集一些感觉比较好的博客链接,方便以后再看Linux 内核中的 C 语言语法扩展Linux 内核驱动中的指定初始化宏构造利器:语句表达式Linux 内核第一宏:container_of零长度数组U-boot镜像自拷贝分析:section属性地址对齐那些事儿变参函数的格式检查链接过程中的强符号和弱符号内联函数探究内建函数可变参数宏总结...原创 2021-02-04 16:16:13 · 81 阅读 · 0 评论 -
linux内核打补丁和制作补丁
1 、打补丁先下载内核源码和补丁,例如内核源码:linux-3.10.tar.gz 下载补丁:patch-3.10.1.gz在Linux下创建一个patch-3.10.1目录,把patch-3.10.1.gz放到patch-3.10.1目录下,进入到patch-3.10.1目录,并使用以下命令解压:gunzip patch-3.10.1.gz补丁就是一个文件,通过vim打开补丁文件可看到补丁的样子,像使用git中的diff:进入到内核源码路径,执行以下命令开始打补丁:.原创 2021-02-04 15:06:57 · 1098 阅读 · 0 评论 -
Linux内核中导出符号及其引用
导出符号可以被其他模块使用,只需使用前声明一下即可。模块使用以下宏导出符号到内核符号表中:EXPORT_SYMBOL(符号名);EXPORT_SYMBOL_GPL(符号名);EXPORT_SYMBOL_GPL只适合GPL许可的模块进行调用示例:导出整数加、减运算函数符号的内核模块calculate_lib.c#include<linux/init.h>#include<linux/module.h>#include "calculate_lib.h"原创 2020-08-18 15:34:30 · 731 阅读 · 0 评论 -
一个驱动同时支持多个设备
#include <linux/module.h>#include <linux/types.h>#include <linux/fs.h>#include <linux/cdev.h>#include <linux/kernel.h>#include <linux/init.h>#include <linux/slab.h>#include <linux/uaccess.h>#defi...原创 2020-08-13 19:58:43 · 944 阅读 · 0 评论 -
字符设备驱动
编写一个字符设备驱动,并利用对字符设备的同步操作,设计实现一个聊天程序。可以有一个读,一个写进程共享该字符设备,进行聊天;也可以由多个读和多个写进程共享该字符设备,进行聊天。1、字符设备驱动程序#include <linux/module.h>#include <linux/init.h>#include <linux/fs.h>#include <asm/uaccess.h>#include <linux/wait.h>#in原创 2019-08-31 09:36:36 · 207 阅读 · 0 评论 -
Linux中module模块的编译、加载、卸载
在Linux下建个DriverHello目录,在DriverHello目录下编写源文件hello.c和Makefile文件。1、编写源文件hello.c#include <linux/init.h>#include <linux/module.h>#include <linux/sched.h>#include <linux/kernel.h>static int nbr = 10;module_param(nbr, int, S_IR原创 2019-08-31 09:14:56 · 994 阅读 · 0 评论