mirror of https://github.com/archzfs/archzfs
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
2.0 KiB
53 lines
2.0 KiB
9 years ago
|
=========================================
|
||
|
Test archzfs-qemu-lts-test-01-root-bootfs
|
||
|
=========================================
|
||
|
|
||
|
Tests all the steps required for archzfs-linux-lts to be used as a boot filesystem.
|
||
|
|
||
|
--------
|
||
|
Overview
|
||
|
--------
|
||
|
|
||
|
Builds a custom archiso with the linux-lts kernel used by packer to create a Qemu base image. Syslinux is used as the boot
|
||
|
loader.
|
||
|
|
||
|
---
|
||
|
How
|
||
|
---
|
||
|
|
||
|
1. The archzfs-linux-lts packages are built for the linux-lts kernel and added to a package repository named "archzfs-testing".
|
||
|
|
||
|
#. The archzfs-testing repo is shared over NFS.
|
||
|
|
||
|
#. A custom archiso is built that boots into the linux-lts kernel. See `Archiso customization`_
|
||
|
|
||
|
#. The test files are compressed into a tar archive.
|
||
|
|
||
|
#. Packer is used to build a qemu base image using the custom archiso.
|
||
|
|
||
|
#. `setup.sh` is ran in the archiso to install arch on ZFS.
|
||
|
|
||
|
#. After installation of Arch on ZFS, the VM is rebooted and packer finalizes the base image.
|
||
|
|
||
|
#. The qemu base image created by packer is booted, if the boot is successful, the test is considered passed.
|
||
|
|
||
|
---------------------
|
||
|
Archiso customization
|
||
|
---------------------
|
||
|
|
||
|
At the time of putting this test together (2016.09.03), there was no stable ZFSonLinux release that supported kernel 4.7 and
|
||
|
the archiso release at the time shipped with kernel 4.7. In order to install Arch on ZFS for test, I needed an archiso with
|
||
|
the linux-lts kernel. Thus, the archzfs-archiso was born!
|
||
|
|
||
|
The archiso is built by `test.sh` and used by packer to create a Qemu base image with ZFS as the root filesystem for testing.
|
||
|
|
||
|
The archiso comes with a bunch of features that are not needed in test, so they have been stripped out or modified. This
|
||
|
includes:
|
||
|
|
||
|
* boot straight into the linux-lts kernel to speed up the testing cycle.
|
||
|
* ZFS does not support arch-i686, so it was stripped.
|
||
|
* iPXE was not needed.
|
||
|
|
||
|
The archiso sources are copied from `/usr/share/archiso/configs/releng` after installation of the "archiso" package. The
|
||
|
modifed code is contained in the `testing/archiso-linux-lts` directory of this project.
|