本文主要记一次Kernel定制的过程,记录在此备查回顾
目的:
1、编译支持AUFS、NTFS3的Porteus内核
2、学习内核定制流程
前期准备
- 系统环境
- 更换国内源
- 磁盘空间大于15G
- Kali LiveCD镜像
- Kernel源码
- 下载地址
- Aufs5项目当下对该版本支持相对较好,同时支持NTFS3,故使用该版本
- Aufs源码
- 编译工具包
apt install build-essential libelf-dev libncurses5-dev flex bison libssl-dev bc -y
工具包
过程记录
1、合并源码
cp -R aufs5-standalone-aufs5.15/{Documentation,fs,include} linux-5.15/
2、打补丁
patch -p1 < ../aufs5-standalone-aufs5.15/*.patch
示例图
3、配置编译选项
内核编译选项众多 为简化工作可在主流发行版的内核编译配置上修改
一般在/boot/下或者/proc/config.gz 若路径下没有可尝试运行如下命令后再拷贝
modprobe configs
发行版中拷贝编译配置
配置模板拷贝完成后 即可在此基础上启闭相关选项
make menuconfig
General-Local Version(配置自定义内核名称,名称前建议加-可形成良好观感 例如:-zero)
NTFS3支持
Aufs支持
找不到选项可使用搜索功能 /键进入搜索 输入关键信息可得到相关选项的路径
keyword
result
4、开始编译
make -j8
启用多线程编译(线程数一般为CPU物理核心的两倍)
若非本地编译 开始编译前建议使用tmux启动编译任务 以避免ssh断开而引起编译中断*
5、编译完成
根据编译配置编译出来的内核文件一般在arch/x86/boot/bzImage
make install #安装内核至当前系统
默认情况module将安装至/lib/目录下 如非用于当前系统 可指定module输出路径
make modules_install #安装至当前系统
mkdir /path_to_output/ #指定输出路径
make modules_install INSTALL_MOD_PATH=/path_to_output/ #指定输出路径
# 默认命令下编译出来的modules体积过大,因为编译出来的 ko 文件携带了 debug 信息 可使用如下命令安装时精简掉ko文件的debug信息
make INSTALL_MOD_STRIP=1 modules_install INSTALL_MOD_PATH=/path_to_output/
若已完成modules安装 则可使用如下命令对已安装文件进行精简
bash -c 'find . -iname "*.ko" | xargs strip --strip-unneeded' # 在输出目录或安装目录下执行)
网友评论