引导 Alpine Linux
此页面提供了在任何 VPS 上引导 Alpine Linux 的说明。
先决条件
为您的架构下载 apk 二进制文件,或从 Alpine live ISO 启动。
$ wget https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v2.14.6/x86_64/apk.static
假设您的 alpine rootfs 挂载在 /tmp/target 中,并且您已下载 apk 二进制文件(未使用 live ISO)。
安装
您可能想要将 URL 中的 "latest-stable" 替换为 Alpine 的特定版本(例如 v3.20、v3.21)。
sudo ./apk.static --arch $(arch) -X https://dl-cdn.alpinelinux.org/alpine/latest-stable/main/ -U --allow-untrusted --root /tmp/target --initdb add alpine-base
- 编辑 /tmp/target/etc/fstab
- 编辑 /tmp/target/etc/inittab
- 编辑 /tmp/target/etc/resolv.conf
- 挂载 proc/sys/dev
for a in proc sys dev; do mount -o bind /$a /tmp/target/$a; done
- chroot 进入您的新安装
chroot /tmp/target /bin/sh
- 设置主机名
setup-hostname
- 设置网络
setup-interfaces
- 设置仓库
setup-apkrepos -f
- 添加一些基本软件包
apk update apk add linux-lts linux-firmware-none acpi mkinitfs
- 添加要启动的服务
rc-update add acpid default rc-update add bootmisc boot rc-update add crond default rc-update add devfs sysinit rc-update add dmesg sysinit rc-update add hostname boot rc-update add hwclock boot rc-update add hwdrivers sysinit rc-update add killprocs shutdown rc-update add mdev sysinit rc-update add modules boot rc-update add mount-ro shutdown rc-update add networking boot rc-update add savecache shutdown rc-update add seedrng boot rc-update add swap boot
引导加载程序
如果您已从不同分区中的现有系统引导 Alpine Linux 并打算启动进入它,您应该始终在内核参数(引导加载程序选项)中包含根文件系统类型 (rootfstype),因为默认情况下,内核不会自动为根分区加载任何文件系统模块,除非指定。这样挂载将不会抱怨无法在 /sysroot 上挂载根分区。
引导加载程序选项示例
root=UUID=AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE rw rootfstype=ext4 vfat