首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux内核模块加载命令

大家好,又见面了,我是你们的朋友栈君。...目录 一,内核相关的命令 1、lsmod 列出已经加载内核模块; 2、modinfo 查看模块信息; 3、modprobe 挂载新模块以及新模块相依赖的模块 4、rmmod 移除已挂载模块;...三,、硬件驱动在系统中的目录; 四、自己编译驱动的办法; 一,内核相关的命令 1、lsmod 列出已经加载内核模块; lsmod 是列出目前系统中已加载的模块的名称及大小等;另外我们还可以查看 /proc...比如Fedora Core 4.0 内核模块开机自动加载文件是 /etc/modprobe.conf ;在这个文件中,一般是写入模块的加载命令或模块的别名的定义等;比如我们在modules.conf 中可能会发行类似的一行...modules.conf 中加入什么内容; 如果您有些模块不能开机加载,您想让一些模块加机自动加载,就可以把modprobe 模块 直接写入配置文件; 2、内核模块其它配置文件 内核模块的其它配置文件还是需要了解的

5K30
您找到你想要的搜索结果了吗?
是的
没有找到

Linux内核内核模块)的加载过程(超详细)

GRUB 加载内核之后,内核首先会再进行二次系统的自检,而不一定使用 BIOS 检测的硬件信息。这时内核终于开始替代 BIOS 接管 Linux 的启动过程了。...内核完成再次系统自检之后,开始采用动态的方式加载每个硬件的模块,这个动态模块大家可以想象成硬件的驱动(默认 Linux 硬件的驱动是不需要手工安装的,如果是重要的功能,则会直接编译到内核当中;如果是非重要的功能...这个文件是一个压缩的内核镜像我们已经知道,Linux 会把不重要的功能编译成内核模块,在需要时再调用,从而保证了内核不会过大。...如果 Linux 安装在 IDE 硬盘之上,并且采用的是默认的 ext3/4 文件系统,那么内核启动后加载根分区和模块的加载都没有什么问题,系统会顺利启动。...但是,如果 Linux 安装在 SCSI 硬盘之上,或者采用的是 LVM 文件系统,那么内核内核载入内存是启动引导程序 GRUB 调用的,并不存在硬盘驱动不识别的问题)在加载根目录之前是需要加载 SCSI

36520

linux内核启动流程(文章最后流程图)

大家好,又见面了,我是你们的朋友栈君。 原文:linux内核启动流程 本文以Linux3.14版本源码为例分析其启动流程。各版本启动代码略有不同,但核心流程与思想万变不离其宗。...内核映像被加载到内存并获得控制权之后,内核启动流程开始。通常,内核映像以压缩形式存储,并不是一个可以执行的内核。因此,内核阶段的首要工作是自解压内核映像。...得到内核入口函数为 stext(linux/arch/arm/kernel/head.S) 内核引导阶段 ENTRY(stext) 。 。 。...kernel_init进程处发起 cpu_startup_entry(CPUHP_ONLINE); } kernel_init函数将完成设备驱动程序的初始化,并调用init_post函数启动用户进程 部分书籍介绍的内核启动流程基于经典的...以下为内核启动流程图: 发布者:栈程序员栈长,转载请注明出处:https://javaforall.cn/163595.html原文链接:https://javaforall.cn

1.6K30

深入Java类加载流程,值得你收藏

这是类的生命周期的,但它不总是按照这个固定的流程进行的,我们先知道这个就行,后面再说。...符合引用验证:其对类自身以外(常量池中的各种符号引用)的信息进行匹配性校验,比如:符号引用中的类、字段、方法的访问性是否可被当前类访问,通过限定名,是否能找到对应的类。...类和方法的限定名 字段的名称和描述符 方法的名称和描述符, 直接引用是什么呢?一个指向目标的指针地址或者句柄。...但是,注意了 由JVM自带的类加载加载的类,在JVM生命周期中,始终不会被卸载, JVM自带的类加载器包括根类加载器,扩展类加载器,系统类加载器,这些回头单聊。...children5"; } public static void main(String[] args) { System.out.println(Children5.children5); } 表格整理一下流程

