centos7自定义镜像打包之(二)、为kernel 打中文补丁、打包内核bzImage(即vmlinuz)

下载 kernel-5.15.178 内核源码备用

# 下载内核源码
    # 国内
    wget -U firefox https://mirrors.tuna.tsinghua.edu.cn/kernel/v5.x/linux-5.15.178.tar.gz
    # 国外
    wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.15.178.tar.gz

# 解压
    tar xf linux-5.15.178.tar.gz -C /home

为内核源码添加中文补丁

## 去github下载中文补丁文件(这里以kernel v5.15.x内核中文补丁为例)
    wget https://github.com/zhmars/cjktty-patches/blob/master/v5.x/cjktty-5.15.patch

## 进入kernel 源码的解压目录,释放补丁
    cd /home/linux-5.15.178
    patch -Np1 < /root/cjktty-5.15.patch

## make menuconfig > lib 修改内核 .config 文件,确保在FONT字段后新增如下两项目(下面配置文件已经 添加了)
    # Library routines > Select compiled-in fonts(开启) > CJK 16*16 font (开启)
    # Library routines > Select compiled-in fonts(开启) > CJK 32*32 font (开启)
CONFIG_FONT_CJK_16x16=y
CONFIG_FONT_CJK_32x32=y

gcc 编译环境准备

https://boke.wsfnk.com/archives/1437.html

编译、安装、打包kernel

## 准备 编译环境
    # 添加epel-release源
    yum update -y
    yum install rsync git gcc
    yum install make ncurses-devel flex bison openssl-devel elfutils-libelf-devel perl bc
    yum install perl-ExtUtils-Embed kernel-devel popt-devel libcap-devel python3
    yum install rpm-build rpmdevtools
    reboot     # 重启系统后,激活gcc9   #命令: scl enable devtoolset-9 bash

## 准备 config 编译配置文件(Tips: 该配置文件是 kernel-5.15.163、kernel-5.15.178 的配置选项)
    cd ; wget https://qiniu.wsfnk.com/bokefiles/config-5.15.178.lt
    cd /home/linux-5.15.178/
    make mrproper    # 清理环境,如.config等等(也可以使用清理的清理命令  make clean )
    cp /root/config-5.15.178.lt /home/linux-5.15.178/.config
    # 配置项目修改如下: 添加nbd支持、添加cjk中文支持、添加ext2|exfat|ntfs支持、指定特定版本 -20250216.el7.x86_64、file system 确保对utf-8支持

## 编译
        make -j$(nproc)    # 正常完成后会生成    Kernel: arch/x86/boot/bzImage is ready  (#1),该文件是需要收集的

## 收集文件
    mkdir /home/my-kernel
    mkdir /home/my-kernel/boot
    cp arch/x86/boot/bzImage /home/my-kernel/boot/
    cp vmlinux /home/my-kernel/boot/        # vmlinux 是linux未压缩的内核
    cp System.map /home/my-kernel/boot/     # System.map 记录了所有的符号的地址

## 编译模块
    make modules -j$(nproc)
    # 安装模块文件
        # make modules_install        # 这条目录会把模块文件安装到 /lib/modules | 或者/lib/modules/$(uname -r) 下|(建议使用下面的命令)
        # 通过指定安装目录的形式,会把模块文件放到/home/my-kernel 自动生成lib目录,都在这里
        make modules_install INSTALL_MOD_PATH=/home/my-kernel/ INSTALL_MOD_STRIP=1 -j$(nproc)
        # 收集需要的文件

## 收集文件
    cd /home
    tar zcvf kernel-5.15.178_20250216.el7.x86_64-product.tar.gz my-kernel

如上配置后,编译打包安装的kernel 就能支持显示中文了

声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/1440.html
谢谢你请我吃辣条谢谢你请我吃辣条

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2025/2/25作者: 辣条①号

目标:网络规划设计师、系统工程师、ceph存储工程师、云计算工程师。 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

文章目录