source: MondoRescue/branches/3.3/mindi-busybox/qemu_multiarch_testing/README@ 3910

Last change on this file since 3910 was 3621, checked in by Bruno Cornec, 10 years ago

New 3?3 banch for incorporation of latest busybox 1.25. Changing minor version to handle potential incompatibilities.

File size: 2.6 KB
Line 
1How to test build using Aboriginal Linux system images.
2
3* Put a source tree into hdc.dir/.
4For example, this should work:
5git clone git://busybox.net/var/lib/git/busybox.git
6
7* Run ./make-hdc-img.sh: it will generate ext2 image file,
8hdc.img, from hdc.dir/* data. This requires root for loop mount.
9
10* Download and unpack, or build from source and unpack
11one or more system-image-ARCH directories into this directory
12(the one which contains this README).
13
14* Install qemu-system-ARCH. The arch names may differ from
15system-image-ARCH: for example, all ARM flavors (armv4l...armv6l)
16are served by the same qemu - qemu-system-arm. On my machine,
17I needed to install qemu-system-{arm,mips,x86,ppc,sparc,m68k,sh4}.
18
19* Run: ./parallel-build-hdc-img.sh system-image-DIR1 system-image-DIR2...
20(background it if you don't want to see "Waiting to finish" thing).
21This runs build in several qemu virtual machines in parallel.
22
23* Observe system-image-*.log file(s) with growing log of the build.
24
25There is no automated detection of errors for now: you need to examine
26logs yourself.
27
28Log files will also contain uuencoded (or if all else fails, od -tx1'ed)
29binary, if build was successful.
30
31To debug a build problem in one of the sandboxes, change keep_hdb
32to "keep_hdb=true" in parallel-build-hdc-img.sh
33- this preserves system-image-ARCH/hdb.img after the build,
34so you can go into system-image-ARCH and run
35"HDB=hdb.img ./dev-environment.sh" to debug the problem.
36
37You can also run "./parallel-build-hdc-img.sh -s system-image-ARCH"
38- single mode, output is to screen and serial input is from keyboard.
39
40If hdc.dir/bin/busybox-$ARCH exists, it will be used during build
41to supply additional tools (dir with all applets appended to $PATH).
42
43For me, the following system images worked:
44system-image-armv4l
45system-image-armv4tl
46system-image-armv5l
47 od is buggy on arm*:
48 # echo Hello-hello-hello-hello | od -b
49 0000000 110 145 154 154 157 055 150 145 154 154 157 055 150 145 154 154
50 0000000 157 055 150 145 154 154 157 012 <= WRONG OFFSET
51 0000000 (can also be even more bogus like 17767153361)
52system-image-i686
53system-image-mips - od is buggy
54system-image-mipsel - od is buggy
55system-image-x86_64
56system-image-powerpc - qemu 1.2.2 didn't work, 2.4.0 worked; od is buggy
57system-image-sparc - qemu 1.2.2 didn't work, 2.4.0 worked; od is buggy
58
59And these did not:
60system-image-armv6l - hang on "Uncompressing Linux... done, booting the kernel"
61system-image-m68k - my qemu doesn't like "-M q800"
62system-image-mips64 - init dies "Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000a"
63system-image-sh4 - qemu segfaults early in kernel boot
Note: See TracBrowser for help on using the repository browser.