| The armhf_root_fs.tar.gz file was build using the following git commits: |
| |
| e2fsprogs v1.43.6-85-g7595699d0 (Wed, 6 Sep 2017 22:04:14 -0400) |
| fio fio-3.2 (Fri, 3 Nov 2017 15:23:49 -0600) |
| keyutils v1.5.10 (Wed, 15 Mar 2017 20:57:15 +0000) |
| quota 4d81e8b (Mon, 16 Oct 2017 09:42:44 +0200) |
| xfsprogs v4.14.0-rc2-1-g19ca9b0b (Mon, 27 Nov 2017 10:56:21 -0600) |
| xfstests-bld ff7b8c2 (Wed, 13 Dec 2017 21:24:24 -0500) |
| xfstests linux-v3.8-1832-gafeee2d9 (Sun, 31 Dec 2017 13:35:28 -0500) |
| |
| Local changes to xfstests can be found at: |
| |
| https://github.com/tytso/xfstests release-2017-12-31-afeee2d9 |
| |
| The URL's for the other git repositories and scripts to download the |
| sources from those repositories can be found in xfstests-bld's |
| scripts. |
| |
| ---- |
| |
| Here's a sketch of how to use it: |
| |
| A) Set up a USB attached SSD such that it has at least 5 partitions, |
| each of them 5GB each. (You will need to format partitions #1, #2, and |
| #5 using "mke2fs -t ext4".) |
| |
| * Partition #1 --- will contain the chroot directory (unpack root_fs.tar.gz) |
| * Partition #2 --- will contain a "normal" formatted ext4 file system |
| * Partition #3 --- will be used as a scratch partition |
| (will be formatted multiple times, by individual tests) |
| * Partition #4 --- will be used to test non-standard ext4 file systems |
| (such as ext4 encryption; formatted by runtests.sh) |
| * Partition #5 --- will contain the test results (will be mounted on /results) |
| |
| Note: you will need to adjust /root/test-config so that settings for |
| VDB, VDC, VDD, and VDG point at partition #2, #3, #4, and #5 |
| respectively. |
| |
| B) Attach the SSD to the Android device with a USB C connector using a |
| USB C hub with power delivery. (Anker makes a good one which is |
| available on Amazon.) |
| |
| C) Build and install a test kernel which has SELinux in permissive mode |
| |
| D) Mount the chroot partition on the USB attached SSD on /chroot, and |
| then set it up as follows: |
| |
| mount -t proc proc /chroot/proc |
| mount -t sysfs sysfs /chroot/sys |
| mount --bind /dev /chroot/dev |
| mount /dev/partition#5 /chroot/results |
| |
| (note, if you don't have a mount with --bind support, you can also use |
| tar to copy in a /dev into the chroot) |
| |
| E) To run the tests in the chroot: |
| chroot /chroot /bin/bash |
| cd /root |
| . test-env |
| FSTESTCFG=4k,encrypt |
| FSTESTSET="-g auto" |
| ./runtests.sh >& /results/runtests.log |
| |
| |
| -------------------------------- |
| |
| The armhf_root_fs.tar.gz file was generated as follows: |
| |
| 1. Copy the xfstests-bld git tree to a debian build host running the |
| armhf platform. |
| |
| 2. Set up a Debian Stable (Jessie) build environment and enter it. For |
| example, if you are doing this on a Debian build server, assuming you |
| are a Debian developer with access to the Debian build architecture (I |
| was using harris.debian.org) |
| |
| schroot -b -c jessie -n tytso-jessie |
| dd-schroot-cmd -c tytso-jessie apt-get install build-essential \ |
| autoconf autoconf2.64 automake libgdbm-dev libtool-bin \ |
| qemu-utils gettext e2fslibs-dev git debootstrap \ |
| fakechroot libdbus-1-3 |
| schroot -r -c tytso-jessie |
| |
| Alternatively, make sure the build system is installed with Debian |
| Stable (e.g., Jessie), and install the following packages: |
| |
| apt-get install build-essential autoconf autoconf2.64 automake \ |
| libgdbm-dev libtool-bin qemu-utils gettext e2fslibs-dev git \ |
| debootstrap fakechroot libdbus-1-3 |
| |
| 3. Build the xfstests.tar.gz file (which contains the actual xfstests binaries built for armhf) |
| |
| cd xfstests-bld |
| make |
| make tarball |
| |
| 4. Create the root_fs.tar.gz chroot environment |
| |
| cd kvm-xfstests/test-appliance |
| ./gen-image --out-tar |
| |
| 5. If you are on a Debian build server, clean up after yourself. |
| |
| schroot -e -c tytso-jessie |
| rm -rf /home/tytso/xfstests-bld |
| |