linux内核编译

内核设计风格:

  • 微内核:windows,solaris(支持真正的线程)
  • 单内核:linux(用LWP模拟线程)

linux内核 = 核心 + 内核模块ko(kernel object)
核心/boot/vmlinuz可以动态加载/lib/modules/version/*.ko,所以初始化的时候是内核核心的初始化;

用户和内核通信的方式:

  • /proc, 伪文件系统
  • /proc/sys:此目录中的文件很多是可读写的
  • /sys:某些文件可写
### 设定内核参数的方法:
# echo VALUE > /proc/sys/xxx
# sysctl -w kernel.hostname=hello #此方法可以省略/proc/sys前缀,
### 这两种方式能立即生效但不是永久有效,如果想永久生效,需要修改/etc/sysctl.conf,使用sysctl -p立即生效,使用sysctl -a显示所有内核参数

内核模块管理:

lsmod                      #查看当前系统加载的模块
modinfo                    #查看模块的具体信息
insmod /PATH/TO/MODULEFILE #装载模块
modprobe MODULENAME        #自动到modules文件目录下查找并装载模块
modprobe -r MODULENAME     #卸载模块
rmmod MODULENAME           #卸载模块
depmod /PATH/TO/MODULESDIR #生成依赖关系文件

编译内核:

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

    • 不使用此功能[ ];
    • 编译成内核模块[M];
    • 编译进内核[*];
  2. 编译过程

2.1 定制内核

### 3种定制内核命令:
###A. Gnome桌面环境使用,需要安装图形开发库组:GNOME software development
# make gconfig
###B. KDE桌面环境使用
# make kconfig
###C. 文本图形库
# make menuconfig 生成.config文件

2.2 编译

# make #等待较长时间

2.3 安装模块

# make modules_install

2.4安装内核

# make install

2.5 二次编译清理

# make clean
# make mrproper #比clean清理的更彻底,注意备份配置文件

注意:
如果想使用远程连接编译内核,建议使用screen,否则一旦连接断开内核编译将被终止
screen命令:
screen -ls:显示已经建立的屏幕
screen:直接打开一个新的屏幕
ctrl+a, d:剥离屏幕
screen -r ID:还原回某屏幕
exit:退出

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值