05-17-2018, 07:05 PM
(This post was last modified: 05-18-2018, 03:46 AM by pfeerick.
Edit Reason: forum quote mangling
)
Hi Tumbleweed,I haven\'t tried Xen on Rock64, but I did run Xen on Pine64 successfully in the past.The mkimage step below is only required if you boot Xen from U-Boot. If you boot Xen from extlinux or another bootloader, it will actually cause troubles. Instead, to simplify the boot sequence, I would boot Xen directly from EFI, skipping extlinux completely. To do that, you need to copy xen.efi to the FAT partition, and write a xen.cfg config file. You also need to copy the Dom0 kernel, initrd and device tree to the fat partition. For instance, see this guide for booting Xen on ARM on QEMU:https://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions/qemu-system-aarch64There are a few QEMU specific steps in there, but it also contains the steps to boot Xen directly from UEFI including an example xen.cfg.It might also be possible to boot Xen from extlinux but I don't have experience with that. I recommend booting from UEFI first. Cheers,Stefano
(05-13-2018, 09:03 PM)tumbleweed Wrote: Hello,
I'm trying to install the Xen hypervisor on rock64, starting with the info at Xen ARM with Virtualization.
Here are the steps I followed so far:
As far as I know, nobody has written up a guide to doing this, on any RK3328 board, and it's my first time trying.
- Installed a minimal debian stretch image on the rock64 mmc (thanks @ayufan !)
- Built Xen on rock64 (for XEN_TARGET_ARCH=arm64)
- Used mkimage to prep xen for uboot: mkimage -A arm -C none -T kernel -a 0x00800800 -e 0x00800800 -d dist/install/boot/xen xen-uImage
- Modified //boot/efi/extlinux/extlinux.conf to add a custom configuration that loads the xen kernel (xen-uImage) using the same dtb that came with the stretch image (see config code below)
- Reboot with serial console attached, select my custom extlinux configuration
- rock64 hangs (serial output stops) at "Starting kernel ..."
Anyone have suggestions on what I might try next to get past this hanging problem?
Code:label kernel-xen
kernel /xen-uImage
initrd /initrd.img
fdt /dtb
append earlyprintk=uart8250-32bit,0xff130000 rw root=LABEL=linux-root rootwait rootfstype=ext4 panic=10 init=/sbin/init coherent_pool=1M ethaddr=${ethaddr} eth1addr=${eth1addr} serial=${serial#} cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1