Linux内核及内核模块

1.Linux的组成

由内核及相应的功能模块组成,内核/boot/vmlinuz-"内核版本号" 文件,模块文件在/lib/modules/版本号/目录下(为.ko的文件)

在/proc/sys/目录下可以修改文件来修改内核的参数(注意这些文件不能用vim打开要修改只能用重定向的方式)

echo "www.luochen.com" > /proc/sys/kernel/hostname

也可以这样改

sysctl -w kernel.hostname="luochen.com" 能立即生效,但无法永久有效

2./etc/sysctl.conf文件 永久有效,需要重启

sysctl -p: 重读配置文件,立即有效

sysctl -a: 显示所有内核参数及其值

3.内核模块管理

a.lsmod: 查看所有装载的模块

b.modprobe MOD_NAME:装载某模块

c.modprobe -r MOD_NAME: 卸载某模块

d.modinfo MOD_NAME: 查看模块的具体信息

e.insmod /PATH/TO/MODULE_FILE: 装载模块

f.rmmod MOD_NAME: 移除模块

g.depmod /PATH/TO/MODILES_DIR: 生成模块依赖关系

4.内核编译

内核中的功能除了核心功能之外,在编译时,大多功能都有三种选择:

1、不使用此功能

2、编译成内核模块

3、编译进内核

5.如何手动编译内核

a. make gconfig: Gnome桌面环境 需要安装图形开发库组 GNOME Software Development

make kconfig: Kde桌面环境 需要安装图形开发库组 KDE Software Development

这里使用另外一种方法

make menuconfig

b.make

c.make modules_install

d.make install

e.重启新系统

f.手动编译内核是尽量不要用远程连接(编译花费时间较长,有可能意外中断)

如果一定只能用远程的话使用screen命令

yum -y install screen 安装screen

screen命令:

screen -ls: 显示已经建立的屏幕

screen: 直接打开一个新的屏幕

Ctrl+a, d: 拆除屏幕

screen -r ID: 还原回某屏幕

exit: 退出

g.二次编译时清理,清理前,如果有需要,请备份配置文件.config:

make clean 或

make mrproper

时间: 2024-10-21 01:50:02

Linux内核及内核模块的相关文章

8、Linux内核与内核模块

既然要处理内核模块,自然就得要了解内核提供的模块之间的相关性.基本上,内核模块的放置处是在/lib/modules/$(uname -r)/kernel,里面主要分成几个目录: arch:与硬件平台有关的选项,例如CPU的等级等. crypto:内核所支持的加密技术,例如md5或者是des等. drivers:一些硬件的驱动程序,例如显卡.网卡.PCI相关硬件等. fs:内核所支持的文件系统,例如vfat.reiserfs.nfs等. lib:一些函数. net:与网络有关的各项协议数据,还有防

Linux内核分析(二)----内核模块简介|简单内核模块实现

Linux内核分析(二) 昨天我们开始了内核的分析,网上有很多人是用用源码直接分析,这样造成的问题是,大家觉得很枯燥很难理解,从某种意义上来说linux系统本身就是由一个个模块构成的,所以我会结合内核模块的设计,去分析内核,从而达到对linux内核的理解. 今天我们会分析到以下内容: 1.      Linux内核模块简介 2.      简单内核模块实现 l  Linux内核模块简介 1.       何为内核模块 在上一篇博文中我们先通过内核配置,在配置的过程中我们对内核的组件进行了选择(当

Linux 内核编程 or 内核模块编程的文件读写与信号传输问题

Linux内核编程时,内核代码执行只能直接访问内存上的数据,硬盘上的文件系统必须通过间接的方式才能被内核读写.一般内核操作文件读写的方式有三种:1.通过/proc/文件作为桥梁完成硬盘文件系统与内核的交互:2.通过ioctl方式实现交互:3.直接利用虚拟文件系统的函数vfs_read().vfs_write()读写文件.三种方式的具体实现方法网上有很多详细教程,可以参考.这里对三种方法做出比较. proc机制是一种很老的文件读写方式,通用性好,实现也算成熟,使用时需要自己实现内核上层的读写函数,

linux内核编译与开发

一.Linux内核简介linux kernel map: linux 系统体系结构: linux kernel体系结构: arm有7种工作模式,x86也实现了4个不同级别RING0-RING3,RING0级别最高, 这样linux用户代码运行在RING3下,内核运行在RING0,这样系统本身就得到了 充分的保护 用户空间(用户模式)转到内核空间(系统模式)方法: ·系统调用 ·硬件中断 linux kernel 体系结构: 虚拟文件系统VFS: VFS(虚拟文件系统)隐藏各种文件系统的具体细节,

Linux内核设计基础(十)之内核开发与总结

(1)Linux层次结构: (2)Linux内核组成: 主要由进程调度(SCHED).内存管理(MM).虚拟文件系统(VFS).网络接口(NET)和进程间通信(IPC)等5个子系统组成. (3)与Unix的差异: Linux支持动态加载内核模块 支持对称多处理(SMP)机制 Linux内核可以抢占 Linux内核并不区分线程和其他的一般进程 Linux提供具有设备类的面向对象的设备模型.热插拔事件,以及用户空间的设备文件系统(sysfs) (4)内核开发的特点: 内核编程时既不能访问C库也不能访

浅谈 Linux 内核开发之网络设备驱动

网络设备介绍 网络设备是计算机体系结构中必不可少的一部分,处理器如果想与外界通信,通常都会选择网络设备作为通信接口.众所周知,在 OSI(Open Systems Interconnection,开放网际互连)中,网络被划分为七个层次,从下到上分别是物理层.数据链路层.网络层.传输层.会话层.表示层和应用层.我们所讲的网络设备也包括两个层次,一层叫做 MAC(Media Access Control)层,对应于 OSI 的数据链路层:另一层叫做 PHY(Physical Layer)层,对应于物

Linux Kernel - Debug Guide (Linux内核调试指南 )

http://blog.csdn.net/blizmax6/article/details/6747601 linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 建立调试环境 发行版的选择和安装 安装交叉编译工具 bin工具集的使用 qemu的使用 initrd.img的原理与制作 x86虚拟调试环境的建立 arm虚拟调试环境的建立 arm开发板调试环

Linux内核学习总结

李泽源 原创作品 转载请注明出处 <Linux内核分析>MOOC课程:http://mooc.study.163.com/course/USTC-1000029000 [Linux内核学习总结] 幸福来得很突然,这门课就快结束了…… 是时候,总结下这段时间的坚持了,也给同样对Linux内核有兴趣的你一个指南. 在这门课的学习过程中,按照老师的要求,每次课后都写一篇博文,这是一个很好的学习方式.每当写这些文章的时候,总是要多看几遍视频,再查查相关的资料,才能勉强凑成一个完整的文档:同时也把自己学

linux及安全《Linux内核设计与实现》第一章——20135227黄晓妍

<linux内核设计与实现>第一章 第一章Linux内核简介: 1.3操作系统和内核简介 操作系统:系统包含了操作系统和所有运行在它之上的应用程序.操作系统是指整个在系统中负责完成最基本功能和系统管理的那些部分.这些部分包括内核.设备驱动程序.启动应到程序.命令行shell或者其他种类的用户界面.基本的文件管理系统工具. 内核:如果说用户界面是操作系统的外在表像,那么内核就是操作系统的内在核心. 内核空间:系统态和保护起来的内存空间. 内核的组成: 1.中断服务程序(响应中断) 2.调度程序(