【操作系统原理】优麒麟编译新内核

按照“STEP BY STEP”的标准,从下载内核源代码开始,
介绍优麒麟版本,写出编译过程,包括每一个命令的使用。

本人实现的基础是VMware上的优麒麟22.04 LTS 操作系统,虚拟机配置如下,没有事先安装任何工具和依赖。
[图片]

  1. 安装编译所需要的包
    首先更新系统包索引,确保后续安装的软件包是最新版本。此步需要输入用户密码。
sudo apt update

[图片]

[图片]

开始安装编译 Linux 内核所需的工具和库。

$ sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev fakeroot
$ sudo apt install dwarves
  • flex 和 bison:用于解析源码中的语法。
  • build-essential:提供编译工具链(如 gcc)。
  • libncurses-dev:用于构建交互式配置界面。
  • libssl-dev 和 libelf-dev:提供加密和 ELF 文件操作支持。
  • fakeroot:创建虚拟管理员环境,避免编译过程中需要管理员权限。
    [图片]
    [图片]
  1. 从 kernel.org 官方网站下载内核源代码
    这里我选择了6.6.82版本(其他版本也可以)。下载时需要使用 sudo 来获取超级用户权限,以便能够写入 /usr/src 目录。
$ cd /usr/src
$ sudo wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.82.tar.xz
$ sudo tar -xf linux-6.6.82.tar.xz
$ sudo rm -f linux-6.6.82.tar.xz

[图片]

[图片]

  1. 配置内核
    进入内核所在文件夹,使用本地模式生成配置文件,执行以下命令时会出现很多选项,一直回车就行。
$ cd linux-6.6.82
$ sudo make localmodconfig

[图片]

[图片]

然后修改配置:

$ sudo scripts/config --disable SYSTEM_TRUSTED_KEYS
$ sudo scripts/config --disable SYSTEM_REVOCATION_KEYS
$ sudo scripts/config --set-str CONFIG_SYSTEM_TRUSTED_KEYS ""
$ sudo scripts/config --set-str CONFIG_SYSTEM_REVOCATION_KEYS ""
  1. 编译
$ sudo fakeroot make -j2

fakeroot负责构建虚拟的管理员环境,-j后面的数字是编译的CPU核心数量,不要超过虚拟机分配的数量。
编译完成后,可以使用以下命令查看是否成功,输出0则编译成功,其他数字不成功。

$ sudo echo $?

[图片]

[图片]

  1. 安装
    安装分为两部分:安装内核模块和安装内核本身。时间不长,几分钟即可。
$ sudo make modules_install
$ sudo make install

之后,重新启动计算机。
[图片]

[图片]

[图片]

  1. 检验
    重启后打开终端,输入以下命令,查看内核信息。
$ sudo reboot
$ uname -rs

[图片]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值