准备源码:
从https://www.kernel.org/下载源码包,传入LINUX。
因为解压编译之后会很大,检查硬盘空间保留15G左右的空间
内核选项比较多,所以推荐使用make menuconfig以菜单方式来编译
make gconfig:基于GTK(GNOME)环境的图形界面
make xconfig:基于QT(KDE)环境的图形界面
菜单中选项表示
[ ]:N
[*]:Y
[M]:M
菜单中的选项可以参考已有的选择来调整设置,复制boot下的config-##### 文件到源码解压目录下命名为.config即可
Local version参数可以修改内核编译后由编译者加上的版本
保存好之后执行编译,make -j #
编译完成之后要复制模块,执行make modules_install
最后执行make install生成内核文件就完成了
配置选项:
make defconfig:使用基于内核为目标平台提供的默认配置
make allyesconfig:所有选项都是yes
make allnoconfig:所有选项都是no
交叉编译:
编译的目标平台与当前平台不同就是交叉编译
make ARCH=arch_name
获取目标平台的编译帮助
make ARCH=arch_name help
示例:
make ARCH=arm help
如构建简易Linux
内核编译完成之后只有很少一部分功能,还需要很多命令进行辅助,如果在测试环境中想要一个简易的linux就得一个一个的复制命令。
这样比较麻烦,可以用Busybox代替这些命令