[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
howtos:misc:xen_domu_guest [2020/07/03 18:40 (UTC)] – bifferos | howtos:misc:xen_domu_guest [2020/07/03 23:29 (UTC)] – [UUID Root device] bifferos | ||
---|---|---|---|
Line 1: | Line 1: | ||
<!-- Add your text below. We strongly advise to start with a Headline (see button bar above). --> | <!-- Add your text below. We strongly advise to start with a Headline (see button bar above). --> | ||
- | ====== | + | ====== |
+ | |||
+ | ===== Introduction ===== | ||
+ | |||
+ | This document explains how to create a guest virtual machine for a Xen environment using HVM (with PV drivers) virtualisation mode. Such a VM could be used on AWS (Amazon Web Services) or with an on-premise Xen setup but has the added advantage that it will still boot into Desktop virtualisation software like VirtualBox, KVM, VMWare as it uses a conventional MBR. There is no requirement to use Grub and we can stick with the familiar LILO. | ||
===== Installation ===== | ===== Installation ===== | ||
- | First, we must prepare a Slackware install in a virtual machine. | + | First, we must prepare a Slackware install in a virtual machine. |
- | Select at a minimum disk sets A, AP, D, K, L and N sets. Install everything. | + | Select at a minimum disk sets A, AP, D, K, L and N sets. Install everything. |
===== Make an Initrd ===== | ===== Make an Initrd ===== | ||
- | Now we must create an initrd. | + | Now we must create an initrd. Any initrd. |
< | < | ||
Line 56: | Line 60: | ||
</ | </ | ||
- | After this you may wish to run lilo, check that your system still boots. | + | After this you may wish to run lilo, check that your system still boots. |
- | ===== Recompile | + | ===== Configure |
Get ready to recompile the kernel using the current config as a starting point. | Get ready to recompile the kernel using the current config as a starting point. | ||
Line 90: | Line 94: | ||
</ | </ | ||
+ | Those selections should give you the following extra kernel options. | ||
+ | |||
+ | < | ||
+ | # cat .config | grep XEN | grep =y | ||
+ | CONFIG_XEN=y | ||
+ | CONFIG_XEN_PV=y | ||
+ | CONFIG_XEN_PV_SMP=y | ||
+ | CONFIG_XEN_DOM0=y | ||
+ | CONFIG_XEN_PVHVM=y | ||
+ | CONFIG_XEN_PVHVM_SMP=y | ||
+ | CONFIG_XEN_512GB=y | ||
+ | CONFIG_XEN_SAVE_RESTORE=y | ||
+ | CONFIG_PCI_XEN=y | ||
+ | CONFIG_XEN_PCIDEV_FRONTEND=y | ||
+ | CONFIG_XEN_BLKDEV_FRONTEND=y | ||
+ | CONFIG_XEN_SCSI_FRONTEND=y | ||
+ | CONFIG_XEN_NETDEV_FRONTEND=y | ||
+ | CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y | ||
+ | CONFIG_HVC_XEN=y | ||
+ | CONFIG_HVC_XEN_FRONTEND=y | ||
+ | CONFIG_XEN_FBDEV_FRONTEND=y | ||
+ | CONFIG_XEN_BALLOON=y | ||
+ | CONFIG_XEN_SCRUB_PAGES_DEFAULT=y | ||
+ | CONFIG_XEN_DEV_EVTCHN=y | ||
+ | CONFIG_XEN_BACKEND=y | ||
+ | CONFIG_XENFS=y | ||
+ | CONFIG_XEN_COMPAT_XENFS=y | ||
+ | CONFIG_XEN_SYS_HYPERVISOR=y | ||
+ | CONFIG_XEN_XENBUS_FRONTEND=y | ||
+ | CONFIG_SWIOTLB_XEN=y | ||
+ | CONFIG_XEN_PRIVCMD=y | ||
+ | CONFIG_XEN_HAVE_PVMMU=y | ||
+ | CONFIG_XEN_EFI=y | ||
+ | CONFIG_XEN_AUTO_XLATE=y | ||
+ | CONFIG_XEN_ACPI=y | ||
+ | CONFIG_XEN_SYMS=y | ||
+ | CONFIG_XEN_HAVE_VPMU=y | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Recompile the kernel ===== | ||
+ | |||
+ | Compile the kernel with | ||
+ | < | ||
+ | make bzImage | ||
+ | </ | ||
+ | |||
+ | Note we don't need the modules unless you formatted rootfs with the non-default filesystem. | ||
+ | |||
+ | ===== Test the kernel ===== | ||
+ | |||
+ | Copy the new kernel to /boot, e.g. | ||
+ | |||
+ | < | ||
+ | cp arch/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | Now create an extra / | ||
+ | |||
+ | < | ||
+ | image = /boot/xen | ||
+ | root = " | ||
+ | label = Xen | ||
+ | read-only | ||
+ | initrd = / | ||
+ | </ | ||
+ | |||
+ | run lilo | ||
+ | |||
+ | < | ||
+ | # lilo | ||
+ | Warning: LBA32 addressing assumed | ||
+ | Added Linux + * | ||
+ | Added Xen + | ||
+ | One warning was issued. | ||
+ | </ | ||
+ | |||
+ | Now test that your system still boots when using the Xen kernel. | ||
====== Sources ====== | ====== Sources ====== | ||
<!-- Authors are allowed to give credit to themselves! --> | <!-- Authors are allowed to give credit to themselves! --> | ||
- | < | + | * Originally written by [[wiki: |
<!-- Please do not modify anything below, except adding new tags.--> | <!-- Please do not modify anything below, except adding new tags.--> | ||
<!-- You must remove the tag-word " | <!-- You must remove the tag-word " | ||
{{tag> | {{tag> |