码迷,mamicode.com
首页 > 系统相关 > 详细

Linux系统启动流程及内核编译(2)

时间:2016-04-29 09:30:18      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:linux系统启动流程及内核编译(2)

Linux系统启动流程及内核编译(2)

1.内核设计:有单内核和微内核之分

 linux属于单内核的模块化设计

 系统内核核心路径:/boot/vmlinuz-版本号

 内核模块路径: /lib/modules/版本号/

 linux分为内核空间和用户空间

 而用户空间通过访问和监控内核:路径在/proc/和/sys/两个伪文件系统

2.伪文件系统/proc/sys和/sys/有些目录中文件是可读或可写的

 设定内核参数值的方法:

 2.1.能立即生效,但重启系统设定无效

 2.1.1.echo 值  > /proc/sys/TO/SOMEFILE

 2.1.2.sysctl -w kernel.hostname=willow.com.tw

3.通过修改/etc/sysctl.conf配置文件可永久有效 

 但执行如下命令可立即生效:

 sysctl -p 让内核重新加载/etc/sysctl.conf配置文件

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

4.内核模块管理:

 lsmod: 查看

 modprobe 模块名称:装载某模块

 modprobe -r 模块名称: 卸载某模块

 modinfo 模块名称: 查看模块的具体信息

 insmod 模块路径名称.ko: 装载模块

 rmmod 模块名称:卸载某模块

 depmod 模块目录:分析可载入模块的相依性

5.手动编译内核:

提前安装"Development Tools"和"Development Libraries"和"Server Platform Development"

 5.1:选择或取消指定的模块

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

   主要包确认安装:gtk+ gtk-devel libglade2-devel

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

 make xconfig:Gnome桌面环境使用

   主要包确认安装:qt qt-devel 

 make menuconfig:文本环境下使用

   主要包确认安装:ncusres ncurse-devel

 5.2:编译

 make 

 make modules(可选)

 5.3:将编译的模块复制到指定的目录和文件中或修改文件

 make modules_install 复制模块至/lib/modules/目录下

 make install      复制启动系统内核和镜像文件等(含编辑grub.conf 文件)

 5.4.如果编译出现报错或想二次编译

 需清理时但清理前,如有需要,请备份配置文件.config:

 make clean  删除大多数编译的文件,但不删除.config文件

 make mrproper  删除所有编译的文件,包括.config文件

 5.5:制作initrd-XXX-XXX.img系统镜像文件

 mkinitrd  initrd文件路径  内核版本号

 mkinitrd  /boot/initrd-`uname -r`.img  `uname -r`

 dracut  /boot/initrd-`uname -r`.img  `uname -r` (redhat6新工具)

6.screen命令:

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

Ctrl+a, d: 拆除屏幕

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

screen -r ID号: 还原指定的屏幕

exit: 退出


本文出自 “夏维柳” 博客,请务必保留此出处http://willow.blog.51cto.com/6574604/1768872

Linux系统启动流程及内核编译(2)

标签:linux系统启动流程及内核编译(2)

原文地址:http://willow.blog.51cto.com/6574604/1768872

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!