Home | History | Annotate | Download | only in qemu_multiarch_testing
      1 How to test strace build using Aboriginal Linux's system images.
      2 
      3 * Put a autoconf'ed strace source tree into hdc.dir/strace dir.
      4 For example, this should work:
      5 git clone git://strace.git.sourceforge.net/gitroot/strace/strace &&
      6 cd strace && ./bootstrap
      7 
      8 * Run ./make-hdc-img.sh: it will generate ext2 image file,
      9 hdc.img, from hdc.dir/* data. This requires root for loop mount.
     10 
     11 * Download and unpack, or build from source and unpack
     12 one or more system-image-ARCH directories into this directory
     13 (the one which contains this README).
     14 
     15 * Run: ./parallel-build-hdc-img.sh system-image-DIR1 system-image-DIR2...
     16 (background it if you don't want to see "Waiting to finish" thing).
     17 This runs a strace build in several qemu virtual machines in parallel.
     18 
     19 * Observe system-image-*.log file(s) with growing log of strace build.
     20 
     21 There is no automated detection of errors for now: you need to examine
     22 logs yourself.
     23 
     24 For me, the following system images worked (tests passed/skipped/failed):
     25 system-image-armv4l  - 14/14/1 (failed: stat32-v.test - wrong stat decoding, sun_path.test - libc error)
     26 system-image-armv4tl - 15/14/0
     27 system-image-armv5l  - 15/14/0
     28 system-image-armv6l  - 15/14/0
     29 system-image-i486    - 14/14/1 (failed: count.test - grep segfault)
     30 system-image-i586    - 14/14/1 (failed: count.test - grep segfault)
     31 system-image-i686    - 14/14/1 (failed: count.test - grep segfault)
     32 system-image-mips    - 15/14/0
     33 system-image-mipsel  - 15/14/0
     34 system-image-powerpc - 13/14/2 (failed: ipc_sem.test - ipc_sem segfault)
     35 system-image-sparc   - 13/14/2 (failed: ipc_sem.test - ipc_sem segfault)
     36 system-image-x86_64  - 14/15/0
     37 
     38 And these did not:
     39 system-image-m68k    - qemu-system-m68k: -M q800: Unsupported machine type
     40 system-image-mips64  - init dies before reaching /mnt/init
     41 system-image-sh4     - hdc does not mount (no support for 2 disks)
     42 
     43 
     44 To debug a build problem in one of sandboxes, change keep_hdb
     45 to "keep_hdb=true" in parallel-build-hdc-img.sh
     46 
     47 This preserves system-image-DIR1/hdb.img after the build,
     48 so you can go into system-image-DIR1 and run
     49 "HDB=hdb.img ./dev-environment.sh" to debug the problem.
     50