第一步按照开发包工具
第二步下载源码解压缩
第三步准备文本配置文件 .config ]#cp /boot/config-3.10.0-957.el7.x86_64 .config
第四部 make menuconfig 配置内核选项
第五步 make -j 4编译
第六步 make modules_install 安装模块(指定菜单的时候menuconfig,选项表现为M的,把m状态的选项生成文件放到目录下(编译完的模块拷贝到lib/modules目录下,ko驱动))
第七步 make install 安装内核相关文件
安装bzImage为/boot/vmlinuz-version-node
生成initramfs文件
自动编辑grubd配置文件
防火墙内核参数都是自己定义的
make -j是全部编译,配置 好的全部编译 也可以挑部分编译(编译某个文件夹,编译某个模块驱动)
交叉编译(正常情况下,把源码编译成二进制程序,编译的过程是在当前机器编译的,最终编译的结果也是在当前主机上使用的,但是在有些情况下不是,在当前主机编译,编译之后的二进制程序可能要在别的主机上使用,如安卓系统开发,在电脑上开发,但是在手机上跑)
交叉编译要指定哪种架构,手机上比较流行的是arm架构
各种arm架构的cpu
编译完之后想重新编译,就需要把原来的删除
编译之后可能有十几个G需要清理编译的文件
centos7也是找init,不过centos有点小动作,用软链接的方式,把它指向到systemd,
官方流派,sys,base实验室
bsd风格,科技大学
大部分风格是基于centos5:sysv init
不是每个服务都有依赖性所以都不需要串行
centos6的init是由unbunto开发的upstart 可以并行执行
非独立服务,平时不启动,需要启动就用xinetd超级守护启动
systemd 可以替代xinetd 超级守护进程(按需启动守护进程)
通过socketfile 文件来对外监听web服务
而早期是只有打开httpd服务才会打开socket文件
优化一下,可以把服务和socket文件分开
平时就用socket 文件监听,有人访问就唤醒httpd服务
makemodules_install编译后的数据复制到lib
还缺少一步,缺少基于新版本的vmlinuz内核文件
最后一步,makeinstall
生成vmlinuz文件还会自动编辑6是grub.conf,7的文件在grub2
现在没有人使用ntfs,有人用就会自动加载
虽然成功但是不能写
其实不用这么麻烦支持ntfs,可以用专门的工具
格式化逻辑卷,需不在挂载状态
有两个菜单
删除内核怎么删除,只能手动删除
grub多的语句块删除
当写一个脚本
在逻辑卷上破坏文件分区怎么修复
lv display 逻辑卷处于非活动状态
激活逻辑卷
就可以了
sysctl
expect
mktemp 创建临时文件
eval
typeset(已经过时) =declare
time
lvscan 扫描逻辑卷
modinfo
2019/02/24 内核配置和编译02
最新推荐文章于 2024-05-03 17:25:10 发布