linux命令:kernel内核编译、装载模块管理modprobe/screen

简介:

内核设计风格:

redhat,suse

核心:动态加载 内核模块 在目录/boot/vmlinuz-版本号

内核:/lib/modules/"内核版本号命令的目录"/

vmlinuz-2.6.32

/lib/modules/2.6.32/

    单内核:linux

      核心:ko (kernel object)

    微内核:windows,solaris(线程)


kernel初始化的过程:

 1、设备探测

 2、驱动初始化(可能会从initrd (initramfs)文件中装载驱动模块)

 3、以只读挂载根文件系统

 4、装载第一个进程init(PID:1)


用户控件访问、监控内核的方式:

/proc, /sys

伪文件系统

/proc/sys:此目录中的文件很多事可读写的

/sys/:某些文件可写


设定内核参数值的方法:

 1、通过echo VALUE > /proc/sys/TO/SOMEFILE  通过echo输入重定向往内核文件中写入参数

 2、sysctl -w kernel.hostname="xuelinux" 修改主机名

以上两种方法能立即生效,但是重启后失效


如需永久有效,但不能立即生效,需修改/etc/sysctl.conf配置文件

修改文件完成之后,执行如下命令可以立即生效:

sysctl -p

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


内核模块管理:

lsmod:查看所有内核模块

modprobe MOD_NAME:装载某模块 MOD_NAME模块名 Usage: modprobe floppy

modprobe -r MOD_NAME: 卸载某模块  Usage: modprobe -r floppy

modinfo MOD_NAME: 查看某模块的具体信息  Usage: modinfo floppy

insmod /PATH/TO/MODULE_FILE: 装载模块 要指定模块的具体文件路径

rmmod MOD_NAME: 移除某模块

depmod /PATH/TO/MODILES_DIR: 生成模块的依赖文件在目录中


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

  1、不使用此功能;

  2、编译成内核模块;

  3、编译进内核;

 

screen命令:

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

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

Ctrl+a,再按d:拆除屏幕即把当前screen的屏幕放后面运行

screen -r ID:还原回某屏幕;

exit: 退出当前screen屏幕


*如何手动编译内核: uname -r查看内核版本


make gconfig: Gnome桌面环境中使用,需安装图形开发库

make kconfig: KDE桌面环境中使用,需安装图形开发库

make menuconfig: 


首先下载内核文件,并解压到/usr/src目录中


[root@xuelinux ~]# ls 查看下载的内核压缩包是否存在

anaconda-ks.cfg  install.log         linux1.jpg            公共的  视频  文档  音乐

httpd-2.0.55     install.log.syslog  linux-2.6.38.tar.bz2  模板    图片  下载  桌面

[root@xuelinux ~]# tar xf linux-2.6.38.tar.bz2 -C /usr/src/  解压到指定目录/usr/src中

[root@xuelinux ~]# cd /usr/src 进入到该目录

[root@xuelinux src]# ls

debug  kernels  linux-2.6.38

[root@xuelinux src]# cd linux-2.6.38/ 进入到刚解压的内核目录中

[root@xuelinux linux-2.6.38]# ls

arch     crypto         fs       Kbuild   MAINTAINERS  README          security  virt

block    Documentation  include  Kconfig  Makefile     REPORTING-BUGS  sound

COPYING  drivers        init     kernel   mm           samples         tools

CREDITS  firmware       ipc      lib      net          scripts         usr

[root@xuelinux linux-2.6.38]# make gconfig  进入到图形配置内核界面,对内核内的功能和设备进                               行增加或者移除,选择需要的内核模块或功能


make  进行编译

make modules_install 先编译安装刚才图形界面定义的内核模块

make install   编译安装

模块安装位置:/lib/modules/KERNEL_VERSION/    KERNEL_VERSION 内核文件夹名称


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

make gconfig  进入到图形配置内核界面,对内核内的功能和设备进                               行增加或者移除,选择需要的内核模块或功能


make clean    清理之前的编译缓存

make mrproper  清理之前的对.config文件做的修改

make  进行编译

make modules_install 先编译安装刚才图形界面定义的内核模块

make install   编译安装

重启就编译好了内核。



make编译安装时,默认为全部编译安装,可以按照以下选项进行选择编译安装,及在执行make时可以加入以下选项,进行编译:

  1、只编译某子目录下的相关代码:

     make arch/  只编译核心代码

     make drivers/net/  只编译网络代码

  2、只编译部分模块:

     make M=drivers/net/

  3、只编译某一模块:

     make drivers/net/pcnet32.ko

  4、将编译完成的结果放置于别的目录中:

     make O=/tmp/kernel  O:大写字母o








本文转自wang650108151CTO博客,原文链接:http://blog.51cto.com/woyaoxuelinux/1881165 ,如需转载请自行联系原作者


相关文章
|
3天前
|
缓存 监控 Linux
|
20小时前
|
监控 Linux
Linux常用命令-2
本文继续介绍Linux常用命令,涵盖目录操作、文件操作、系统信息和进程管理等类别。具体包括mkdir、rmdir、cp、mv、rm、touch、whereis、whatis、dmesg、free、date、cal、ps、kill、killall和top等命令的使用方法和常用参数。
20 7
|
21小时前
|
Linux Shell
Linux常用命令-1
本课程要求学生熟悉Linux系统终端窗口和命令基础,掌握文件目录类、系统信息类、进程管理类及其他常用命令,学时为3-6小时。课程内容涵盖Linux命令的特点、常见命令的使用方法及其应用场景,如文件浏览、目录切换、内容显示等。建议学生逐个操作命令并及时反馈问题。
16 5
|
3天前
|
缓存 Linux 开发者
深入理解Linux命令 `autom4te`
`autom4te` 是 GNU Autotools 中不可或缺的组件,通过高效处理 M4 宏,生成配置脚本并提供强大的调试功能。了解 `autom4te` 的工作机制和常用选项,可以帮助开发者更好地编写和维护配置文件,从而提高软件项目的配置和编译效率。在实际应用中,结合 `autoconf` 等工具,`autom4te` 能够为项目的构建过程提供坚实的基础。
11 2
|
5天前
|
Linux 开发工具
linux文本管理命令
本文档介绍了Linux系统中常用的文本处理命令,包括`echo`、`cat`、`head`、`tail`、`wc`、`less`、`grep`以及重定向符号的使用方法和练习题。此外,还详细讲解了VIM编辑器的特点、工作模式、常用快捷键和高级技巧,帮助用户高效地进行文本编辑和处理。
20 4
|
4月前
|
Linux
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
|
4月前
|
Linux
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
|
4月前
|
Linux
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
|
6月前
|
安全 网络协议 Linux
【专栏】Linux系统中ping命令的使用,包括其基本语法、输出信息、常用参数及高级用法
【4月更文挑战第28天】本文详细介绍了Linux系统中ping命令的使用,包括其基本语法、输出信息、常用参数及高级用法。通过ping,用户可测试网络连通性、诊断故障及评估性能。此外,文章还讨论了ping在不同协议、模拟网络环境及与其他命令结合使用时的场景。注意防火墙和网络环境可能影响ping结果,理解错误信息有助于网络问题排查。熟练掌握ping命令,能助你成为Linux网络专家。不断学习和实践,提升网络技能,为构建稳定网络环境贡献力量。
506 0
|
6月前
|
Kubernetes Linux Shell
Linux |奇怪的知识---complete命令---你不知道的命令参数补全---kubectl命令的参数补全
Linux |奇怪的知识---complete命令---你不知道的命令参数补全---kubectl命令的参数补全
150 0