blob: 5d063dd4ed1e70883c2b0fd42ee11854cf4b821d [file] [log] [blame]
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