Linux01-Linux编译内核定制属于自己的内核48

时间:2021-06-23 16:34:14

一、Kernel常用命令

    1、Kernel组成:

核心:/boot/vmlinuz-version

内核模块(ko): /lib/modules/version/

    2、装载模块命令:

insmod

modprobe

    3、用户空间:是访问、监控内核的方式:

    4、伪文件系统/proc, /sys:

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

/sys/: 某些文件可写

    5、设定内核参数值的方法:

        a、能立即生效,但无法永久有效:

            echo VALUE > /proc/sys/TO/SOMEFILE,如:echo 1 > /proc/sys/vm/drop_caches;

    sysctl -w kernel.hostname="NAME";

        b、永久有效:/etc/sysctl.conf

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

    sysctl -p :重读/etc/sysctl.conf文件

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

二、内核模块管理

    1、内核模块管理命令:

a、lsmod: 查看内核模块

    modprobe MOD_NAME:装载某模块

    modprobe -r MOD_NAME: 卸载某模块

        b、modinfo MOD_NAME: 查看模块的具体信息

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

            rmmod MOD_NAME 移除模块

        c、depmod /PATH/TO/MODILES_DIR 生成模块的依赖关系

    2、编译内核功能的选择:

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

a、不使用此功能;

b、编译成内核模块;

c、编译进内核;

    3、编译内核的环境make命令:GNU make utility to maintain groups of programs 

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

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

c、make menuconfig: 文本模式下的执行窗口;

三、文本模式下如何手动编译内核功能模块

    1、挂载系统镜像文件 mount /dev/cdrom /media/cdrom

    2、创建本地yum服务文件/etc/yum.repos.d/local.repo

[base]

name=Server

baseurl=file:///media/cdrom/CentOS

enabled=1

gpgcheck=0

    3、cd /etc/yum.repos.d/

    4、安装图形开发库Development Libraries和Development Tools

        # yum groupinstall "Development Tools" "Development Libraries" 

    5、下载Kernel linux-2.6.28.10.tar.gz

    6、解压缩tar xf linux-2.6.28.10.tar.gz -C /usr/src

    7、# ln -sv linux-2.6.28.10 linux

    8、cd /usr/src/linux

    9、cp /boot/config-2.6.18-348.el5 /usr/src/linux/.config

    10、make menucofig,在打开的图形窗口中开始编译需要的功能模块

    11、make

    12、make modules_install

    13、make install

四、编译内核功能模块的其他命令

    1、screen命令,yum install screen 安装后,可模拟多个桌面;

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

        b)bscreen: 直接打开一个新的屏幕

    Ctrl+a, d: 拆除屏幕

        c)screen -r ID: 还原回某屏幕

            exit: 退出

    2、二次编译时清理第一次编译的内核模块功能(清理前,如果有需要,请备份配置文件.config文件)

make clean

make mrprope

本文出自 “Jessen6的博文” 博客,请务必保留此出处http://zkhylt.blog.51cto.com/3638719/1417762