strace/qemu_multiarch_testing
..
hdc.dir
.gitignore
make-hdc-img.sh
parallel-build-hdc-img.sh
README

How to test strace build using Aboriginal Linux's system images.

* Put a autoconf'ed strace source tree into hdc.dir/strace dir.
For example, this should work:
git clone https://github.com/strace/strace && cd strace && ./bootstrap

* Run ./make-hdc-img.sh: it will generate ext2 image file,
hdc.img, from hdc.dir/* data. This requires root for loop mount.

* Download and unpack, or build from source and unpack
one or more system-image-ARCH directories into this directory
(the one which contains this README).

* Run: ./parallel-build-hdc-img.sh system-image-DIR1 system-image-DIR2...
(background it if you don't want to see "Waiting to finish" thing).
This runs a strace build in several qemu virtual machines in parallel.

* Observe system-image-*.log file(s) with growing log of strace build.

There is no automated detection of errors for now: you need to examine
logs yourself.

For me, the following system images worked (tests passed/skipped/failed):
system-image-armv4l  - 14/14/1 (failed: stat32-v.test - wrong stat decoding, sun_path.test - libc error)
system-image-armv4tl - 15/14/0
system-image-armv5l  - 15/14/0
system-image-armv6l  - 15/14/0
system-image-i486    - 14/14/1 (failed: count.test - grep segfault)
system-image-i586    - 14/14/1 (failed: count.test - grep segfault)
system-image-i686    - 14/14/1 (failed: count.test - grep segfault)
system-image-mips    - 15/14/0
system-image-mipsel  - 15/14/0
system-image-powerpc - 13/14/2 (failed: ipc_sem.test - ipc_sem segfault)
system-image-sparc   - 13/14/2 (failed: ipc_sem.test - ipc_sem segfault)
system-image-x86_64  - 14/15/0

And these did not:
system-image-m68k    - qemu-system-m68k: -M q800: Unsupported machine type
system-image-mips64  - init dies before reaching /mnt/init
system-image-sh4     - hdc does not mount (no support for 2 disks)


To debug a build problem in one of sandboxes, change keep_hdb
to "keep_hdb=true" in parallel-build-hdc-img.sh

This preserves system-image-DIR1/hdb.img after the build,
so you can go into system-image-DIR1 and run
"HDB=hdb.img ./dev-environment.sh" to debug the problem.