[opensuse-arm] accelerate aarch64 qemu build
Hi, I have a working setup for using the accelerated binaries for aarch64 builds in home:adrianSuSE:branches:openSUSE:Factory:ARM also, I am working on accelerated armv6hl. Is there any reason not to apply the current state already in openSUSE:Factory:ARM for aarch64? moin adrian -- Adrian Schroeter email: adrian@suse.de SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am Donnerstag, 12. September 2013, 10:36:46 schrieb Adrian Schröter:
Hi,
I have a working setup for using the accelerated binaries for aarch64 builds in
home:adrianSuSE:branches:openSUSE:Factory:ARM
also, I am working on accelerated armv6hl.
Is there any reason not to apply the current state already in openSUSE:Factory:ARM for aarch64?
okay, armv6hl works also now accelerated. Any objections not to use it in openSUSE:Factory:ARM ? Still missing bits are: * no x86_64 bash on aarch64 yet * reverted "fix msg* to support iconv". This leads to file conflicts and make the package not installable. => this should not be needed, because files are provided by glibc-locale package. If that one is not installed something general is broken. Alex, any comment on that? -- Adrian Schroeter email: adrian@suse.de SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Adrian Schröter
I have a working setup for using the accelerated binaries for aarch64 builds in
home:adrianSuSE:branches:openSUSE:Factory:ARM
Does that actually work? There is no eabi on aarch64, and s/arm/aarch64/. $ osc cat home:adrianSuSE:branches:openSUSE:Factory:ARM qemu-accel qemu-accel-aarch64.spec | grep eabi /usr/arm-suse-linux-gnueabi/bin/{as,ar,ld,ld.bfd,objcopy,objdump} outfile=%buildroot%{our_path}$(echo $binary | sed 's:cross-compiler-tmp::;s:/opt/cross/%{accel_arch}-suse-linux-gnueabi:/usr:') ln -s ../arm-suse-linux-gnueabi/bin/$i %{buildroot}%{our_path}/usr/bin/$i mkdir -p %{buildroot}%{our_path}/usr/%{accel_arch}-suse-linux-gnueabi/ ln -sf ../bin %{buildroot}%{our_path}/usr/%{accel_arch}-suse-linux-gnueabi/bin exec -a /usr/bin/as %{our_path}/usr/bin/as.real -meabi=5 "$@" mv %{buildroot}%{our_path}/usr/arm-suse-linux-gnueabi/bin/ld{,.real} exec -a "$0" %{our_path}/usr/arm-suse-linux-gnueabi/bin/ld.real "$@" exec -a "$0" %{our_path}/usr/arm-suse-linux-gnueabi/bin/ld.real --sysroot=/ "$@" ' > %{buildroot}%{our_path}/usr/arm-suse-linux-gnueabi/bin/ld chmod +x %{buildroot}%{our_path}/usr/arm-suse-linux-gnueabi/bin/ld mkdir -p %{buildroot}/usr/%{accel_arch}-suse-linux-gnueabi ln -sf .. %{buildroot}/usr/%{accel_arch}-suse-linux-gnueabi/usr ln -sf ../../lib/gcc/%{accel_arch}-suse-linux-gnueabi /usr/lib64/gcc/%{accel_arch}-suse-linux-gnueabi || true rm -rf /usr/%{accel_arch}-suse-linux-gnueabi/lib ln -s /lib /usr/%{accel_arch}-suse-linux-gnueabi/lib %dir /usr/%{accel_arch}-suse-linux-gnueabi /usr/%{accel_arch}-suse-linux-gnueabi/usr Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am Donnerstag, 12. September 2013, 11:56:50 schrieb Andreas Schwab:
Adrian Schröter
writes: I have a working setup for using the accelerated binaries for aarch64 builds in
home:adrianSuSE:branches:openSUSE:Factory:ARM
Does that actually work? There is no eabi on aarch64, and s/arm/aarch64/.
hm, I just checked so far that the hello.spec is still compiling. Maybe it didn't use the cross compiler at all;) I will check that. But in any case it will already speed up the setup of the build system and compressing the final rpms.
$ osc cat home:adrianSuSE:branches:openSUSE:Factory:ARM qemu-accel qemu-accel-aarch64.spec | grep eabi /usr/arm-suse-linux-gnueabi/bin/{as,ar,ld,ld.bfd,objcopy,objdump} outfile=%buildroot%{our_path}$(echo $binary | sed 's:cross-compiler-tmp::;s:/opt/cross/%{accel_arch}-suse-linux-gnueabi:/usr: ') ln -s ../arm-suse-linux-gnueabi/bin/$i %{buildroot}%{our_path}/usr/bin/$i mkdir -p %{buildroot}%{our_path}/usr/%{accel_arch}-suse-linux-gnueabi/ ln -sf ../bin %{buildroot}%{our_path}/usr/%{accel_arch}-suse-linux-gnueabi/bin exec -a /usr/bin/as %{our_path}/usr/bin/as.real -meabi=5 "$@" mv %{buildroot}%{our_path}/usr/arm-suse-linux-gnueabi/bin/ld{,.real} exec -a "$0" %{our_path}/usr/arm-suse-linux-gnueabi/bin/ld.real "$@" exec -a "$0" %{our_path}/usr/arm-suse-linux-gnueabi/bin/ld.real --sysroot=/ "$@" ' > %{buildroot}%{our_path}/usr/arm-suse-linux-gnueabi/bin/ld chmod +x %{buildroot}%{our_path}/usr/arm-suse-linux-gnueabi/bin/ld mkdir -p %{buildroot}/usr/%{accel_arch}-suse-linux-gnueabi ln -sf .. %{buildroot}/usr/%{accel_arch}-suse-linux-gnueabi/usr ln -sf ../../lib/gcc/%{accel_arch}-suse-linux-gnueabi /usr/lib64/gcc/%{accel_arch}-suse-linux-gnueabi || true rm -rf /usr/%{accel_arch}-suse-linux-gnueabi/lib ln -s /lib /usr/%{accel_arch}-suse-linux-gnueabi/lib %dir /usr/%{accel_arch}-suse-linux-gnueabi /usr/%{accel_arch}-suse-linux-gnueabi/usr
Andreas.
-- Adrian Schroeter email: adrian@suse.de SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Adrian Schröter
I will check that. But in any case it will already speed up the setup of the build system and compressing the final rpms.
I'd guess that wouldn't help openjdk much. Here most of the time is spent generating the documentation, and there is a pause of output of around 8 hours that triggers the job timeout depending on how fast the build host is. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am Donnerstag, 12. September 2013, 12:42:34 schrieb Andreas Schwab:
Adrian Schröter
writes: I will check that. But in any case it will already speed up the setup of the build system and compressing the final rpms.
I'd guess that wouldn't help openjdk much. Here most of the time is
erm, it helps all packages. openjdk may looses time elsewhere, but even openjdk can get compressed faster at the end. But this is a bit off-topic, no? However, current package in my project is also using cross backends for aarch64 now.
spent generating the documentation, and there is a pause of output of around 8 hours that triggers the job timeout depending on how fast the build host is.
I could of course increase the timeout, but it would be much better if an output could be added (any sign of progress). Otherwise we loose more time because we do not kill packages in infinite loops which block the build host. -- Adrian Schroeter email: adrian@suse.de SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
On 12.09.2013, at 04:39, Adrian Schröter wrote:
Am Donnerstag, 12. September 2013, 10:36:46 schrieb Adrian Schröter:
Hi,
I have a working setup for using the accelerated binaries for aarch64 builds in
home:adrianSuSE:branches:openSUSE:Factory:ARM
also, I am working on accelerated armv6hl.
Is there any reason not to apply the current state already in openSUSE:Factory:ARM for aarch64?
okay, armv6hl works also now accelerated.
Any objections not to use it in openSUSE:Factory:ARM ?
Still missing bits are: * no x86_64 bash on aarch64 yet * reverted "fix msg* to support iconv". This leads to file conflicts and make the package not installable. => this should not be needed, because files are provided by glibc-locale package. If that one is not installed something general is broken. Alex, any comment on that?
I don't remember :). It might have been a hack to satisfy different paths for x86_64 and armv7. Alex -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am Donnerstag, 12. September 2013, 10:26:42 schrieb Alexander Graf:
On 12.09.2013, at 04:39, Adrian Schröter wrote:
Am Donnerstag, 12. September 2013, 10:36:46 schrieb Adrian Schröter:
Hi,
I have a working setup for using the accelerated binaries for aarch64 builds in
home:adrianSuSE:branches:openSUSE:Factory:ARM
also, I am working on accelerated armv6hl.
Is there any reason not to apply the current state already in openSUSE:Factory:ARM for aarch64?
okay, armv6hl works also now accelerated.
Any objections not to use it in openSUSE:Factory:ARM ?
Still missing bits are: * no x86_64 bash on aarch64 yet * reverted "fix msg* to support iconv". This leads to file conflicts
and make the package not installable. => this should not be needed, because files are provided by glibc-locale
package. If that one is not installed something general is broken.
Alex, any comment on that?
I don't remember :). It might have been a hack to satisfy different paths for x86_64 and armv7.
after discussing with Dirk we decided to drop entire iconv/msg* stuff for now. It was a bit flaky in the past. aarch64 accel stuff exists now in openSUSE:Factory:ARM, but it is not yet enabled in prjconf. armv6hl waits that my cross compiler changes get accepted in openSUSE:Factory. (I think creating own compiler packages in openSUSE:Factory:ARM is more messy) -- Adrian Schroeter email: adrian@suse.de SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
aarch64 acceleration is now enabled. armv6hl still waits for new gcc48 I keep an eye on it... adrian Am Donnerstag, 12. September 2013, 17:50:41 schrieb Adrian Schröter:
Am Donnerstag, 12. September 2013, 10:26:42 schrieb Alexander Graf:
On 12.09.2013, at 04:39, Adrian Schröter wrote:
Am Donnerstag, 12. September 2013, 10:36:46 schrieb Adrian Schröter:
Hi,
I have a working setup for using the accelerated binaries for aarch64 builds in
home:adrianSuSE:branches:openSUSE:Factory:ARM
also, I am working on accelerated armv6hl.
Is there any reason not to apply the current state already in openSUSE:Factory:ARM for aarch64?
okay, armv6hl works also now accelerated.
Any objections not to use it in openSUSE:Factory:ARM ?
Still missing bits are: * no x86_64 bash on aarch64 yet * reverted "fix msg* to support iconv". This leads to file conflicts
and make the package not installable. => this should not be needed, because files are provided by glibc-locale
package. If that one is not installed something general is broken.
Alex, any comment on that?
I don't remember :). It might have been a hack to satisfy different paths for x86_64 and armv7.
after discussing with Dirk we decided to drop entire iconv/msg* stuff for now. It was a bit flaky in the past.
aarch64 accel stuff exists now in openSUSE:Factory:ARM, but it is not yet enabled in prjconf.
armv6hl waits that my cross compiler changes get accepted in openSUSE:Factory. (I think creating own compiler packages in openSUSE:Factory:ARM is more messy)
-- Adrian Schroeter email: adrian@suse.de SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Adrian Schröter
aarch64 acceleration is now enabled.
Unfortunately, rpm is broken, %_target_cpu -> x86_64. $ osc rbl openSUSE:Factory:ARM glibc standard aarch64 | grep x86_64 [ 9s] /usr/bin/qemu-kvm -no-reboot -nographic -vga none -net none -cpu host -mem-path /hugetlbfs -kernel /boot/vmlinuz -initrd /boot/initrd -append root=/dev/vda panic=1 quiet no-kvmclock nmi_watchdog=0 rw elevator=noop console=ttyS0 init=/.build/initvm.x86_64 -m 4033 -drive file=/var/cache/obs/worker/root_5/root,if=virtio,cache=none -drive file=/var/cache/obs/worker/root_5/root,if=ide,index=0,cache=none -drive file=/var/cache/obs/worker/root_5/swap,if=virtio,cache=none -smp 4 [ 76s] patching file sysdeps/unix/sysv/linux/x86_64/64/nptl/libowcrypt.abilist [ 76s] patching file sysdeps/unix/sysv/linux/x86_64/x32/nptl/libowcrypt.abilist [ 78s] + /usr/bin/rm -rf /home/abuild/rpmbuild/BUILDROOT/glibc-2.18-3.1.x86_64 [ 78s] ++ dirname /home/abuild/rpmbuild/BUILDROOT/glibc-2.18-3.1.x86_64 [ 78s] + /usr/bin/mkdir /home/abuild/rpmbuild/BUILDROOT/glibc-2.18-3.1.x86_64 [ 79s] + echo '#define CONFHOST "x86_64-suse-linux"' [ 79s] + ../configure --prefix=/usr --libexecdir=/usr/lib --infodir=/usr/share/info --enable-add-ons=nptl,libidn --enable-profile --enable-stackguard-randomization --enable-lock-elision --build=x86_64-suse-linux --host=x86_64-suse-linux --enable-multi-arch --enable-kernel=2.6.32 --with-bugurl=http://bugs.opensuse.org --enable-bind-now --enable-obsolete-rpc [ 85s] checking build system type... x86_64-suse-linux-gnu [ 85s] checking host system type... x86_64-suse-linux-gnu [ 85s] checking for x86_64-suse-linux-gcc... gcc [ 88s] checking for x86_64-suse-linux-readelf... no [ 89s] checking for sysdeps preconfigure fragments... x86_64 checking whether gcc compiles in -mx32 mode by default... no Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
Am Freitag, 13. September 2013, 15:17:23 schrieb Andreas Schwab:
Adrian Schröter
writes: aarch64 acceleration is now enabled.
Unfortunately, rpm is broken, %_target_cpu -> x86_64. ...
now, I do read that :) Yes, that is also what I saw with python. To be save there is now a defined target specification (like we do for armv6 and v7). However, it should not be needed for aarch64 (and it should be reproducable if at all). Will check a bit more deeper next week, but for now the explicit target definition will be enough hopefully. -- Adrian Schroeter email: adrian@suse.de SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: opensuse-arm+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-arm+owner@opensuse.org
participants (3)
-
Adrian Schröter
-
Alexander Graf
-
Andreas Schwab