On Freitag, 29. November 2019, 23:30:50 CET Jan Engelhardt wrote:
On Friday 2019-11-29 14:25, Adrian Schröter wrote:
2) Building for foreign architectures using qemu system emulator.
osc is offering now to use any hardware architecture. (Thanks a lot Guillaume for the initial implementation of that code!). For example
osc build --vm-type=qemu openSUSE_Factory_ARM aarch64
will build for aarch64 on your x86_64 workstation for example. But it should work for any architecture. The downside (compared to our former qemu user land emulation) is that it works way slower due to emulation overhead and it works currently only in projects where a kernel-obs-build is defined.
logging output to /var/tmp/build-root/standard-riscv64/.build.log... [ 0s] Using BUILD_ROOT=/var/tmp/build-root/standard-riscv64/.mount [ 0s] Using BUILD_ARCH=riscv64 [ 0s] Doing qemu build in /var/tmp/build-root/standard-riscv64/img [ 0s] [ 0s] [ 0s] fj.lh started "build libHX.spec" at Fri Nov 29 22:20:25 UTC 2019. [ 0s] [ 0s] [ 0s] processing recipe /tmp/openSUSE:Factory:RISCV/libHX/libHX.spec ... [ 0s] running changelog2spec --target rpm --file /tmp/openSUSE:Factory:RISCV/libHX/libHX.spec [ 0s] init_buildsystem --configdir /usr/lib/build/configs --cachedir /var/cache/build --prepare --rpmlist /tmp/rpmlist.cxvdea89 /tmp/openSUSE:Factory:RISCV/libHX/libHX.sp. [ 0s] copying packages... [ 1s] reordering...done [ 1s] Warning: cross compile not possible due to missing static binaries. please install build-initvm package for that purpose. [ 1s] check that the right architecture is available for your build host, you need initvm.x86_64 for this one. [ 1s] booting qemu... [ 1s] -nodefaults -no-reboot -nographic -vga none -runas qemu -net none -kernel /var/tmp/build-root/standard-riscv64/.mount/boot/kernel -initrd /var/tmp/build-root/standa8 [ 1s] /usr/lib/build/build-vm-qemu: line 187: -nodefaults: command not found [ 1s] No buildstatus set, either the base system is broken (kernel/initrd/udev/glibc/bash/perl) [ 1s] or the build host has a kernel or hardware problem...
The "standard" repository of openSUSE:Factory:RISCV is setup for user land qemu emulator. This is conflicting, so you need to use "native" repository. However, I noticed there are also some pieces still missing for RISCV in osc & build. And we need to have riscv enabled in our qemu package. Will check with Andreas Schwab later today hopefully about this. -- Adrian Schroeter <adrian@suse.de> Build Infrastructure Project Manager SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany (HRB 247165, AG München), Geschäftsführer: Felix Imendörffer -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org