help with openbsd armv7 as domU

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

help with openbsd armv7 as domU

s_graf
I am trying to run openbsd armv7 as a domU on an orangepi one (Allwinner
H3).
I have run openbsd on this hardware for many months.
I have been able to load xen dom0 on the hardware by building an armbian
system with the xen options.

I was hoping to load the bsd ram kernel (bsd.rd) as a domU.
This kernel runs entirely in memory and so I thought it might be a good
first step.

With the cfg below I get an error " Unable to find arch FDT info for
xen-3.0-unknown",
which I do not know how to handle. The start-up console log is below.

When openbsd starts natively on this system u-boot runs bootarm.efi.
Is there a way to set this up in a domU cfg?

*** cfg for bsd.rd

root@orangepione:/etc/xen# more openbsd.cfg

name = "opensdrd"
kernel = "/home/sysadmin/bsd.rd"
memory = 256
vcpus = 1

root@orangepione:/etc/xen#

*** Startup capture:

root@orangepione:/etc/xen# xl -v create openbsd.cfg -c

Parsing config from openbsd.cfg
domainbuilder: detail: xc_dom_allocate: cmdline="(null)", features="(null)"
domainbuilder: detail: xc_dom_kernel_file: filename="/home/sysadmin/bsd.rd"
domainbuilder: detail: xc_dom_malloc_filemap    : 11593 kB
domainbuilder: detail: xc_dom_boot_xen_init: ver 4.8, caps xen-3.0-armv7l
domainbuilder: detail: xc_dom_rambase_init: RAM starts at 40000
domainbuilder: detail: xc_dom_parse_image: called
domainbuilder: detail: xc_dom_find_loader: trying multiboot-binary loader
...
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying Linux zImage (ARM64)
loader ...
domainbuilder: detail: xc_dom_probe_zimage64_kernel: kernel is not an arm64
Image
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying Linux zImage (ARM32)
loader ...
domainbuilder: detail: xc_dom_probe_zimage32_kernel: kernel is not an arm32
zImage
domainbuilder: detail: loader probe failed
domainbuilder: detail: xc_dom_find_loader: trying ELF-generic loader ...
domainbuilder: detail: loader probe OK
xc: detail: ELF: phdr: paddr=0xc0300000 memsz=0x2a6f64
xc: detail: ELF: phdr: paddr=0xc05a7000 memsz=0x6e618
xc: detail: ELF: phdr: paddr=0xc0616000 memsz=0x81bf60
xc: detail: ELF: memory: 0xc0300000 -> 0xc0e31f60
xc: detail: ELF: VIRT_BASE unset, using 0
xc: detail: ELF_PADDR_OFFSET unset, using 0
xc: detail: ELF: addresses:
xc: detail:     virt_base        = 0x0
xc: detail:     elf_paddr_offset = 0x0
xc: detail:     virt_offset      = 0x0
xc: detail:     virt_kstart      = 0xc0300000
xc: detail:     virt_kend        = 0xc0e31f60
xc: detail:     virt_entry       = 0xc0300000
xc: detail:     p2m_base         = 0xffffffffffffffff
domainbuilder: detail: xc_dom_parse_elf_kernel: xen-3.0-unknown: 0xc0300000
-> 0xc0e31f60
libxl: error: libxl_arm.c:603:get_arch_info: Unable to find arch FDT info
for xen-3.0-unknown
libxl: error: libxl_dom.c:642:libxl__build_dom:
libxl__arch_domain_init_hw_description failed: No such file or directory
domainbuilder: detail: xc_dom_release: called
libxl: error: libxl_create.c:1223:domcreate_rebuild_done: cannot (re-)build
domain: -3
libxl: error: libxl.c:1575:libxl__destroy_domid: non-existant domain 5
libxl: error: libxl.c:1534:domain_destroy_callback: unable to destroy guest
with domid 5
libxl: error: libxl.c:1463:domain_destroy_cb: destruction of domain 5 failed

root@orangepione:/etc/xen#


*** native boot of openbsd

U-Boot 2018.03 (Apr 21 2018 - 02:52:10 -0600) Allwinner Technology

CPU:   Allwinner H3 (SUN8I 1680)
Model: Xunlong Orange Pi One
DRAM:  512 MiB
MMC:   SUNXI SD/MMC: 0
Loading Environment from FAT... *** Warning - bad CRC, using default
environment

Failed (-5)
Loading Environment from MMC... *** Warning - bad CRC, using default
environment

