|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC v2] Add support for Xen ARM guest on FreeBSD
Hello all,At the beginning of the year, I have sent a first RFC to add support for FreeBSD on Xen ARM [1]. The first version was very primitive: hardcoded DTB, only single user-mode support,... Since then, I have improved the support and rebased everything on master. Thanks for the FreeBSD ARM team which did a great job and remove all most of my issues (Userspace hanging, Device Tree Bindings).
Major changes in this new version:
* Add Device Tree support via Linux Boot ABI
* Add zImage support
* Netfront support
* Blkfront fixes
* DOM0 support (separate branch see below)
The former item is very hackish. I was wondering if there is another way
to do it? Or maybe we should support FreeBSD Bootloader in ARM guest?
The patch series is divided in X parts:* #1 - #14: Clean up and bug fixes for Xen. They can be applied without the rest of the series * #15 - #19: Update Xen interface to 4.4 and fix compilation. It's required for ARM.
* #20 - #26: Update Xen code to support ARM
* #27 - #33: Rework the event channel code for supporting ARM.
I will work with Royger to come with a common interface with x86
* #34 - #36: Add support for ARM in Xen code
* #37 - #46: ARM bug fixes and new features. Some of thoses
patches (#37 - #40) could be applied without the rest of the series
* #47 - #48: Add Xen ARM platform
I don't really know how works patch review on Freebsd. Therefore, I
provided the series in git format and file format. All based on Royger's
pvh dom0 work v8:
git://xenbits.xen.org/people/julieng/freebsd.git branch xen-arm-v2 http://xenbits.xen.org/people/julieng/xen-arm-v2.1/As said above, there is a separate branch for DOM0, the patches are not part of this series. The support has been done and demoed for the Arndale (though I've been tested since a while), but there is lots of work to clean up (device tree stuff and hack in the code): git://xenbits.xen.org/people/julieng/freebsd.git branch dom0-arm-v0 http://xenbits.xen.org/people/julieng/dom0-arm-v0 TODO: * Add SMP/PSCI support in FreeBSD. Could be useful other platform too* Only FreeBSD to load anywhere. Currently there is a 2M alignment which require a patch in Xen.
* ELF support in Xen ARM? Not sure it's useful.
Any help, comments, questions are welcomed.
Sincerely yours,
[1] http://lists.freebsd.org/pipermail/freebsd-xen/2014-January/001974.html
============= Instruction to test FreeBSD on Xen on ARM ===========
FreeBSD miss some support to fully boot on Xen ARM. This patch applied
to Xen ARM help FreeBSD to boot correctly for the time being:
* https://patches.linaro.org/32742/
To compile and boot Xen on your board, you can refer to the wiki page:
http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions
The instruction to compile FreeBSD for Xen on ARM:
$ truncate -s 512 xenvm.img
$ sudo mdconfig -f xenvm.img -u0
$ sudo newfs /dev/md0
$ sudo mount /dev/md0 /mnt
$ sudo make TARGET_ARCH=armv6 kernel-toolchain
$ sudo make TARGET_ARCH=armv6 KERNCONF=XENHVM buildkernel
$ sudo make TARGET_ARCH=armv6 buildworld
$ sudo make TARGET_ARCH=armv6 DESTDIR=/mnt installworld distribution
$ echo "/dev/xbd0 / ufs rw 1 1" > /mnt/etc/fstab
$ vi /mnt/etc/ttys (add the line 'xc0 "/usr/libexec/getty Pc" xterm on
secure")
$ sudo umount /mnt $ sudo mdconfig -d u0 Then you can copy the rootfs and the kernel to DOM 0 on your board. To boot the a FreeBSD your will required the following configuration file $ cat freebsd.xl kernel="kernel" memory=64 name="freebsd" vcpus=1 autoballon="off" disk=[ 'phy:/dev/loop0,xvda,w' ] $ losetup /dev/loop0 xenvm.img $ xl create freebsd.xl $ xl console freebsd -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |