如何构建 Alpine Linux 内核
如何构建 Alpine Linux 内核
本指南快速演示如何构建/编译默认的 Alpine Linux 内核 "LTS" 和 "virt"。Alpine 内核扩展了标准的 Linux 内核,并使用 abuild
、aports 和 alpine-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