Failed (-5)
In:    serial
Out:   serial
Err:   serial
Net:   phy interface0
eth0: ethernet@1c30000
starting USB...
USB0:   USB EHCI 1.00
USB1:   USB OHCI 1.0
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
16696 bytes read in 23 ms (708 KiB/s)
Found EFI removable media binary efi/boot/bootarm.efi
Scanning disks on usb...
Disk usb0 not ready
Disk usb1 not ready
Disk usb2 not ready
Disk usb3 not ready
Scanning disks on mmc...
MMC Device 1 not found
MMC Device 2 not found
MMC Device 3 not found
Found 3 disks
89348 bytes read in 39 ms (2.2 MiB/s)
## Starting EFI application at 42000000 ...
>> OpenBSD/armv7 BOOTARM 1.1
boot>

*** Keyboard entry of kernel

boot>boot bsd.rd
sd0: getdisklabel: no disk label
booting sd0a:bsd.rd: sd0: getdisklabel: no disk label
2781028+452120+8055196+447940 [187370+107+206496+181684]=0xbbea20

OpenBSD/armv7 booting ...
arg0 0xc0ebea20 arg1 0x0 arg2 0x48000000
Allocating page tables
freestart = 0x40ebf000, free_pages = 127297 (0x0001f141)
IRQ stack: p0x40eed000 v0xc0eed000
ABT stack: p0x40eee000 v0xc0eee000
UND stack: p0x40eef000 v0xc0eef000
SVC stack: p0x40ef0000 v0xc0ef0000
Creating L1 page table at 0x40ec0000
Mapping kernel
Constructing L2 page tables
undefined page pmap board type: 0
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2018 OpenBSD. All rights reserved.
https://www.OpenBSD.org

OpenBSD 6.4-beta (RAMDISK) #38: Thu Aug 23 19:39:32 MDT 2018
    [hidden email]:/usr/src/sys/arch/armv7/compile/RAMDISK
real mem  = 536870912 (512MB)
avail mem = 510832640 (487MB)
mainbus0 at root: Xunlong Orange Pi One
cpu0 at mainbus0: ARM Cortex-A7 r0p5 (ARMv7)
cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled
cpu0: 32KB(32b/l,2way) I-cache, 32KB(64b/l,4way) wr-back D-cache
cortex0 at mainbus0
psci0 at mainbus0: PSCI 0.0
sxiccmu0 at mainbus0
simplebus0 at mainbus0: "soc"
syscon0 at simplebus0: "syscon"
sxiccmu1 at simplebus0
sxipio0 at simplebus0: 94 pins
ampintc0 at simplebus0 nirq 160, ncpu 4: "interrupt-controller"
sxiccmu2 at simplebus0
sxipio1 at simplebus0: 12 pins
sximmc0 at simplebus0
sdmmc0 at sximmc0: 4-bit, sd high-speed, mmc high-speed, dma
ehci0 at simplebus0
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Generic EHCI root hub" rev
2.00/1.00 addr 1
ehci1 at simplebus0
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 configuration 1 interface 0 "Generic EHCI root hub" rev
2.00/1.00 addr 1
dwxe0 at simplebus0: address 02:81:b1:07:76:5e
ukphy0 at dwxe0 phy 1: Generic IEEE 802.3u media interface, rev. 0: OUI
0x001105, model 0x0000
sxidog0 at simplebus0
com0 at simplebus0: ns16550, no working fifo
com0: console
sxitwi0 at simplebus0
iic0 at sxitwi0
"bosch,bme280" at iic0 addr 0x76 not configured
sxitwi1 at simplebus0
iic1 at sxitwi1
"bosch,bme280" at iic1 addr 0x77 not configured
sxirtc0 at simplebus0
gpio0 at sxipio0: 32 pins
gpio1 at sxipio0: 32 pins
gpio2 at sxipio0: 32 pins
gpio3 at sxipio0: 32 pins
gpio4 at sxipio0: 32 pins
gpio5 at sxipio0: 32 pins
gpio6 at sxipio0: 32 pins
gpio7 at sxipio1: 32 pins
agtimer0 at mainbus0: tick rate 24000 KHz
scsibus0 at sdmmc0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <SD/MMC, SC16G, 0080> SCSI2 0/direct removable
sd0: 15193MB, 512 bytes/sector, 31116288 sectors
softraid0 at root
scsibus1 at softraid0: 256 targets
bootfile: sd0a:/bsd
boot device: sd0
root on rd0a swap on rd0b dump on rd0b
WARNING: preposterous clock chip time
WARNING: CHECK AND RESET THE DATE!
erase ^?, werase ^W, kill ^U, intr ^C, status ^T

