Linux内核设备驱动之Linux内核基础笔记整理
1. Linux内核驱动模块机制静态加载, 把驱动模块编进内核, 在内核启动时加载
动态加载, 把驱动模块编为ko, 在内核启动后,需要用时加载2. 编写内核驱动#include <linux/module....
1. Linux内核驱动模块机制静态加载, 把驱动模块编进内核, 在内核启动时加载
动态加载, 把驱动模块编为ko, 在内核启动后,需要用时加载2. 编写内核驱动#include <linux/module....
#include <asm/io.h>#define ioremap(cookie,size) __arm_ioremap(cookie, size, MT_DEVICE)//cookie表示物理地址, size表示映射大小。 ioremap把指定的物理地址映射到空闲...
#include <linux/moduleparam.h>1. 模块参数在驱动定义变量
static int num = 0; //当加载模块不指定num的值时则为0 module_param(变量名, 类型, 权限);类型: byte, int, u...
/****************** * 高级字符设备驱动 ******************/(1)ioctl除了读取和写入设备外,大部分驱动程序还需要另外一种能力,即通过设备驱动程序执行各种类型的硬件控制。...
/***************** * proc文件系统 *****************/(1)/proc文件系统的特点和/proc文件的说明/proc文件系统是一种特殊的、由软件创建的文件系统,内核使用它向外界导出信...
/******************** * 内核中链表的应用 ********************/(1)介绍在Linux内核中使用了大量的链表结构来组织数据,包括设备列表以及各种功能模块中的数据组织。这些链...
/****************** * 内核的调试技术 ******************/(1)内核源代码中的一些与调试相关的配置选项内核的配置选项中包含了一些与内核调试相关的选项,都集中在"kernel h...
/**************************** * 系统调用 ****************************/(1)什么是系统调用系统调用是内核和应用程序间的接口,应用程序要访问硬件设备和其他操作系统资源,...
/******************** * 虚拟文件系统VFS ********************/(1)VFS介绍虚拟文件系统VFS作为内核的子系统,为用户空间程序提供了文件系统的相关接口。VFS使得用户可以直...
/******************** * 字符设备驱动 ********************/(1)字符设备驱动介绍字符设备是指那些按字节流访问的设备,针对字符设备的驱动称为字符设备驱动。此类驱动适合...
/****************** * linux内核的时间管理 ******************/(1)内核中的时间概念时间管理在linux内核中占有非常重要的作用。相对于事件驱动而言,内核中有大量函数是基...
/********************** * linux的内存管理 **********************/到目前为止,内存管理是unix内核中最复杂的活动。我们简单介绍一下内存管理,并通过实例说明如何在内核态...
1.Busybox源码请网上自行下载,编译方法请参考百度。2.交叉编译工具链的设置也请先设置好。如果以上1、2没有问题,那么可以使用以下脚本,制作一个给ARM开发板使用的文件系统。可...
1、在ubuntu官网下载ubuntu16.04的镜像和对应ubuntu16.04的内核版本源代码,或者在镜像源上找2、安装ubuntu16.04到PC主机上接下来执行以下:编译新的Linux内核给X86内核使用出...
用过Windows远程桌面连接服务器可能都会发现,正在远程桌面连接如果不进行一些操作,过上个几分钟一会儿之后远程桌面连接就会需要登录,有时还是直接断开需要重新连接才行。其实...
在使用Maven管理项目时,如何将jar包上传到私有仓库,下面简单介绍一下上传方法。环境:nexus私有库
步骤如下:1.登陆已经安装好的nexus私有仓库,如图:
2.点击左边菜单“Repositories...
为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然...
原因是这样的想要部署一个mocker平台,就在朋友的推荐下选择了 api-mocker 这个现成的项目该项目分为服务端node、客户端vue、以及数据库mongoDB在尝试直接部署的时候发现需要...
Linux,一切皆文件,那么在Android系统本身,也是Linux+java罢了,也是在Linux的运行环境下。通常,我们在调试程序的都会使用printf。在Android中,我们会去使用logcat,现在,给大家介绍一...
生成linux库Linux版本使用的centos7.3,编译生成库 1. cd glog-0.3.3 2. ./configure 3. makemake完成后会在.lib下生成相应的库文件Linux下使用glog库Linux使用静态库来...
前言本章节是用基本的Linux基本函数加上epoll调用编写一个完整的服务器和客户端例子,可在Linux上运行,客户端和服务端的功能如下: 客户端从标准输入读入一行,发送到服务端 服...
最近解决docker与宿主机同网段通信的问题,写此文章记录一下整个过程。
例如
宿主机A 和宿主机B是网络联通关系,在宿主机A上面创建了多个容器组成集群,但是我希望通过宿主机B也...
1. 背景
Docker 服务启动后默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络...
一、基础Spring-boot快速启动 1.1 快速启动 pom.xml加入如下依赖<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</a...
一 Docker Compose概述
Compose是一个用于定义和运行多容器Docker应用程序的工具。使用Compose,您可以使用YAML文件来配置应用程序的服务。然后,使用单个命令,您可以从配置中创...
一、gitlab介绍
gitlab官方地址:https://about.gitlab.com/
GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或...
一 环境准备1.1 基础环境
ntp配置:略 #建议配置ntp服务,保证时间一致性
etcd版本:v3.3.9
防火墙及SELinux:关闭防火墙和SELinux 名称 地址...
1、简介Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版...
Nexus提供了RestApi,但是一部分Api仍然需要结合Groovy等进行操作,在3.3及其以后的版本上进行了强化,但是和普通的RestApi相比仍有一些“使用上的特性”。这篇文章以创建raw的re...
我们曾经在介绍nginx的时候顺便使用nginx做过正向代理的设定,但是如果希望支持https的话,直接使用nginx则较为困难,而使用在这方面术业有专攻的squid则要简单的多。这篇文章用...
概述
云平台客户的服务器可能会随着业务量的不断增长造成磁盘空间不足的情况,比如:共享文件服务器硬盘空间不足,在这个时候就需要增加磁盘空间,来满足线上的业务;又或者我们在使...
本文介绍了CentOS 7 安装Chrome浏览器的方法,分享给大家,具体如下:配置yum下载源:在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repo[root@localhost ~]# cd /ect/yum.r...
这篇文章来了解一下harbor架构的组成和运行时各个组件的使用方式。架构容器信息[root@liumiao harbor]# docker-compose ps Name Command State...
这篇文章根据实际碰到的一个问题来介绍一下git配置相关的内容。命令: git config使用git config进行相关的配置操作配置文件git在整体上,配置文件分为三级,结合优先级相关信息...
Alpine镜像中的telnet在3.7版本后被转移至busybox-extras包中,需要使用apk单独安装。现象Alpine版本为3.8, 不再有指向busybox的telent~ # cat /etc/alpine-release3.8.0~ #~...
由于我的开发环境是在VMWare虚拟机里安装Centos,然后在host文件中设置拦截,这样就可以直接跳转虚拟机的CentOS,但是虚拟机的IP地址总是会变,就要随时修改host文件,很麻烦。决定虚...
对于容器而言,最简单的健康检查是进程级的健康检查,即检验进程是否存活。Docker Daemon会自动监控容器中的PID1进程,如果docker run命令中指明了restart policy,可以根据策略自...
Docker镜像的首行从FROM alpine之类的镜像开始,但是最初的基础镜像是如何创建的,本文使用一个busybox创建一个基础镜像,相信在此过程中会对docker一些相关的概念有进一步的理解...
最快速体验openshift目前最新版本3.9的方法。事前准备[root@host ~]# git clone http://github.com/liumiaocn/easypack.gitCloning into 'easypack'...remote: Counting ob...
使用apk add ansible即可在alpine镜像中添加ansible服务。添加步骤在alpine中使用ansible需要如下几步Dockerfile在Dockerfile中添加上面的语句:#update apk for installRUN...
Rational ClearCase是软件配置管理SCM工具的一种,它可以用来对代码或者其他软件开发资产进行版本控制。对于超过上百或者上千团队开发者的大型项目据说也有很好的支持,同时对...
使用yum可以进行连通依赖关系一起进行安装,而是用–downloadonly –downloaddir选项则可以不进行安装,而将rpm连同依赖下载到本地进行安装。下载及安装方式使用yum安装centos...
本文记录了kubernetes1.5.2升级到kubernetes1.10一些主要的设定修改。版本升级方式二进制替换之后修改systemd相关选项docker设定api-server设定kubelet设定/etc/kubernetes...
前几天发现我的网站被一些IP发起了大量恶意的、有针对性的扫描,企图通过暴力探测方式获取网站中一些内部配置文件和信息。我是用.Htaccess来化解攻击的,就是在.Htaccess文件里...
准备工作Windows Server 2008 R2 Enterprise(2.40GH,8GB,64Bit,192.168.10.212)
2台Ubuntu 10.04.4(192.168.10.98,192.168.10.137)
JDK1.7.80
Tomcat7.0.68
Apache2.4.41....
FFMPEG 3.4.1 版本参数详细说明用法:ffmpeg [options] [[infile options] -i infile] … {[outfile options] outfile} …FFMPEG获得帮助:
-h - 打印基本选项
-h long - 打印...
1、ffmpeg 推送视频文件,音视频的编码格式只能为H264、AAC。ffmpeg -re -i "E:\片源\复仇者联盟720p.mov" -vcodec copy -acodec copy -f flv rtmp://192.168.11.75/live/tes...
1.下载VMware Workstation 64版本https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html 2.下载CentOS-7-x86_64-DVD-1810https://www.centos....
kubernetes支持Base认证/Token认证/CA认证三种,这篇文章用于记录一下CA认证所需要的最简单程度的命令。kubernetes构成测试版本为1.10,但不限于此版本,为openssl证书较为通用的...
本文用于记录Ubuntu 17.10下Docker CE的安装。安装依赖关于Docker CE版本在Ubuntu下安装有如下限制64位的OS需要Ubuntu64bit的OS, 确认方法如下devops@ubuntu:~$ uname -mx8...