Linux内核编译步骤:
1)下载源码展开
2)make menuconfig,配置内核模块选项
3)make [-j # ] ,编译
4)make module_install,安装内核模块
5)make install,安装内核,此步骤主要完成以下几项:
-- 安装bzImage为/boot/vmlinuz-VERSION-RELEASE
-- 生成initramfs文件
-- 编辑grub配置文件
编译内核的步骤(进一步描述)
(1)配置内核选项
支持“更新”模式进行配置
(a)make config:基于命令行以遍历的方式去配置内核中可配置的每个选项
(b)make menuconfig:基于curses的文本窗口界面
(c)make gconfig:基于GTK开发环境的窗口界面
(d)make xconfig:基于Qt开发环境的窗口界面
支持“全新配置”模式进行配置
(a)make defconfig:基于内核为目标平台提供的“默认”配置进行配置;
(b)make allnoconfig:所有选项均回答为“no”,对应的有make allyesconfig
(2)编译
make [-j #],可以启动多线程
如何只编译内核中的一部分功能(必须站在内核源代码树上,即/usr/src/linux):
(a)只编译某子目录中的相关代码:
# cd /usr/src/linux
# make dir/
(b)只编译一个特定的模块:
# cd /usr/src/linux
# make dir/file.ko
如:为e1000编译驱动:make drivers/net/ethernet/intel/e1000/e1000.ko
如何交叉编译内核:
编译的目标平台与当前平台不相同:如在x86平台上编译成arm平台用的内核
# make ARCH=arch_name
获取特定目标平台的使用帮助:make ARCH=arm help
如何在已经执行过编译操作的内核源码树做重新编译:即事先清理操作
# make clean :清理大多数编译生成的文件,但会保留config文件等;
# make mrproper:清理所有编译生成的文件、config即某些备份文件;
# make distclean:mrproper、patches以及编译器备份文件;
screen命令:
打开新的screen: screen
退出并关闭screen:exit
剥离当前screen:Ctrl+a,d
显示所有已经打开的screen:screen -ls
恢复某screen:screen -r [SESSION]
CentOS系统安装:
安装操作系统,必然要运行一个安装程序,对于CentOS 系列的Linux,安装程序是anaconda
anaconda:是安装程序,分为两种窗口
tui:基于curses的文本窗口
gui:图形窗口
鸡与蛋的问题:anaconda的运行是基于内核的,即需要在内核支持下运行,但是安装CentOS之前,是没有内核的

本文详细介绍了Linux内核的编译步骤,包括下载源码、配置选项(如menuconfig和makeconfig)、编译、安装内核模块和完整内核,同时涵盖了交叉编译、清理缓存和使用Anaconda进行CentOS安装的详细过程,以及如何通过kickstart文件实现无人值守安装。

2315

被折叠的 条评论
为什么被折叠?



