1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > linux内核编译 内核参数修改

linux内核编译 内核参数修改

时间:2018-09-23 21:10:36

相关推荐

linux内核编译 内核参数修改

核心(kernel):/boot/vmlinuz-version version 带发行包版本,本地版本

内核模块(kernel object): /lib/modules/version/

内核设计:

单内核

模块化设计--内核小,功能做成模块

微内核

装载模块:

insmod

modprobe

内核下载:

2(主).6(次).17(修正)-->2.6.17.1修复bug

2.6.18.rc1(候补版) 新增功能

用户空间访问,监控内核的方式

通过这两个伪文件/proc,/sys修改

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

/sys

设定内核参数的方法:

echo VALUE > /proc/sys/TO/SOMEFILE

echo 1 > /proc/sys/vm/drop_caches | free -m

echo www > /proc/sys/kernel/hostname

sysctl -w(设定值)

sysctl -w kernel.hostname=""

sysctl -w vm.drop_caches=1

以上立即生效,不能永久有效

永久有效

vim /etc/sysctl.conf

编辑后,立时生效:sysctl -p 让内核重新加载配置文件

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

内核模块管理

当前系统的模块:lsmod

mod size usetimes

modprobe MOD_NAME 加载模块

modprobe -r MOD_NAME 卸载模块

modprobe -r floppy

modprobe floppy

modinfo:查看模块的具体信息

modinfo MOD_NAME

modinfo floppy

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

rmmod MOD_NAME 移除模块

depmod /PATH/TO/MODILES_DIR

装驱动:下载源码,编译成ko,加载模块

内核与内核模块必须完全一致

2.6.32-1的内核不能使用在2.6.32-2上编辑的模块(ko)

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

1.不使用此功能

2.编译成内核模块 需要modprobe装载

3.编译进内核 内核的一部分,内核装载,他就装载

如何手动编译内核

需要装

Development Libraries

Development Tools

挂在本地光驱进行安装:

挂在镜像

cd /etc/yum.repos.d/

vim local.repo

[base]

name=Server

baseurl=file:///media/cdrom/Server

enabled=1

gpgcheck=0

mkdir /media/cdrom

mount /dev/cdrom /media/cdrom

yum groupinstall "Development Tools" "Development Libraries" -y

#ls

linux-2.6.28.10.tar.gz

#tar xf linux-2.6.28.10.tar.gz -C /usr/src

#cd /usr/src

#ls -sv linux-2.6.28.10 linux

#cd linux

#ls arch

#ls fs

手动编译内核:

make gconfig Gnome 桌面环境 GNOME Software Development

make kconfig KDE 桌面环境 KDE Software Development

还需要装图形开发库【二者不同的库】

可以修改系统的配置:ls /boot/config-2.6.18-308.el5

[root@linux]cp /boot/config-2.6.1-308.el5 /usr/src/linux/.config

[root@linux]# make menuconfig

[root@linux]# make

[root@linux]# make modules_install

[root@linux]# make install

会自动更改grub.menu

重启

为防止中断,可以使用screen

已经编译了,但是不能用

二次编译:

make clean

make mrproper .config 也会清理

二者都会清理.config等文件。

然后再进行编译

高级:只编译内核中的一个模块,只编译内核的某一个目录

grub->kernel->initrd->ROOTFS(/sbin/init,/bin/bash)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。