如何构建 Alpine Linux 内核

来自 Alpine Linux

如何构建 Alpine Linux 内核

指南快速演示如何构建/编译默认的 Alpine Linux 内核 "LTS" 和 "virt"。Alpine 内核扩展了标准的 Linux 内核,并使用 abuildaportsalpine-sdk 在几分钟到几小时内(取决于您的系统速度)完成构建。

内核自定义(此处未涵盖)允许您通过添加/删除内核模块/功能进行实验。Alpine 发布了多个下载版本,其中包含功能和文件大小各异的内核。

开始之前

需要运行中的 Alpine Linux 实例和一个具有 doas 权限(即 sudo,wheel 组)的非 root 用户才能使用 abuild

构建并安装内核

构建

doas apk add alpine-sdk
doas addgroup USERNAME abuild         # your non-root user

git clone --depth 1 https://gitlab.alpinelinux.org/alpine/aports.git
abuild-keygen --append --install
doas chmod a+r /etc/apk/keys/*        # ensure new keys are readable

cd aports/main/linux-lts/
time abuild -crK

识别备份

识别当前内核的软件包名称(例如 linux-lts,linux-virt)。此示例显示 linux-lts 是我们作为备份还原的当前软件包。

echo "kernel: $(uname -r)"
apk list --installed linux-*

安装

找到要安装的新构建的内核文件。此示例显示如何安装新构建的 x86_64 LTS 内核

ls -r ~/packages/main/*
doas apk add FILENAME
doas reboot

重启后,验证新安装的内核版本

echo "kernel: $(uname -r)"

还原

如果需要,还原到我们之前识别的备份内核软件包。此示例显示如何在删除新安装的 "alpine-lts" 软件包后还原到之前的 "alpine-lts" 软件包(两者都名为 "alpine-lts",但指代不同的版本/位置)

apk list linux-lts            # newly-compiled kernel installed
doas apk del linux-lts        # newly-compiled kernel from file
doas apk add linux-lts        # previous kernel from Alpine repo
apk list linux-lts            # previous kernel installed
doas reboot

参见