= `+image.bin+`

As described in the comment in `+functions:_arm_zimage_cat()+`, we
require that the image file is at least 128KiB when compressed; real
kernels will obviously satisfy this, but would be bulky and present
license-probems to bundle as testcases. Instead, let’s use a copy of
Mary Shelly’s Frankenstein (which is in the public domain,
https://www.gutenberg.org/ebooks/84.txt.utf-8[courtesy of Project
Gutenberg]). This is about 440KiB uncompressed, and 140KiB when
compressed with lzma or xz (the best compression ratios of all the
algorithms).

= `+linux-*.zimage.bin+`

For the compressed versions, I used the script
https://gitlab.archlinux.org/lukeshu/gen-zimage to use the Linux
kernel’s build system across a variety of versions and configurations to
build ARM zImage files with the above `+image.bin+` as a payload. It
uses a custom `+objcopy+` that replaces all machine code with garbage
(the string 0xDEADBEEF again and again), as to

* avoid license infringement; the interesting thing for these tests is
  the shape of the file, not the code in it

* make it easier to verify that nothing unsavory is being smuggled in
  these files.

I have not included all of the zImage files that I generated (44,585),
just what I feel to be a representative subset (though I did test
against all 45k), a matrix of:

* kernel versions:
** v4.15 (the first version we support)
** v6.8 (the most recent version at the time of this writing)
** v4.17 (because unlike v4.15 and v6.8 these have multiple
   sub-0x20000 values early in the GOT (except for the lz4 files))

* each compression method (gzip, lz4, lzma, lzo, xz)

* a configuration that captures each of:
** zbootrom builds (for old-school ARMv4 StrongARM machines) (because
   they have a non-zero `+CONFIG_ZBOOT_ROM_TEXT+`)
** each endianness:
*** LE (with and without thumb2)
*** BE-32
*** BE-8 (with and without thumb2)
** ARMv4t efistub builds that merge bootloader args with the args from
   device tree (because of all the kernels I built, these have the
   largest `+input_data_addr+`)
