![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
文章平均质量分 59
qq_0105
这个作者很懒,什么都没留下…
展开
-
Linux驱动开发—— of_property_read_u8
dts转载 2023-01-06 00:49:12 · 337 阅读 · 0 评论 -
linux hairpin mode
hairpin中文翻译为发卡。bridge不允许包从收到包的端口发出,比如bridge从一个端口收到一个广播报文后,会将其广播到所有其他端口。bridge的某个端口打开hairpin mode后允许从这个端口收到的包仍然从这个端口发出。这个特性用于NAT场景下,比如docker的nat网络,一个容器访问其自身映射到主机的端口时,包到达bridge设备后走到ip协议栈,经过iptables规则的dnat转换后发现又需要从bridge的收包端口发出,需要开启端口的hai...转载 2021-11-20 23:52:31 · 893 阅读 · 0 评论 -
网络设备之监测连接状态
通常网络设备会定时地检测设备是否处于可传递状态。当状态发生变化时,会调用netif_carrier_on或者netif_carrier_off来通知内核;从网上设备插拔网线或者另一端的设备关闭或禁止,都会导致连接状态改变;netif_carrier_on—-设备驱动监测到设备传递信号时调用netif_carrier_off—-设备驱动监测到设备丢失信号时调用上述两个状态改变函数均会调用linkwatch_fire_event将事件加入到事件队列进行调度;相关函数的调用关系如下: 1 /**.转载 2021-11-20 23:48:14 · 448 阅读 · 0 评论 -
linux crypto
The Linux Kernel-cryptoThe Linux Kernel-crypto-AEAD_APIKernel Crypto框架Linux内核crypto子系统学习笔记Linux内核密码学API--对称密码AES-GCM加密算法的简单介绍CCM加密学习CCM-AES从Linux内核(CCM-AES from Linux Kernel)Linux加解密支持模块代码总体描述 Linux加解密支持模块代码总体描述Linux加解密支持模块代码详细分析之核心文件分析原创 2021-05-17 22:49:04 · 466 阅读 · 0 评论 -
printk 续行问题
最近在代码工程升级kernel版本后发现 代码中使用for循环dump 一些值的时候printk(“0x%x ”,temp_data)不能续行打印,导致每个没有换行\n结束的printk在打印时自动换行。查看后发现kernel4.9之后printk续行打印需要强制加上KERN_CONT flag. 参考 https://lwn.net/Articles/732420/有详细介绍。加完KERN_CONT后 续行问题是解决了,但是发现了一些奇怪的现象。example1:printk("txt..原创 2021-03-26 00:59:02 · 1582 阅读 · 0 评论 -
gcc编译falg
-Wall: enable a set of warning, actually not all.-W: enable extra warning, it is asvised to use -Wextra instead which has the same meaning.-Werror: every warning is treated as an error.-Wno-error: wanring will not treated as error.-Wno-unused: enab原创 2021-03-25 23:07:42 · 231 阅读 · 0 评论 -
gcc -Wall详解
当GCC在编译过程中检查出错误的话,它就会中止编译;但检测到警告时却能继续编译生成可执行程序,因为警告只是针对程序结构的诊断信息,它不能说明程序一定有错误,而是存在风险,或者可能存在错误。虽然GCC提供了非常丰富的警告,但前提是你已经启用了它们,否则它不会报告这些检测到的警告。在众多的警告选项之中,最常用的就是-Wall选项。该选项能发现程序中一系列的常见错误警告,该选项用法举例如下:$ gcc -Wall test.c -o test...转载 2021-03-25 22:57:12 · 7557 阅读 · 5 评论 -
函数调用之栈分析
函数调用过程栈帧变化详解函数调用栈帧过程带图详解C函数的调用过程 栈帧C函数调用过程原理及函数栈帧分析堆栈、栈帧与函数调用过程分析栈指针&& 帧指针详解从汇编的角度深入理解C函数调用背后的各种细节通过汇编程序看函数调用过程中的原理...原创 2021-01-10 23:36:42 · 101 阅读 · 0 评论 -
patch文件介绍和生成方法
Git 打补丁-- patch 和 diff 的使用(详细)git diff和diff产生的文件简介git patch制作相关简介git format-patch 用法原创 2020-11-28 23:31:13 · 10905 阅读 · 0 评论 -
linux安装vncserver, windows下使用vncviewer进行图形化访问linux系统
GNOME方式:ubuntu安装vnc,并解决没有桌面图标问题Ubuntu安装vncserver实现图形化访问xfce4方式:Ubuntu Server 16.04安装xfce4图形界面远程控制在VNC中Xfce4中Tab键失效的解决方法原创 2020-06-05 00:10:41 · 243 阅读 · 0 评论 -
linux内核源码获取
官网链接如下:https://www.kernel.org/进入后页面会显示Protocol Location HTTP https://www.kernel.org/pub/ GIT https://git.kernel.org/ RSYNC rsync://rsync.kernel.org/pub/ 使用HTTP方式,以下载linux-4.4....原创 2019-09-23 23:03:58 · 870 阅读 · 0 评论 -
linux网络协议栈分析——ioctl的调用流程
http://blog.csdn.net/cbmsft/article/details/7214639首先从系统调用开始,ioctl的系统调用在fs/ioctl.c中:[cpp] view plaincopySYSCALL_DEFINE3(ioctl, unsigned int, fd, unsigned i...转载 2020-04-08 00:33:12 · 485 阅读 · 0 评论 -
Linux 用户空间内核交互——IOCTL
Linux下的ioctl()函数详解ioctl()分析——从用户空间到设备驱动linux网络协议栈分析——ioctl的调用流程linux内核IOCTL网络控制框架实现分析用户空间与内核的交互---IOCTLifconfig源码分析之与内核交互数据用户空间与内核驱动的交互过程 — ioctl.........原创 2020-04-08 00:14:09 · 763 阅读 · 0 评论 -
UDP模块 - socket
内核版本:2.6.34这部分内容在于说明socket创建后如何被内核协议栈访问到,只关注两个问题:sock何时插入内核表的,sock如何被内核访问的。对于核心的sock的插入、查找函数都给出了流程图。sock如何插入内核表 socket创建后就可以用来与外部网络通信,用户可以通过文件描述符fd来找到要操作的socket,内核则通过查...转载 2020-03-11 01:13:58 · 630 阅读 · 0 评论 -
u盘安装ubuntu系统
首先制作启动盘,准备一个新的格式化后的U盘,我使用的是一个8G的默认格式化为FAT32。制作启动盘可以使用UltraISO工具,我使用的是Universal USB Installer。Universal USB Installer是一款免费软件,官网上之直接可以下载,我使用Universal USB Installer制作的启动盘对于传统BIOS和新的UEFI模式的电脑安装均适用(UltralS...原创 2019-10-07 16:10:26 · 660 阅读 · 0 评论 -
Linux设备模型
Linux设备模型(2)_KobjectLinux设备模型(3)_UeventLinux设备模型(4)_sysfsLinux设备模型(5)_device和device driverkobjectLinux设备驱动之Kobject、KsetLinux驱动之Kobject、Kset (二)uevent mdev ktype typelinux下热插拔事件的产生是...原创 2020-02-09 21:08:14 · 138 阅读 · 0 评论 -
可变参数函数详解
可变参数函数又称参数个数可变函数(本文也简称变参函数),即函数参数数目可变。原型声明格式为:type VarArgFunc(type FixedArg1, type FixedArg2, …); 其中,参数可分为两部分:数目确定的固定参数和数目可变的可选参数。函数至少需要一个固定参数,其声明与普通函数...转载 2020-02-04 12:10:08 · 1243 阅读 · 0 评论 -
Linux系统调用之SYSCALL_DEFINE
相信熟悉系统调用的都知道,系统调用在内核中的入口都是sys_xxx,我也不例外,记得有一次,我抱着学习一下socket内核实现的心态想在内核中寻找sys_socket系统调用,却发现只能找到宏定义,怎么也找不到函数实现。后来经过查阅才知道,原来Linux的系统调用都改为SYSCALL_DEFINE定义的了。相信...转载 2020-02-03 12:15:04 · 664 阅读 · 0 评论 -
Linux系统调用(syscall)原理
<blockquote> 引言:分析Android源码的过程中,要想从上至下完全明白一行代码,往往涉及app、framework、native一直到kernel,可能迷失到代码世界,明白了系统调用原理,或许能帮你峰回路转,找到进入kernel函数的入口。本文主要讲解ARM架构相关源码:/bionic/libc/kernel/uapi/asm-arm/asm/u...转载 2020-02-03 11:58:23 · 227 阅读 · 0 评论 -
Linux NETLINK
kernerl和userspace的交互实现机制:linux的netlink接口详解(上)linux的netlink接口详解(中)linux的netlink接口详解(下)Netlink 内核实现分析(一):创建Netlink 内核实现分析(二):通信Generic Netlink:Generic Netlink内核实现分析(一):初始化Generic Netl...原创 2019-11-10 13:38:34 · 225 阅读 · 0 评论 -
linux下应用程序监测网口link状态的几种方法
1. 使用ioctrl SIOCETHTOOLhttps://blog.csdn.net/HandsomeHong/article/details/797845702. 使用netlink实时监测http://blog.chinaunix.net/uid-30226910-id-5767563.htmlhttps://blog.csdn.net/bingyu9875/article...原创 2020-04-07 17:18:52 · 2226 阅读 · 0 评论 -
linux socket
应用层:https://www.cnblogs.com/jiangzhaowei/p/8261174.htmlhttps://www.cnblogs.com/zhangbing12304/p/8028260.htmlhttps://blog.csdn.net/firefoxbug/article/details/7561159https://www.cnblogs.com/zhan...原创 2020-05-02 22:21:08 · 104 阅读 · 0 评论