创建 Alpine Linux PV DomU
获取 Alpine Linux 副本
要创建 Alpine Linux 半虚拟化 (PV) DomU,您需要 Alpine Linux iso 文件。
从 https://alpinelinux.cn/downloads/ 下载最新的 alpine-virt iso 文件
在本例中,我们将使用 /data/ 目录存放下载和磁盘镜像。
挂载 ISO 镜像
接下来,挂载 iso 文件以便您可以读取内核和 initramfs
mount -t iso9660 -o loop /data/alpine-virt-3.21.3-x86_64.iso /media/cdrom
现在您的内核在 /media/cdrom/boot/vmlinuz-virt,initramfs 在 /media/cdrom/boot/initramfs-virt。
或者,您可以使用 uniso 或 7z 将内容提取到临时区域。
创建磁盘镜像
现在您需要创建一个空文件,用作 DomU 的硬盘驱动器(在本例中,我们使用 3GB 磁盘)
dd if=/dev/zero of=/data/a1.img bs=1M count=3000
或者,如果 dom0 上有可用的 LVM 卷组(例如 vg1)和可用空间,请为 Alpine 创建一个逻辑卷
sudo lvcreate -n alpine -L 10g vg1
创建一个引导 ISO 镜像的 DomU 配置文件
接下来,创建一个基本的 DomU 配置文件,以便您可以启动 pv guest iso 文件(您可以将其保存在任何位置,但最常见的位置是 /etc/xen/)。
Contents of /etc/xen/a1.cfg
如果使用 LVM,请在磁盘规范中将 /data/a1.img 替换为 /dev/vg1/alpine。
安装 guest 系统
现在您已经有了必要的文件,您可以启动 DomU 以继续安装
xl create -f /etc/xen/a1.cfg -c
使用用户名 “root” 和空密码登录系统。
配置基本系统后,系统会询问您希望将 Alpine 安装在哪里。选择 xvda 和 sys。
这将在您的磁盘上创建三个分区。xvda1 用于 /boot,xvda2 用于 swap,xvda3 用于 /
Available disks are: xvda (3.1 GB ) Which disk(s) would you like to use? (or '?' for help or 'none') [none] xvda The following disk is selected: xvda (3.1 GB ) How would you like to use it? ('sys', 'data' or '?' for help) [?] sys WARNING: The following disk(s) will be erased: xvda (3.1 GB ) WARNING: Erase the above disk(s) and continue? [y/N]: y Initializing partitions on /dev/xvda... Creating file systems... Installing system on /dev/xvda3: Installation is complete. Please reboot. #
当您重新启动时,pv 引导加载程序 pvgrub 将在 /boot/grub/grub.cfg 中查找其菜单,因此请首先创建该文件。
挂载 boot 分区并为 pvgrub 创建一个 grub/grub.cfg 文件。(请注意,grub.cfg 用于 pvgrub2,它取代了 pvgrub1 及其从 2013 年开始的 menu.lst。)
mount /dev/xvda1 /mnt mkdir /mnt/grub
apk add nano
如果使用 nano,请输入
nano /mnt/grub/grub.cfg
然后添加以下内容以创建一个基本的 grub2 配置文件
Contents of /mnt/grub/grub.cfg
最后,Ctrl-S 保存,Ctrl-X 退出 nano。
卸载并关闭电源。
umount /mnt poweroff
调整 domU 配置文件以从全新安装启动
在您的 Dom0 中,编辑您的 DomU 配置文件以使用 pvgrub 启动。
Contents of /etc/xen/a1.cfg
确保已安装 grub-xenhost。
apk add grub-xenhost
记住卸载回环 iso 镜像。
umount /media/cdrom
下次启动时,您将看到 grub 启动菜单,并且您的 VM 将启动。
使用旧版 pvgrub
要使用旧版 pvgrub,您需要使用 /boot/grub/menu.lst 而不是 /boot/grub/grub.cfg。
Contents of /etc/xen/a1.cfg
并且在 /etc/xen/a1.cfg 中,您需要将 'kernel' 加载器更改为
Contents of /etc/xen/a1.cfg