summaryrefslogtreecommitdiff
path: root/pcr/xen/xen.install
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/xen/xen.install')
-rw-r--r--pcr/xen/xen.install135
1 files changed, 28 insertions, 107 deletions
diff --git a/pcr/xen/xen.install b/pcr/xen/xen.install
index 2c03573e7..2a053c9f7 100644
--- a/pcr/xen/xen.install
+++ b/pcr/xen/xen.install
@@ -1,140 +1,61 @@
-xen_boot() {
- cat << __EOF__
-You are not running xen unless you boot xen.
-Possible Xen boot paths:
-EFI boot -> grubx64.efi -> multiboot2 -> [xen.gz, vmlinuz, ramdisk]
-BIOS boot -> grub -> multiboot(2) -> [xen.gz, vmlinuz, ramdisk]
-
-EFI boot -> xen.efi
-
-##########
-grub multiboot2 preparation:
-Install grub: https://wiki.parabola.nu/index.php/GRUB
-
-At this time, some modifications are needed to 20_linux_xen.
-These are included in this package as 21_linux_xen
-
-Set the values needed for your configuration in /etc/default/grub
-Detailed here: https://www.gnu.org/software/grub/manual/html_node/Simple-configuration.html
-Needed:
-GRUB_CMDLINE_XEN
-GRUB_CMDLINE_LINUX_XEN_REPLACE
-These values are not required but can be used; they are appended to the previous values, then this is used for the non-recovery (default) entry:
-GRUB_CMDLINE_XEN_DEFAULT
-GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT
-
-run grub-mkconfig
-
-To boot xen as default:
-suggested: inspect and use this config to boot with. Check if the xen entry works as expected
-find the id of the xen entry and set this as DEFAULT in /etc/default/grub.
-This may look something like:
-GRUB_DEFAULT="xen-gnulinux-simple-a-unique-id-from-your-grub-goes-here"
-
-run grub-mkconfig
-
-##########
-Direct EFI boot preperation:
-Create a xen.cfg file in the same directory as xen.efi.
-These need to be in ESP, or in a directory accessible from you EFI bootloader.
-Put settings relevant to your system into xen.cfg
-Detailed here: https://xenbits.xen.org/docs/4.9-testing/misc/efi.html
-Needed:
-kernel
-ramdisk
-Add the xen.efi file to your EFI bootloader (such as Refind).
-And / or add the xen.efi file to you EFI boot options (efibootmgr).
-__EOF__
-}
-
install_msg() {
- cat << __EOF__
-===> IMPORTANT NOTICES:
+ cat << __EOF__
+ Bunch of Xen Notes: https://wiki.archlinux.org/index.php/Xen
-In order to complete the installation, and enable Xen,
-at the very least you must:
+ If booting via efi, copy the example /etc/xen/efi-xen.cfg to /boot/xen.cfg
+ and edit the contents to match the settings you need.
-1. Configure your bootloader to boot Xen:
-__EOF__
- xen_boot
- cat << __EOF__
-2. Issue the following commands to allow you to create and start VMs:
+ To make dom0 go:
systemctl enable xen-qemu-dom0-disk-backend.service
systemctl enable xen-init-dom0.service
systemctl enable xenconsoled.service
- Other optional services are:
+ Optional services are:
systemctl enable xen-watchdog.service
-3. If you want some domains to automatically start up/shutdown, run the following:
+ To start domains on boot:
systemctl enable xendomains.service
-For more information refer to the Wiki:
- https://wiki.parabola.nu/index.php/Xen
__EOF__
-}
-upgrade_msg() {
- cat << __EOF__
-Xen 4.9
-Release notes
-http://wiki.xen.org/wiki/Xen_Project_4.9_Release_Notes
-Feature list
-http://wiki.xen.org/wiki/Xen_Project_4.9_Feature_List
-__EOF__
-}
-upgrade_msg_grub_multiboot2() {
- cat << __EOF__
-##########
-Xen 4.9 can now use grub>=2.02 multiboot2.
-If you previously booted using xen.efi, you have an alternative.
-If you previously relied on the packaged 09_xen for grub-mkconfig:
-It is now removed.
-You will need to do the following under grub multiboot2 preparation:
-##########
-__EOF__
- xen_boot
}
+
post_install() {
- install_msg
- upgrade_msg
- systemd-tmpfiles --create
+ install_msg
+ systemd-tmpfiles --create
+ /usr/share/libalpm/scripts/xen-ucode-extract.sh
}
post_upgrade() {
- if [[ "$2" < 4.9.0 || "$2" == *'4.9.0rc'* ]]; then
- upgrade_msg
- fi
- if [[ "$2" < 4.9.0 || "$2" == *'4.9.0rc'* ]]; then
- upgrade_msg_grub_multiboot2
- fi
- systemd-tmpfiles --create
+ systemd-tmpfiles --create
+ /usr/share/libalpm/scripts/xen-ucode-extract.sh
}
pre_remove() {
- systemctl stop xendomains.service
- systemctl stop xen-watchdog.service
- systemctl stop xenconsoled.service
- systemctl stop xen-init-dom0.service
- systemctl stop xen-qemu-dom0-disk-backend.service
-
- systemctl disable xendomains.service
- systemctl disable xen-watchdog.service
- systemctl disable xenconsoled.service
- systemctl disable xen-init-dom0.service
- systemctl disable xen-qemu-dom0-disk-backend.service
+ systemctl stop xendomains.service
+ systemctl stop xen-watchdog.service
+ systemctl stop xenconsoled.service
+ systemctl stop xen-init-dom0.service
+ systemctl stop xen-qemu-dom0-disk-backend.service
+
+ systemctl disable xendomains.service
+ systemctl disable xen-watchdog.service
+ systemctl disable xenconsoled.service
+ systemctl disable xen-init-dom0.service
+ systemctl disable xen-qemu-dom0-disk-backend.service
+
+ echo "Be sure to check boot for auto-generated microcode files."
}
post_remove() {
- cat << __EOF__
-===> IMPORTANT NOTICE:
+ cat << __EOF__
In order to finish removing Xen, you will need to modify
-your bootloader configuration files to load your Linux-libre
+your bootloader configuration files to load your Linux
kernel instead of Xen kernel.
__EOF__
}