linux内核编译及系统裁减(sysctl 内核模块管理 screen 生成initrd

linux组成部分

    核心/boot/vmlinuz-version

    内核模块:/lib/modules/version

内核设计:

    单内核

        模块化设计

    微内核

装载模块命令

    insmod

    modprobe


伪文件系统:

/proc

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

/sys

    某些文件可写


设定内核参数值的方法:

   1、 echo VALUE > /proc/sys/to/somefile(重启会失效)

   2、sysctl -w kernel.hostname="HOSTNAME"(重启会失效)

   3、/etc/sysctl.conf(永久有效),但需使用sysctl -p 命令,使其立即生效

      sysctl -a:显示所有系统参数值

内核模块管理

lsmod:查看系统模块

modprobe MOD_NAME:装载模块

modprobe -r MOD_NAME:卸载某模块

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

insmod /path/to/modules_FILE:装载模块

rmmod MOD_NAME:移除模块

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


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

1、不使用此功能

2、编译成内核模块

3、编译进内核


如何手动编译内核:

make gconfig :Gnome桌面环境使用(需安装图形开发库环境组:GNOME Software Development)

make Kconfig: KDE桌面环境使用(需安装图形开发库环境)

make menuconfig

make modules_install

make install 

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

    make clean:清理此前编译好的二进制模块

    make mrproper:清理编译所残留的工作的,包括.config


screen 命令:

    screen -ls :显示建立的屏幕

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

    screen -r ID:还原某屏幕

    ctrl+a,d:拆除一个屏幕

生成initrd或者initramfs

RHEL5\6:mkinitrd,mkinitrd /boot/initrd-`uname -r` `uname -r` 

        mkinitrd initrd文件路径 内核版本号

RHEL6:dracut

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。