首页 > 系统相关 >Linux之驱动管理

Linux之驱动管理

时间:2024-02-14 12:44:05浏览次数:29  
标签:rw 管理 -- modules --. Linux 驱动 root

一、相关概念

  1. 驱动概念
  • 驱动与底层硬件直接打交道,充当了硬件与应用软件中间的桥梁。
  • 将驱动程序载入内核,应用程序可以通过系统调用接口来访问(驱动)底层的硬件设备。
  1. 驱动功能
  • 对设备初始化和释放
  • 把数据从内核传送到硬件和从硬件读取数据
  • 读取应用程序传送给设备文件的数据和回送应用程序请求的数据
  • 检测和处理设备出现的错误
  1. Linux 驱动有两种运行方式
  • 将驱动编译进 Linux 内核中,当 Linux 内核启动的时就会自动运行驱动程序。
  • 将驱动编译成模块(Linux 下模块扩展名为.ko),在Linux 内核启动以后使用相应命令加载驱动模块。
    内核模块是Linux内核向外部提供的一个插口
    内核模块是具有独立功能的程序,他可以被单独编译,但不能单独运行。他在运行时被链接到内核作为内核的一部分在内核空间运行
    内核模块便于驱动、文件系统等的二次开发

二、管理命令

实际使用中,我们一般使用模块化的方式为系统动态装载一些驱动,以下是一些模块化驱动的管理命令。

  1. 驱动的位置

/lib/modules/kernel_release

# ls -l /lib/modules/3.10.0-1160.el7.x86_64/
总用量 3300
lrwxrwxrwx.  1 root root     39 9月   6 16:10 build -> /usr/src/kernels/3.10.0-1160.el7.x86_64
drwxr-xr-x.  2 root root      6 10月 20 2020 extra
drwxr-xr-x. 12 root root    128 9月   6 16:10 kernel
-rw-r--r--.  1 root root 860326 9月   6 16:12 modules.alias
-rw-r--r--.  1 root root 819744 9月   6 16:12 modules.alias.bin
-rw-r--r--.  1 root root   1333 10月 20 2020 modules.block
-rw-r--r--.  1 root root   7391 10月 20 2020 modules.builtin
-rw-r--r--.  1 root root   9440 9月   6 16:12 modules.builtin.bin
-rw-r--r--.  1 root root 273209 9月   6 16:12 modules.dep
-rw-r--r--.  1 root root 382108 9月   6 16:12 modules.dep.bin
-rw-r--r--.  1 root root    361 9月   6 16:12 modules.devname
-rw-r--r--.  1 root root    140 10月 20 2020 modules.drm
-rw-r--r--.  1 root root     69 10月 20 2020 modules.modesetting
-rw-r--r--.  1 root root   1810 10月 20 2020 modules.networking
-rw-r--r--.  1 root root  97935 10月 20 2020 modules.order
-rw-r--r--.  1 root root    569 9月   6 16:12 modules.softdep
-rw-r--r--.  1 root root 397513 9月   6 16:12 modules.symbols
-rw-r--r--.  1 root root 486211 9月   6 16:12 modules.symbols.bin
lrwxrwxrwx.  1 root root      5 9月   6 16:10 source -> build
drwxr-xr-x.  2 root root      6 10月 20 2020 updates
drwxr-xr-x.  2 root root     95 9月   6 16:10 vdso
drwxr-xr-x.  2 root root      6 10月 20 2020 weak-updates
# lsmod                   //显示当前加载了的驱动,不光有硬件驱动,还有功能驱动
# modinfo 驱动名           //显示模块信息
# modprobe module name    //加载驱动
# modprobe-r module name  //卸载驱动
# insmod drv.ko           //加载drv驱动
# modprob drv             //加载drv驱动

insmod一次只能加载特定的一个设备驱动,且需要驱动的具体地址。
modprobe则可以一次将有依赖关系的驱动全部加载到内核。不加驱动的具体地址,但需要在安装文件系统时是按照make modues_install的方式安装驱动模块的。驱动被安装在/lib/modules/$(uname -r)/...下。
modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在modprobe会卸载整组的模块。

标签:rw,管理,--,modules,--.,Linux,驱动,root
From: https://www.cnblogs.com/OpenSourceSite/p/18015132

相关文章

  • Linux虚拟机开启键盘灯
    在/bin目录下新建led这个文件status=/tmp/keyboard_led_statusif[[${1}=="on"]]||[[!-e${status}]];thenxsetlednamed'ScrollLock'&&echo"on">${status}elsexset-lednamed'ScrollLock'&......
  • 第24天:安全开发-PHP应用&文件管理模块&显示上传&黑白名单类型过滤&访问控制
    #文件管理模块-上传-过滤机制1、无过滤机制2、黑名单过滤机制3、白名单过滤机制4、文件类型过滤机制 $_FILES:PHP中一个预定义的超全局变量,用于在上传文件时从客户端接收文件,并将其保存到服务器上。它是一个包含上传文件信息的数组,包括文件名、类型、大小、临时文件名等信息......
  • Linux-机械硬盘信息介绍
    ......
  • vue 状态管理vuex action 用法
    index.jsimport{createStore}from"vuex";conststore=createStore({  state:{    count:100  },  getters:{    compower(state){      return(id)=>state.count*id    }  },  mutations:{   ......
  • vue 状态管理vuex Mutation 加传递参数用法
    index.js写法import{createStore}from"vuex";conststore=createStore({  state:{    count:100  },  getters:{    compower(state){      return(id)=>state.count*id    }  },  mutations:{  ......
  • Linux 目录磁盘满了,怎么查找大文件
    在Linux系统中,如果你的根目录(/)磁盘满了,你可以使用以下方法来查找占用空间最大的文件和目录。使用du(磁盘使用)命令来查找占用空间最大的目录:sudodu-h/--max-depth=1|sort-h这个命令会列出根目录下每个一级子目录的大小,并通过sort命令进行排序,-h标志表示“人类可读”的......
  • day26 lvm逻辑卷管理
    为什么学lvm参考博客http://apecome.com:9494/03系统服务篇/3-14-lvm逻辑卷管理.html#逻辑卷(lv)管理相关命令250GB虚拟机试想,企业里的生产服务器,一开始没有规划好磁盘容量,随着用户增长,磁盘可能会逐渐填满这时候你只能添加新硬盘,新分区但是旧的数据还在旧的磁盘分区上,你......
  • day06_文件管理操作练习
    作业解析关于[email protected]关于登录,退出登录1.登录的概念的第一种形式1.比如你登录系统[email protected]#退出该会话登录exit#退出登录2.第二种登录,如用于切换,root>yuchao01验证该用户是否存在系......
  • day17_进程管理
    linux资源管理篇昨日内容回顾1.先看状态,再去启动systemctlstatusfirewalldsystemctlrestartfirewalldsystemctllist-unit-files|grepfirewalld1.先理解服务的意思,服务,就是你安装的软件名字2.服务就是一个软件程序,会提供可用的命令,去操控这个软件3.firewall......
  • day19_软件包管理
    Linux软件包管理什么是软件,代码软件包顾名思义就是将应用程序、配置文件和数据打包的产物=======nginx_v.10.rpmyuminstallnginx-y=============先下载nginx.rpm软件包,然后yum自动帮你去安装了这个包/usr/bin/nginx/etc/nginx/nginc.conf配置文件,写了用于控制......