引导 Alpine Linux

来自 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

参见