36820

Linux 内核】宏内核与微内核架构 ( 操作系统需要满足的要素 | 宏内核 | 微内核 | Linux 内核动态加载机制 )

文章目录 一、操作系统需要满足的要素 二、宏内核 三、微内核 四、Linux 内核动态加载机制 一、操作系统需要满足的要素 ---- 电脑上运行的 操作系统 , 是一个 软件 ; 设备管理 : 操作系统需要...---- 宏内核 : 内核代码 编译成 二进制文件 , 内核 运行在 一个 大内核 地址空间 中 , 可以 直接 访问 , 调用 内核代码 , 这种内核优点是 效率高 , 性能强 ; 下图中 , 最上层是...进行通信 , 微内核优点 : 稳定性好 , 实时性好 ; 微内核缺点 : 高度模块化 , 模块之间只能通过消息传递信息 , 效率低 ; 四、Linux 内核动态加载机制 ---- Linux 内核模块动态加载...: Linux 内核 使用了 模块设计 , 可以进行 动态加载 内核模块 ; Linux 内核的 核心实现 , 设备驱动实现 , 可以 编译成一个独立模块 , 这些独立模块可以被编译成 独立的目标文件..., 可以在运行时 , 动态 加载 / 卸载 内核模块 ; 开发简单 : Linux 内核模块引入 , 带来了很多便利 , 很多内核驱动 , 都可以 编译成动态 加载 / 卸载 的模块 , 驱动开发时

4.1K30

linux内核启动流程分析 - startup_64

333到334行是使rbp再减去image_offset的值,最终得出kernel被加载到内存中的起始地址,这个我们在前面文章说过,就不再讲。...由之前的文章 linux内核启动流程分析 - efi_stub_entry 可知,rsi中存放的是boot_params的地址,而BP_kernel_alignment又是boot_params中的kernel_alignment...之前我们说过,init_size表示的是,在bzImage以uefi application形式加载到内存时,我们要求uefi为其分配的内存大小。...init_size值是大于bzImage文件的大小的,因为bzImage是一个压缩过的内核,如果我们想要执行到真正的内核,还要在内存中对bzImage解压缩,init_size指定的多余的空间就是为了解压缩用的...当bzImage被加载到内存中时,它占用的是init_size内存空间的起始部分,为了后续的解压缩需要,我们要将bzImage移动到init_size的结尾部分,349到351行就是为了计算,当把bzImage

2.3K20

linux内核启动流程分析 - efi_main

上一篇文章 linux内核启动流程分析 - efi_stub_entry 中,为了叙述方便,我们只是粗略的讲了下efi_main函数,这里我们再具体看下。 ?...有关boot_params的创建及其hdr的初始化,我们在 linux内核启动流程分析 - efi_pe_entry 中有讲到,这里就不再赘述。 继续看该函数的其余部分。 ?...该部分主要讲在某些情况下,加载到内存的kernel需要被移动到合适的位置。 710行通过将bzimage_addr和image_offset相减,计算出kernel被加载到内存时的起始地址。...而710行中的image_offset是kernel在内存的起始地址到compressed部分起始地址(startup_32的地址)的偏移量,这个在 linux内核启动流程分析 - efi_pe_entry...linux内核构建结束后,最终生成的文件是 arch/x86/boot/bzImage,这其实是个压缩过的内核,在kernel启动过程中,还要在内存中对内核进行解压,进而得到真正的内核

3.6K30

Linux内核模块驱动加载与dmesg调试

因为近期用到了Linux内核的相关知识,下面随笔将给出内核模块的编写记录,供大家参考。...1、运行环境   Ubuntu 版本:20.04   Linux内核版本:5.4.0-42-generic   gcc版本:gcc version 9.3.0   驱动和一般应用程序的执行方式很大不同...2、内核模块模型说明 (1)驱动和一般应用程序的执行方式很大不同   一般应用由main函数开始执行,流程基本由程序自身控制   驱动程序没有main函数,由回调方式驱动运行 (2)回调方式:   先向内核注册函数...> 14 15 #include 16 17 #include 18 19 #include 20 21...20 21 endif 9、运行测试   首先运行MakeFile文件,通过终端输入make命令即可,生成PrintModule.ko和PrintModule.mod: image.png    之后加载内核驱动

