一系列相互独立的端点在一起构成了USB逻辑设备,在系统结构中,位于下方红色方框内: 二、端点的分类 每个USB设备都有一个唯一的设备地址,设备地址是设备连接上主机时由主机分配的,主机主要依靠这个设备地址对...USB设备进行访问。...五、端点与管道 1、管道的概念 管道是主机软件(数据缓存区),和USB设备各各端点之间的数据传输连接,他是两者之间通信流的抽象(实际上数据传输是USB总线接口完成)。...1)、“流”指不具有USB定义格式的数据流,流通道中的数据是流的形式,也就是该数据内容不具有USB要求的结构。...2)、“消息”指具有某种USB定义格式的数据流。消息通道与端点的关系同流通道与端点的关系是不同的。
安装linux的整体步骤其实比较简单,唯一可能值得说明的地方,大概就是linux的分区了。 ? 下面来给大家推荐一些分区方案。...linux只需要一个/根分区就可以正常运行。 2 常用分区方式,以使用100G空间安装linux为例,各目录含义,请参考文章结尾附录。...linux的整体目录就是一个树状结构,根据文章结尾的附录一,我们会知道/分区下的各个目录存放的内容都是不一样的,所以他们的内容变化速度也会不一样。...附录一、linux下各目录的作用 - swap 类似于windows的虚拟内存文件 - / 根目录,根目录下最好只有目录,文件放在目录下,不要放在根目录中。...boot 包括操作系统的内核和启动过程需要用的文件 +-- /root 超级管理员的家目录 +-- /home 家目录,用来存放用户文件 +-- /etc 大部分的配置文件默认都放在这里 +-- /dev linux
注意,卸载分区会格式化分区内所有的数据,请谨慎操作或进行数据备份 # df -hT ?...image.png # fdisk -l 发现待分区的磁盘 /dev/sda ?...image.png 对该磁盘进行卸载分区,输入m并回车 # fdisk /dev/sda # m 输入帮助 # p 打印分区表 ? image.png ?...image.png 卸载/dev/sda6分区 此时注意/dev/sda6是刚刚卸载了/data2的分区名 ? image.png # d 删除一个分区 # 6 删除第六个分区 ?...image.png 重新打印分区表发现已卸载/dev/sda6分区 # p ?
磁盘在linux中经过分区、格式化后是无法直接使用的,因为该分区在系统中是以一个设备文件的形式存在的。我们如果希望使用这个磁盘分区还得经过最后一步,就是将这个分区设备挂载到系统中的某个文件夹下。...这样你往这个挂载文件夹里存东西其实即使往分区里存东西了。...接下来我们来看看linux下挂载磁盘分区的方式 手动挂载 开机自动挂载 触发挂载 一、手动挂载 mount挂载命令 mount - mount a filesystem 命令语法 mount device...手动卸载后需要手动挂载 -o:挂载选项 ro,sync,rw,remount -t:文件系统类型 mount -t nfs=mount.nfs mount -t cifs=mount.cifs 挂载分区演示...#案列1:以只读的方式重新挂载/u02分区 [root@zutuanxue ~]# mount -o remount,ro /u02 //可以是挂载点也可以是设备 remount:重新挂载一个正在挂载的设备
Linux 内核源码:include\linux\usb.h Linux 内核源码:drivers\hid\usbhid\usbmouse.c 1....BUS/DEV/DRV 模型 "USB 接口"是逻辑上的 USB 设备,编写的 usb_driver 驱动程序,支持的是"USB 接口": USB 控制器或 Hub 识别出 USB 设备后,会创建、...注册 usb_device usb_device 被"drivers\usb\core\generic.c" 驱动认领后,会选择、设置某个配置 这个配置下面的接口,都会分配、设置、注册一个 usb_interface...左边的 usb_driver 和右边的 usb_interface 如果匹配,则调用 usb_driver.probe 2....接口函数 在 USB 设备驱动程序中,能使用的 USB 函数都在这个头文件里:include\linux\usb.h。
gadget 功能前关闭 adb 功能时却报异常的解决办法 4 附录 4.1 Linux-4.x/Linux-5.4 Gadget 配置示例 4.1.1 小机做 mass storage 4.1.2...1.3 适用范围 表 1-1: 适用产品列表 内核版本 驱动文件 Linux-4.9 drivers/usb/* Linux-5.4 drivers/usb/* 2 模块介绍 2.1 模块功能介绍...USB 总线采用树形结构,在一条总线上只能有唯一的主机设备。Linux 内核从主机和设备两个角度观察 USB 总线结构。...Linux 有原生 gadget 框架,通用的配置流程可参考下文。...图 2-11: linux-4.x usb gadget 配置选择 2.6.2 linux-4.x/linux-5.4 USB Gadget 配置流程 Linux-4.x/Linux-5.4 使用 configfs
image.png 要进行新建扩展分区的磁盘是 /dev/sda # fdisk /dev/sda # p 打印分区表 ?...image.png 此时磁盘已经有了3个分区,如果要再弄2个分区就不行,这个时候我们进行新建扩展分区 # n 添加一个新的分区 # e 添加一个扩展分区 # p 打印分区表 ?...image.png 此时已经看见扩展分区创建完成,在扩展分区下面新建2个分区 因为现在扩展分区是20G 所以下面的2个分区都给10G # n # +10G # p ? image.png ?...image.png 分区格式类型是ext4 分区大小也是10G 此时注意,这样机器重启后就重置了,如果需要永久生效需要设置开机自动挂载(磁盘) 开机自动挂载(磁盘) # vi /etc/fstab 最后面添加...image.png tips: 第一列:分区的UUID或分区名 例如:/dev/sda5 第二列:Mount point:设备的挂载点,就是你要挂载到哪个目录下。
1.创建分区 先查看下是否有磁盘没有分区 fdisk -l ? 其中第一个框和第二个框,是已经分好区的不同磁盘。 开始分区 #输入要进行分区的磁盘名称 fdisk /dev/sdb ?...输入p 查看当前硬盘分区,目前有一个分区。 ? 输入n新建一个分区,输入p 建立分区,输入分区编号2代表建立第二个分区 ?...如果要继续建立第三个分区,则继续输入n,p,再定义分区大小 ? 最后保存分区 输入w 最后,检查分区是否已经建立好!如果出现红色区域,则表示已经建立好了。 ?.../etc/fstab文件负责配置Linux开机时自动挂载的分区 第一列可以是实际分区名,也可以是实际分区的卷标(Lable) 第二列是挂载点,挂载点必须为当前已经存在的目录 第三列为此分区的文件系统类型...当其值为0时,永远不检查;而 / 根目录分区永远都为1。其它分区从2开始,数字越小越先检查,如果两个分区的数字相同,则同时检查。
操作环境:vmware虚机 一、整体流程 在使用fdisk/parted等分区工具对硬盘分区之后,是否使用LVM由用户决定 : 1)可以直接对分区后的硬盘进行格式化操作,之后挂载分区; 2)...也可以先用LVM逻辑卷管理工具对分区后的物理卷进行管理,之后再对逻辑卷进行格式化操作 ,之后挂载分区。...在 Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等 IDE 或 SCSI 设备也不例外。...Linux把各种 IDE 设备分配了一个由 hd 前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。...3,对硬盘进行分区 使用fdisk工具,对/dev/sdb设备执行分区操作。 也可以使用parted工具对设备进行分区。
目录 一、磁盘分区 1. 磁盘分区概述 2. 磁盘分区实例 3. 查询磁盘情况 4. 磁盘情况其他指令 二、网络配置 1. 网络概述 2. 配置 Linux 网络环境 3....磁盘分区概述 Linux 操作系统只有一个根目录,根目录下又分几个区分别分给某一子目录使用,Linux 操作系统中的每个分区都是整个文件系统的一部分,硬盘中的每个分区都会挂载到文件系统的某一目录中...Linux 硬盘分为 IDE 硬盘和 SCSI 硬盘,IDE 硬盘的驱动标识符为 “hdx~”: “hd” 表示分区所在设备的类型 “x” 表示盘号,a 基本盘、b 基本从属盘、c 辅助主盘、d 辅助从属盘...磁盘分区实例 创建一个新的磁盘并分区、挂载再到删除需要有以下几步: (1)添加硬盘 我们先在 Linux 系统中添加一块硬盘,进入“菜单”,选择“设置”,在设备列表中添加硬盘,随后点击“...Linux 操作系统的设备文件夹也就是 /dev 目录下的, 所以我们使用指令 fdisk /dev/sdb 对硬盘 sdb 进行分区,随后按照提示进行如下操作: 注意:在进行分区操作的最后一步必须输入
四、 linux内核下USB相关的API函数与数据结构 前面介绍了USB相关一些基础概念与重要的数据结构,接下来就分析在linux内核中如何编写一个USB 驱动程序,编写与一个USB设备驱动程序的方法和其他总线驱动方式类似.../usb.h> 4.2 USB设备注册框架示例 #include #include #include //定义...鼠标驱动(中断传输方式) 5.1 USB驱动注册框架代码 #include #include #include ...#include #include #include #include .../init.h> #include #include #include #include <linux/slab.h
通过扫描以下目录获取物理节点所有 USB 设备: /sys/bus/usb/devices/usb* /sys/bus/usb/devices/usb*/$busnum-* 从该文件系统收集某一个设备的主要信息如下..."level": 1, "manufacturer": "QEMU", "port": 0, "prodid": "0001", "product": "QEMU USB...: 产品 serial: USB 硬件设备序列号 ,例如 0000:00:01.2 定位方法# 定位某一个 USB 设备的方法有两种: busnum + devnum idVendor + idProduct...设备类bDeviceClass、bDeviceSubClass、bDeviceProtocol By USB 中文网 USB设备描述符中的idVendor、idProduct和bcdDevice By...USB 中文网 USB 硬件设备的序列号 By IBM 注:本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
1.Linux无论有多少个分区.分给哪一个目录,整个文件系统也只有一个根目录.它的每一个分区都是用来组成整个文件系统的一部分.Linux使用一种”载入”的处理办法.将分区和目录联系起来.这时要载入一个分区...,将使它的存储空间在一个目录下获得. 2.Linux硬盘编号说明 Linux中的硬盘分为IDE硬盘,SCSI硬盘和SATA硬盘 硬盘编号格式为”sdXY”,其中”sd”表示硬盘为SCSI的类型(IDE类型为...X表示盘号(a基本盘,b基本从属盘,c辅助盘,d辅助从属盘) Y表示分区(1-4表示主分区或扩展分区,5开始就是逻辑分区) 注意: 硬盘的信息在/dev目录都有对应的文件记录说明....可以通过lsblk查看硬盘分区和挂载情况 3.硬盘挂载和卸载操作 给当前linux系统添加一块新的硬盘(2GB),并挂载到指定的目录(/home/disk2-1目录) 执行步骤: 在虚拟机中添加一个新硬盘...对新硬盘进行分区 对新硬盘的分区进行格式化 格式化指令: mkfs -t ext4 需要格式化的磁盘分区文件 将分区挂载到linux对应的目录上 挂载指令: mount 分区文件 挂载目录 注意: 挂载到的目录需要提前创建
以下步骤的前提为磁盘lvm分区 1、加入新硬盘 2、分区 PV(physical volume)即物理卷,就是物理磁盘,可以通过fdisk -l 查看操作系统有几块硬盘 VG(volume group...里面可以有一块硬盘也可以有多块硬盘 LV(logical volume)及逻辑卷,就是在VG(指定的物理磁盘组)里面划分出来的 可以说成是PV就是硬盘,而VG就是管理硬盘的操作系统,而LV就是操作系统分出来的各个分区...PV->VG->LV-> 文件系统使用(挂载到某个目录) 对新磁盘/dev/sdb进行分区 [root@xt-prod-mydb02 ~]# parted /dev/sdb GNU Parted 3.1...PV->VG->LV-> 文件系统使用(挂载到某个目录) 新硬盘磁盘/dev/sdb进行分区 parted /dev/sdb 打印分区信息表可以看到有两个分区了。...cl’是卷组名称) 4、再次查看卷组信息 vgdisplay 可扩容空间变成10G 5、将卷组中空闲空间扩展到 /data(分区
在上一章分析完USB总线驱动程序后, 接下来开始写一个USB驱动: 本节目的: 将USB鼠标的左键当作L按键,将USB鼠标的右键当作S按键,中键当作回车按键 参考/drivers/hid/usbhid/...: usb_deregister(struct usb_driver *driver); 注册一个usb_driver驱动,然后内核会通过usb_driver的成员.id_table函数匹配一次USB设备...释放input_device 3.5在出口函数中 1)通过usb_deregister ()函数注销usb_driver结构体 4.代码如下: #include #include... #include #include #include #include... static struct input_dev *myusb_mouse_dev; //input_dev static char *myusb_mouse_buf
[ 0.513302] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002 [ 0.513303] usb usb1...Controller [ 0.513304] usb usb1: Manufacturer: Linux 3.10.0-327.el7.x86_64 xhci-hcd [ 0.513305...] usb usb1: SerialNumber: 0000:00:14.0 [ 0.518700] usb usb2: New USB device found, idVendor=1d6b,...0.518702] usb usb2: Product: xHCI Host Controller [ 0.518702] usb usb2: Manufacturer: Linux 3.10.0...] usb 1-4: New USB device found, idVendor=413c, idProduct=301a [ 1.040348] usb 1-4: New USB device
可以使用:lsblk -f查看系统的分区和挂载的情况
Swap分区在系统的物理内存不够用的时候,把硬盘空间中的一部分空间释放出来,以供当前运行的程序使用。...那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。...本文将从分区开始讲解如何开启SWAP交换空间 分区 # 查看块设备 # 如图可以看出硬盘sda和vdb还有剩余 [root@rainss ~]# lsblk ?...# 转换分区类型为swap 输入 t 回车 # 输入 82 回车 ? # 输入p检查下分区信息是否为swap(如图Linux swap)并记下分区地址 # 输入 w 回车保存 ?...# 分区结束后需要通知内核读取新的分区表 [root@rainss ~]# partprobe ?
Linux3.11版本引入了基于configfs的usb gadget configfs。.../bcdDevice # USB 1.1: 0x0110 # USB 2.0: 0x0200, USB 2.1: 0x0210, USB 2.5: 0x0250 # USB 3.0: 0x0300...(gadget_strings, gadget_info); [include/linux/usb/gadget_configfs.h] #define USB_CONFIG_STRINGS_LANG(...主要的工作流程为: 分配一个config_usb_cfg1结构体,该结构体包含了usb_configuration结构体,保存了该USB设备的配置信息。 设置USB设备的配置描述符的某些选项。...调用UDC驱动接口usb_udc_connect_control连接USB主机控制器,这样USB主机就能识别并枚举USB设备。
领取专属 10元无门槛券
手把手带您无忧上云