ostree/tests
William Manley 720e2ec9bc Add support for devicetree files alongside the kernel and initramfs
Much like the (optional) initramfs at
`/usr/lib/ostree-boot/initramfs-<SHA256>` or
`/usr/lib/modules/$kver/initramfs` you can now optionally include a
flattened devicetree (.dtb) file alongside the kernel at
`/usr/lib/ostree-boot/devicetree-<SHA256>` or
`/usr/lib/modules/$kver/devicetree`.

This is useful for embedded ARM systems which need the devicetree file
loaded by the bootloader for the kernel to discover and initialise
hardware.  See https://en.wikipedia.org/wiki/Device_tree for more
information.

This patch was mostly produced by copy-pasting code for initramfs handling
and renaming `s/initramfs/devicetree/g`.  It's not beautiful, but it is
fairly straightforward.

It may be useful to extend device-tree support in a number ways in the
future.  Device trees dependant on many details of the hardware they
support.  This makes them unlike kernels, which may support many different
hardware variants as long as the instruction-set matches.  This means that
a ostree tree created with a device-tree in this manner will only boot on
a single model of hardware.  This is sufficient for my purposes, but may
not be for others'.

I've tested this on my NVidia Tegra TK1 device which has u-boot running
in syslinux-compatible mode.

Closes: #1411
Approved by: cgwalters
2018-01-16 22:54:53 +00:00
..
coccinelle Add Coccinelle usage: one for blacklisting, one for patch collection 2017-03-30 19:19:54 +00:00
gpg-verify-data gpg: Regenerate test data for test-gpg-verify-result 2015-03-19 12:43:04 -04:00
gpghome tests: Port to glib-tap.mk, make make check run all of the tests 2016-03-03 08:50:19 -05:00
installed lib/commit: Fix hardlink checkout commit with bare-user + mod xattrs 2017-10-23 17:02:28 +00:00
.gitignore create-usb: Add a create-usb command to complement OstreeRepoFinderMount 2017-09-27 14:44:00 +00:00
admin-test.sh core: Add standard SOURCE_TITLE metadata key 2017-10-23 14:19:41 +00:00
archive-test.sh repo+tests: Add [core]disable-xattrs=true, use it on overlayfs 2017-03-24 22:16:43 +00:00
basic-test.sh bin/commit: add --keep-metadata option 2018-01-10 01:42:56 +00:00
bootloader-entries-crosscheck.py Introducing ostree-grub-generator 2016-04-04 14:19:35 +00:00
coccinelle.sh Add Coccinelle usage: one for blacklisting, one for patch collection 2017-03-30 19:19:54 +00:00
corrupt-repo-ref.js tests: Fix JavaScript tests with gjs 1.50.0 2017-09-15 18:51:43 +00:00
fah-deltadata-new.tar.xz tests: Add a "pull-test2" that uses slightly more realistic content 2017-11-01 17:38:26 +00:00
fah-deltadata-old.tar.xz tests: Add a "pull-test2" that uses slightly more realistic content 2017-11-01 17:38:26 +00:00
get-byte-order.c tests: Assert that byte-order is swapped on LE but not BE CPUs 2018-01-04 12:32:47 +00:00
glib.supp glib.supp: Suppress g_task -> thread leaks 2016-07-28 10:10:17 +00:00
grub2-entries-crosscheck.py tests: Add a test script to cross-check loader config vs GRUB2 2015-05-28 14:21:30 -04:00
libostreetest.c Cope with xattr syscalls raising EOPNOTSUPP 2017-10-16 13:08:06 +00:00
libostreetest.h tests: check for relabeling rather than overlay 2017-09-30 00:05:07 +00:00
libtest-core.sh tests/libtest-core: support multiple literal checks 2018-01-11 21:30:22 +00:00
libtest.sh tests: Add a "pull-test2" that uses slightly more realistic content 2017-11-01 17:38:26 +00:00
ostree-grub-generator Introducing ostree-grub-generator 2016-04-04 14:19:35 +00:00
ostree-path-traverse.tar.gz tests: Add a test case for path traversal in a dirtree 2018-01-12 19:38:34 +00:00
ostree.supp tests: Modernize valgrind infrastructure 2016-06-09 21:10:35 +00:00
pre-endian-deltas-repo-big.tar.xz deltas: Heuristically detect endianness for older deltas 2016-02-26 08:19:01 -05:00
pre-endian-deltas-repo-little.tar.xz deltas: Heuristically detect endianness for older deltas 2016-02-26 08:19:01 -05:00
pull-test2.sh tests: Add a "pull-test2" that uses slightly more realistic content 2017-11-01 17:38:26 +00:00
pull-test.sh lib: Validate metadata structure more consistently during pull 2018-01-12 19:38:34 +00:00
readdir-rand.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
repo-finder-mount.c create-usb: Add a create-usb command to complement OstreeRepoFinderMount 2017-09-27 14:44:00 +00:00
test-admin-deploy-2.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-deploy-bootid-gc.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-deploy-clean.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-deploy-etcmerge-cornercases.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-deploy-grub2.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-deploy-karg.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-deploy-switch.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-deploy-syslinux.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-deploy-uboot.sh core: Add standard SOURCE_TITLE metadata key 2017-10-23 14:19:41 +00:00
test-admin-instutil-set-kargs.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-locking.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-pull-deploy-commit.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-pull-deploy-split.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-upgrade-endoflife.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-upgrade-not-backwards.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-admin-upgrade-unconfigured.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-archivez.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-auto-summary.sh tests: Remove extra $CMD_PREFIX from test-auto-summary.sh 2016-06-27 20:20:21 +00:00
test-basic-c.c lib/core: Add a "break hardlink" API 2017-12-14 21:56:26 +00:00
test-basic-root.sh checkout: Merge union/add logic for copies during checkout 2017-04-25 13:52:35 +00:00
test-basic-user-only.sh tests,ci: Move "test-basic" (bare mode) to installed test 2017-09-27 13:13:14 +00:00
test-basic-user.sh tests: Don't assume uid == primary gid 2018-01-02 14:31:36 +00:00
test-basic.sh tests,ci: Move "test-basic" (bare mode) to installed test 2017-09-27 13:13:14 +00:00
test-bloom.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-bsdiff.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-checksum.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-commit-sign.sh tests/commit-sign: Update a bit to more modern style 2017-09-27 19:04:11 +00:00
test-concurrency.py lib/repo: Disable locking by default, add locking=true boolean 2017-12-14 15:48:38 +00:00
test-core.js tests: More fixes for gjs tests 2017-07-21 15:45:27 +00:00
test-corruption.sh lib/checkout: Validate pathnames during checkout 2018-01-12 19:38:34 +00:00
test-create-usb.sh create-usb: Add a create-usb command to complement OstreeRepoFinderMount 2017-09-27 14:44:00 +00:00
test-delta.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-demo-buildsystem.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-export.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-find-remotes.sh tests: Use --finders option for find-remotes 2018-01-11 02:19:07 +00:00
test-fsck-collections.sh bin/fsck: Make ref binding verification optional 2017-12-14 18:41:00 +00:00
test-gpg-signed-commit.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-gpg-verify-result.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-help.sh ostree: Describe subcommands in help output 2017-10-20 12:59:32 +00:00
test-init-collections.sh tests: Add integration tests for collections 2017-06-26 15:56:07 +00:00
test-keyfile-utils.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-libarchive-import.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-libarchive.sh libarchive: Add support for translating paths during commit 2017-08-30 14:30:30 +00:00
test-local-pull-depth.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-local-pull.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-lzma.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-mock-gio.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-mock-gio.h tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-mutable-tree.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-no-initramfs.sh Add support for devicetree files alongside the kernel and initramfs 2018-01-16 22:54:53 +00:00
test-oldstyle-partial.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-ot-opt-utils.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-ot-tool-util.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-ot-unix-utils.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-parent.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-prune-collections.sh tests: Add integration tests for collections 2017-06-26 15:56:07 +00:00
test-prune.sh bin/prune: Add --only-branch 2017-09-18 17:20:38 +00:00
test-pull2-bareuseronly.sh tests: Add a "pull-test2" that uses slightly more realistic content 2017-11-01 17:38:26 +00:00
test-pull-bare.sh tests: Run pull tests for bare/bare-user 2017-07-10 14:18:18 +00:00
test-pull-bareuser.sh test-pull-bareuser.sh: This test uses bare-user, hence needs xattrs 2017-08-29 19:08:59 +00:00
test-pull-bareuseronly.sh tests: Add test-pull-bareuseronly 2017-10-17 15:20:08 +00:00
test-pull-c.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-pull-collections.sh tests: New tests for creating commits with bindings and pulling them 2017-07-06 19:08:14 +00:00
test-pull-commit-only.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-contenturl.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-corruption.sh Add public API for fsck, use it before loading metadata 2017-12-12 14:03:09 +00:00
test-pull-depth.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-large-metadata.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-localcache.sh pull: mark commits from local cache as partial 2017-08-14 12:04:42 +00:00
test-pull-metalink.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-mirror-summary.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-mirrorlist.sh fetcher/curl: Stop using CURLOPT_LOW_SPEED_TIME/_LIMIT 2017-11-27 22:31:22 +00:00
test-pull-override-url.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-repeated.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-resume.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-subpath.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-summary-sigs.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-pull-untrusted.sh lib: Validate metadata structure more consistently during pull 2018-01-12 19:38:34 +00:00
test-refs-collections.sh tests: Check "refs -c PREFIX" behavior 2017-09-07 18:49:55 +00:00
test-refs.sh bin/refs: Disallow aliases to remote refs 2017-12-14 22:22:39 +00:00
test-remote-add-collections.sh tests: Add integration tests for collections 2017-06-26 15:56:07 +00:00
test-remote-add.sh lib/repo: Properly list remotes of parent repos 2017-12-08 19:40:19 +00:00
test-remote-cookies.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-remote-gpg-import.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-remote-headers.sh pull: complete detached meta fetch before scanning 2017-05-18 01:14:15 +00:00
test-remotes-config-dir.js repo: Ensure new config doesn't set remotes in separate file 2017-09-13 16:03:25 +00:00
test-repo-finder-avahi.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-repo-finder-config.c lib/remote: Add a method to return the URL 2017-11-28 18:53:25 +00:00
test-repo-finder-mount-integration.sh tests: Use --finders option for find-remotes 2018-01-11 02:19:07 +00:00
test-repo-finder-mount.c tree-wide: Update to new libglnx fd APIs 2017-10-11 19:26:10 +00:00
test-repo.c tests/repo: Drop modeline from top of file 2017-09-28 14:08:40 +00:00
test-reset-nonlinear.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00
test-rofiles-fuse.sh rofiles: Fix --copyup when creating a new file 2018-01-08 15:21:29 +00:00
test-rollsum-cli.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-rollsum.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-sizes.js tests: More fixes for gjs tests 2017-07-21 15:45:27 +00:00
test-summary-collections.sh lib/repo-refs: Include remote refs when using collections 2017-08-24 19:57:33 +00:00
test-summary-update.sh ostree/summary: Generate an ostree-metadata ref when updating summary 2017-10-02 13:39:41 +00:00
test-summary-view.sh bin/summary: Fix --raw option 2017-11-09 17:15:59 +00:00
test-switchroot.sh test-switchroot.sh: skip if no busybox 2017-06-27 21:45:34 +00:00
test-symbols.sh Release 2018.1 2018-01-15 14:10:37 +00:00
test-sysroot-c.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-sysroot.js tests: Fix JavaScript tests with gjs 1.50.0 2017-09-15 18:51:43 +00:00
test-varint.c tree-wide: Remove Emacs modelines 2017-09-21 21:38:34 +00:00
test-xattrs.sh tree-wide: Replace archive-z2 with archive 2017-09-01 20:54:12 +00:00