* Add a linux commands config file, rename the old and create a wrapper
  that loads either of these depending on system.
* Move TEST_BASE_DIR to /var/tmp to not clutter the root directory.
* Special considerations for linux/bsd (tar options, /dev/zvol location etc).
* Don't set TMPDIR on BSD, they want it in the root dir.
* Set MNTTAB=/etc/mtab on Linux and /etc/mnttab on BSD (to be able to
  use another file in Linux).
* Set the env variable LINUX=1 if it's a Linux system.
* Add FORMAT=parted, NEWFS=mke2fs, SHARE=exportfs, UNSHARE=exportfs and KPARTX=kpartx
* Use getent instead of groupmod (which don't exist in Linux) in libtest.shlib:add_group().
* For missing commands in Linux, run 'scripts/missing_cmd'
  + include the command name missing
  + exit with errorcode to make sure test fails.
Missed to export ZVOL_RDEVDIR.
* Replace hardcoded path to /etc/mnttab to MNTTAB from commands.cfg.
* Fix is_physical_device() to recognize devs on Linux.
* In add_group(), groupadd return 9 if group already exists - re-set it to 4
  to avoid to much clutter in the case.
* Use getent instead of groupmod to find if a group exists or not.
* Use LINUX instead of 'uname -a | grep' - faster.
* Add support for Linux
  + by using 'parted' in set_partition() and get_endslice().
  + by using 'exportfs' in setup_nfs_server().
  + by renaming find_disks() to find_disks_bsd() and write find_disks_linux(),
    using a 'wrapper function' to call one of the two.
* Support 'ext2' in ismounted().
* Since we're using exportfs to get shares, the share point is $1, not $2 as with the cmd 'share'.
* Add a test target to the main Makefile.
* Create a test_verify target to make sure it's possible to run the tests.
* Add target to build misc binaries in test/zfs-tests/cmd we need.
Add basic makefiles for linux to compile the binaries required by test..
Make the binaries we need compile on Linux.
Look for ksh for the test cases.
A script using truncate or dd that will emulate 'mkfile' for the tests.
Test case run file for Linux which is a copy of openindiana.run.
+ On Linux, the cli_user/zpool_{iostat,list} tests needs to run as root.
+ Disable the ACL test case. Doesn't work in Linux because we don't have ACLs.
* Create mkfile to create sparse files (add -s)
* Replace hardcoded /dev/zvol/{dsk,rdsk} with ZVOL_[R]DEVDIR.
* Some commands behave differently (tar, cpio, cp, ls, pax etc) on Linux.
* Don't put stuff in /. Use TESTDIR as base.
* NEWFS (defined to be ext2fs on Linux) creates a ext2 filesystem by default.
  So use $NEWFS_DEFAULT_FS instead of hardcoded 'ufs'
* Use /dev/urandom (which is faster) instead of /dev/random.
Don't use hardcoded paths and command, use the variables defined in commands.cfg.
* Remove exact path to kill, true and sudo.
* Add .{ksh,sh} to the command to allow to run without installing.
  + Ditto for verifying file name.
* Include default.cfg at the top instead of the bottom (to get command variable defines etc).
* Remove Don't use hardcoded paths and command, use the variables defined in commands.cfg.
* Some stuff isn't relevant on Linux.
* Don't force set STF_{SUITE,TOOLS}. Use value from env if availible.
* Rename find_disks() to find_disks_zfstest() to not clash with one from lib.
* Since we moved the basic test dir (from / to /var/tmp), make sure they exist.
Unpack the 'upgrade pool' images in /var/tmp/test_results instead of the
previously created pool. If that is using loop files, a kernel crash
will happen on Linux.
* If linux, we need to create the loop partition files with kpartx.
* In Linux we create a ext2 filesystem by default, not ufs.
* If linux, we need to create the loop partition files with kpartx.
* Partition identifier on a device in Linux is 'p[nr]', on BSD it's 's[nr]'.
* In Linux we create a ext2 filesystem by default, not ufs.
* If linux, we need to create the loop partition files with kpartx.
Since ZFS On Linux doesn't have the 'aclmode' property (yet), skip that when testing.
Shell to exec is /bin/sh on _LINUX.
Some tests works on Linux but fail on BSD. Use log_{must,mustnot} appropriately.
Since Linux don't have 'coreadm', we use the procedure used on Linux instead.
+ This means using the /proc filesystem and ulimit.