在 USB 或 SD 卡上安装 Xen Dom0
本指南将向您展示如何在 USB 设备或 SD 卡上执行 Xen Dom0 安装,以便您的 Dom0 可以从 tmpfs 运行。 这有一些好处,但您需要一个地方来存储您的 guest(虚拟机)和一个 syslog 服务器来重定向日志。
第一步是设置基本的 USB 或 SD 安装。 为此,请从 Alpine 安装 CD(minimal 版本即可)启动,并按照以下指南之一进行操作
创建可启动 USB 或 创建可启动 Compact Flash。
在您的设备上完成 Alpine Linux 安装后,从中启动并配置您新安装的系统
设置网络接口
# setup-interfaces # ifup eth0
继续设置 apk 仓库
# setup-apkrepos [...] # apk update
现在您已经正确配置了系统,是时候安装 Xen 了
# Should this not be apk add xen xen-hypervisor ? # apk add xen
现在我们已经安装了 Xen,我们需要修改 usb 启动加载程序,以便加载 Xen 内核。 第一步是以写入权限重新挂载 /media/usb
# mount -o remount,rw /media/usb
然后,将 Xen 内核和 mboot.c32 复制到 usb 启动分区
# cp /boot/xen.gz /media/usb/boot/ # cp /boot/mboot.c32 /media/usb/boot/
现在我们有了从 usb 设备启动 Xen 所需的文件,是时候更改启动加载程序并添加 Xen 条目了。
为此,请使用您喜欢的编辑器打开 /media/usb/syslinux.cfg 并添加以下条目之一
正常启动
LABEL xen KERNEL /boot/mboot.c32 APPEND /boot/xen.gz --- /boot/vmlinuz-hardened alpine_dev=usbdisk:vfat modules=loop,squashfs,sd-mod,usb-storage modloop=/boot/modloop-hardened --- /boot/initramfs-hardened
串口控制台启动
LABEL xen KERNEL /boot/mboot.c32 APPEND /boot/xen.gz com1=115200,8n1 console=com1 --- /boot/vmlinuz-hardened alpine_dev=usbdisk:vfat modules=loop,squashfs,sd-mod,usb-storage modloop=/boot/modloop-hardened --- /boot/initramfs-hardened
将 UUID 更改为正确的 UUID,并为您的系统添加必要的模块。
最好也查看 Xen 启动选项 并设置 dom0_mem、dom0_vcpus_pin 和 dom0_max_vcpus。
下一步是加载 Xen 所需的内核模块。 我们将它们添加到 /etc/modules,以便在启动时自动加载
# echo "xen_netback" >> /etc/modules # echo "xen_blkback" >> /etc/modules # echo "tun" >> /etc/modules
最后一步是配置启动服务。 我们将需要 udev 和 xencommons 在启动时启动
# rc-update add udev sysinit # rc-update add udev-postmount # rc-update add xenstored # rc-update add xenconsoled
现在您已经拥有一个功能齐全的 Xen 安装。 是时候保存您的更改并启动进入它了。
# lbu commit # reboot
请记住配置至少一个网络桥接。 请遵循 桥接 指南。