6.5K20

Linux启动引导程序(GRUB)加载内核的过程

我们知道启动引导程序(Boot Loader,也就是 GRUB)会在启动过程中加载内核,之后内核才能取代 BIOS 接管启动过程。如果没有启动引导程,那么内核是不能被加载的。...GRUB加载内核的过程GRUB 的作用有以下几个:加载操作系统的内核;拥有一个可以让用户选择的的菜单,来选择到底启动哪个系统;可以调用其他的启动引导程序,来实现多系统引导。...按照启动流程,BIOS 在自检完成后,会到第一个启动设备的 MBR 中读取 GRUB。在 MBR 中用来放置启动引导程序的空间只有 446 Byte,那么 GRUB 可以放到这里吗?...那么 Linux 的解决办法是把 GRUB 的程序分成了三个阶段来执行。...接下来内核就可以接管启动过程,继续自检与加载硬件模块了。

31620

linux内核启动流程分析 - efistub的入口函数

最近打算写一个系列文章,主要讲linux内核的启动流程。 网上类似标题的文章很多,但大都是从start_kernel讲起,我觉得这是远远不够的。...linux内核的启动流程涉及的东西非常多,而且偏硬件,比较难理解,写这个系列其实还是挺有难度的,我会尽量讲的透彻一点,尽量不敷衍每个细节。 好,那今天我们就从如何找到efi stub的入口函数讲起。...linux内核的启动方式有非常多种,大方向来看分为bios和uefi,在此基础上又有各种各样的boot loader,比如我们常见的grub,它们会根据配置信息,加载linux内核到内存,并通过一定的协议来启动...linux内核。...或者说,在 uefi 平台上,以 efi stub形式启动内核时,开机后内核执行的第一个方法就是该方法。 以这里为起点,我们就可以开始探索linux内核的完整启动流程了。

3.3K30

Linux 内核Linux 内核源码结构 ( 下载 Linux 内核源码 | 使用 VSCode 阅读 Linux 内核源码 )

大家好,又见面了,我是你们的朋友栈君。...文章目录 一、下载 Linux 内核源码 二、使用 VSCode 阅读 Linux 内核源码 一、下载 Linux 内核源码 ---- 参考 【Linux 内核】编译 Linux 内核 ① ( 下载指定版本的...Linux 内核源码 | Linux 内核版本号含义 | 主版本号 | 次版本号 | 小版本号 | 稳定版本 ) 博客 , 下载 Linux 5.6.18 版本的内核源码 ; 5.x 内核源码下载地址...不同版本的 Linux 内核 区别 : 系统调用 : 其系统调用是相同的 , 新的版本可能会增加新的系统调用 ; 设备文件 : 各内核版本的设备文件都是相同的 , 但是 内部接口 可能不同 ; 二、使用...按钮 , 此时就可以在 VSCode 中阅读 Linux 内核源码 ; 发布者:栈程序员栈长,转载请注明出处:https://javaforall.cn/163620.html原文链接:https

23.3K32

Route加载流程

Route加载 网关服务核心功能是路由转发,即将接收的请求如何正确的路由到下层具体的服务模块。下面分析下这些路由信息构建的流程。...对应的具体业务服务的URL order:顺序,当请求匹配多个路由时,使用顺序小的 predicate: 请求匹配路由的断言条件 gatewayFilters: 当前路由上存在的过滤器,用于对请求做拦截处理 流程分析...1、路由配置加载 通过@ConfigurationProperties("spring.cloud.gateway")配注解将配置文件中路由规则信息加载到GatewayProperties对象中,其中路由信息会被解析成...#getRoutes()方法只是简单返回内部变量routes: public Flux getRoutes() { return this.routes; } 3、routes初始化流程...StripPrefixGatewayFilterFactory.this) .append("parts", config.getParts()).toString(); } }; } 总结 至此,Route加载以及解析的整个流程分析完成

76210
领券