Welcome to the OpenBSD/armv7 6.4 installation program.
(I)nstall, (U)pgrade, (A)utoinstall or (S)hell?


_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xenproject.org/mailman/listinfo/xen-users
Reply | Threaded
Open this post in threaded view
|

Re: help with openbsd armv7 as domU

Julien Grall-3
Hello,

On 29/12/2018 22:56, [hidden email] wrote:

> I am trying to run openbsd armv7 as a domU on an orangepi one (Allwinner
> H3).
> I have run openbsd on this hardware for many months.
> I have been able to load xen dom0 on the hardware by building an armbian
> system with the xen options.
>
> I was hoping to load the bsd ram kernel (bsd.rd) as a domU.
> This kernel runs entirely in memory and so I thought it might be a good
> first step.
>
> With the cfg below I get an error " Unable to find arch FDT info for
> xen-3.0-unknown",
> which I do not know how to handle. The start-up console log is below.
>
> When openbsd starts natively on this system u-boot runs bootarm.efi.
> Is there a way to set this up in a domU cfg?

ELF images are not supported by Xen Arm at the moment. However, you still need
some support in the OS in order to boot as Xen Arm guest. I am not aware of such
support in OpenBSD today (but I might be wrong).

I can provide pointers how to port OpenBSD to Xen Arm Guest if you are interested.

Cheers,

--
Julien Grall

_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xenproject.org/mailman/listinfo/xen-users
Reply | Threaded
Open this post in threaded view
|

Re: help with openbsd armv7 as domU

s_graf
In reply to this post by s_graf
Thank you for your reply.
Yes I am definitely interested.  I think openbsd has support for xen on arm.  Kernel support is built into other openbsd architectures and I can see the xen options in the arm build configs.

https://man.openbsd.org/armv7/xen.4

I have both orangepi one (H3, 32 bit) and orangepi pc2 (H3, 64 bit) systems to work with.

Stephen Graf

-----Original Message-----
From: Xen-users <[hidden email]> On Behalf Of Julien Grall
Sent: January 14, 2019 8:44 AM
To: [hidden email]; [hidden email]
Subject: Re: [Xen-users] help with openbsd armv7 as domU

Hello,

On 29/12/2018 22:56, [hidden email] wrote:

> I am trying to run openbsd armv7 as a domU on an orangepi one (Allwinner
> H3).
> I have run openbsd on this hardware for many months.
> I have been able to load xen dom0 on the hardware by building an armbian
> system with the xen options.
>
> I was hoping to load the bsd ram kernel (bsd.rd) as a domU.
> This kernel runs entirely in memory and so I thought it might be a good
> first step.
>
> With the cfg below I get an error " Unable to find arch FDT info for
> xen-3.0-unknown",
> which I do not know how to handle. The start-up console log is below.
>
> When openbsd starts natively on this system u-boot runs bootarm.efi.
> Is there a way to set this up in a domU cfg?

ELF images are not supported by Xen Arm at the moment. However, you still need
some support in the OS in order to boot as Xen Arm guest. I am not aware of such
support in OpenBSD today (but I might be wrong).

I can provide pointers how to port OpenBSD to Xen Arm Guest if you are interested.

Cheers,

--
Julien Grall

_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xenproject.org/mailman/listinfo/xen-users


_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xenproject.org/mailman/listinfo/xen-users
Reply | Threaded
Open this post in threaded view
|

Re: help with openbsd armv7 as domU

Julien Grall-3
Hi Stephen,

On 14/01/2019 19:10, [hidden email] wrote:
> Thank you for your reply.
> Yes I am definitely interested.  I think openbsd has support for xen on arm.  Kernel support is built into other openbsd architectures and I can see the xen options in the arm build configs.
>
> https://man.openbsd.org/armv7/xen.4

This seem to be a copy of the x86 version because HVM does not exist on Arm. I
looked at the source code and can't find any evidence of Arm support. Actually,
you should get a build error as src/sys/dev/pv/xenreg.h does not implement
hypercall for Arm.

It might be worth asking on their mailing list if someone is working on the
support. Otherwise, the port should not feasible as the requirement for Xen is
pretty limited. See [1] for some insights how to do it.

Best regards,

[1] https://xenbits.xen.org/people/julieng/bsdcan-2015.pdf

--
Julien Grall

_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xenproject.org/mailman/listinfo/xen-users