|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] sidecar (hvm shim) creation script
Draft README.
My git branch is bere
xenbits.xen.org:/home/iwj/ext/xen.git#wip.sidecar
(This contains the converter script too. The git history is not very
useful and the files are in the wrong place, but I needed somewhere to
do my work.)
Ian.
PV-in-HVM shim with "sidecar" ISO
=================================
Summary
-------
This README describes a mitigation strategy for Meltdown.
The basic principle is to run PV guests (which can read all of host
memory due to the hardware bugs) as HVM guests (which cannot, at least
not due to Meltdown). The PV environment is still provided to the
guest by an embedded copy of Xen, the "shim".
Properties of this approach
---------------------------
This strategy has the following inherent properties:
* It is readily deployable
* No hypervisor reboot is required
* Guest reboots are required
* Guest configs must be fed through a converter program
* The converter program spits out a small guest-specific .iso
image (we call this a "sidecar") used for booting
* Because the result is an HVM guest, this approach involves
running qemu as a PC emulator (this is done automatically)
The embedded copy of Xen we recommend using with this strategy implies
the following properties:
* This shim has been subjected to intensive testing by Amazon
* Therefore we think it is very stable
* We believe it is compatible back to Xen 3.4
* Unfortunately, various Xen features are not supported, notably:
migration, dynamic guest memory adjustment ("ballooning"),
vcpu hotplug.
The current implementation of the converter program implies:
* "bootloader=" in config files - notably, "pygrub",
is not currently supported.
* pvgrub (pvgrub1, pvgrub2) is, however, supported.
* direct kernel boot is supported
* xl domain configurations are supported.
* xm domain configurations have not been tested but may work.
* libvirt's domain configuration arrangements are not supported.
Alternative approaches
----------------------
* PVH
Users who are using Xen 4.10 (or can upgrade) should use PVH
for guests which support it. (PVH aka "PVHv2" requires guest
kernel support.)
We intend to backport PVH support to Xen 4.8.
* PV-in-PVH
We have a work-in-progress which runs PV guests with a shim, as
above, but where the shim runs as a PVH rather than PV guest.
This will be available for Xen 4.10 in the first instance,
but is not available today.
What you will need
------------------
* Your host must be able to run grub-mkrescue to generate a .iso
* You will therefore need xorriso and mtools
* You must be using xl and able to use an alternative your guest config
* You will need the script "pvshim-converter"
* You will need the xen.git branch XXXX TBD
Instructions
------------
1. On a suitable system (perhaps a different host)
git clone XXXXX TBD
git checkout XXXXX TBD
XXXX runes to configure and build only the whim
This will build a file
dist/install/usr/local/lib/xen/boot/XXX-SOMETHING
2. Copy that file to your dom0.
3. Copy the script pvshim-converter to your dom0 and make
it executable:
chmod +x pvshim-converter
4. For each guest
(i) if the guest is currently booted with pygrub you must first
switch to direct kernel boot, by manually copying the kernel and
initramfs out of the guest, and configuring the command line in the
domain configuration file.
(ii) run
./pvshim-converter /etc/xen/GUEST.cfg /etc/xen/GUEST.with-shim-cfg
(iii) shut the guest down cleanly
(iv) create the guest with the new config
xl create /etc/xen/GUEST.with-shim-cfg
(v) Check that it boots properly. xl console should work.
(vi) Make arrangements so that autostarting of the guest will use
the new config file rather than the old one
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |