LINUX核心及核心模块的简单介绍

简介:

在整个开机的过程中,能否成功驱动主机的硬件,是核心(kernel)的工作.
核心一般都是压缩文件,在使用之前,要将解压,才能加载到主存储器中.
随着硬件种类增加,目前核心都具有可读取模块化驱动程序的功能.即modules模块化,类似插件

核心:/boot/vmlinuz-version
核心解压所需RAM Disk:/boot/initrd-version
核心模块:/lob/modules/version/kernel
核心源码:/usr/src/linux(预设不安装)

核心被正常加载到系统后,会有以下信息记录:
核心版本:/proc/version
系统核心功能:/proc/sys/kernel

对与操作系统不支持的硬件,有两种方法:
1.重新编译核心,加入最新的硬件驱动程序原始码
2.将硬件驱动程序编译为模块,开机时加载此模块

在核心模块:/lob/modules/version/kernel 中各目录详解
arch    :与硬件平台相关的项目,如CPU等级等
ctypto  :核心所支持的加密技术 如MD5
drivers :一些硬件驱动程序,如显卡网卡PCI相关硬件等。
fs      :核心所支付的filesystems 如vfat ext2 ext3 nfs reiserfs
lib     :一些函数库
net     :与网络有关的各项协议数据和防火墙模块 net/ipv4/netfilter/*
sound   :与音效相关的各项模块
记录核心支持的模块的各项相依性 depmod命令 /lib/modules/$(unname -r)/modules.dep  
 如增加网卡驱动程序 档名为a.ko
cp a.ko /lib/modules/$(uname -r)/kernel/drivers/net
depmod
 lsmod 查看目前核心加载的模块
modinfo 查看每个模块的信息
modprobe 核心模块的加载 会先查看模块的相依性,再决定需要加载的模块
insmod 由使用者自行加载模块,不检查相依性
卸载模块 
rmmod 
modprobe -r 

核心模块的额外参数设定 /etc/modprobe.conf

本文转自  还不算晕  51CTO博客,原文链接:http://blog.51cto.com/haibusuanyun/751251

相关文章
|
4月前
|
测试技术 Linux
Linux(8)Debain系统测试EC25-EUX模块usbnet0(qmi qcm)问题点
Linux(8)Debain系统测试EC25-EUX模块usbnet0(qmi qcm)问题点
121 0
|
4月前
|
Shell Linux C语言
【Shell 命令集合 系统设置 】⭐Linux 卸载已加载的内核模块rmmod命令 使用指南
【Shell 命令集合 系统设置 】⭐Linux 卸载已加载的内核模块rmmod命令 使用指南
100 1
|
4月前
|
Linux Shell 文件存储
【Shell 命令集合 系统设置 】Linux 加载和卸载内核模块 modprobe命令 使用指南
【Shell 命令集合 系统设置 】Linux 加载和卸载内核模块 modprobe命令 使用指南
137 1
|
19天前
|
NoSQL Linux Android开发
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
本文介绍了如何在QEMU中挂载虚拟分区、创建和编译简单的Linux内核模块,并在QEMU虚拟机中加载和测试这些内核模块,包括创建虚拟分区、编写内核模块代码、编译、部署以及在QEMU中的加载和测试过程。
77 0
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
|
24天前
|
负载均衡 应用服务中间件 Linux
在Linux中,常用的 Nginx 模块有哪些,常来做什么?
在Linux中,常用的 Nginx 模块有哪些,常来做什么?
|
26天前
|
安全 Linux 开发者
在Linux中,内核模块是什么以及如何加载和卸载它们?
在Linux中,内核模块是什么以及如何加载和卸载它们?
|
28天前
|
Linux 开发者
Linux源码阅读笔记18-插入模型及删除模块操作
Linux源码阅读笔记18-插入模型及删除模块操作
|
28天前
|
Linux
Linux源码阅读笔记19-插入删除模块实战
Linux源码阅读笔记19-插入删除模块实战
|
1月前
|
Ubuntu Linux 开发工具
深入探索Linux内核模块编程
【8月更文挑战第4天】在这篇文章中,我们不仅将探讨Linux内核模块的基础知识,还将通过一个实际的例子来展示如何编写一个简单的内核模块。我们将从理论出发,逐步过渡到动手实践,最终实现一个可以在Linux系统上运行的模块。文章的目标是为读者提供足够的信息和知识,以便他们能够自己编写内核模块,从而对操作系统的内部工作原理有更深入的了解。
|
23天前
|
关系型数据库 Linux PostgreSQL
【Azure 应用服务】Azure Function App Linux环境下的Python Function,安装 psycopg2 模块错误
【Azure 应用服务】Azure Function App Linux环境下的Python Function,安装 psycopg2 模块错误