diff options
Diffstat (limited to 'examples/recipes/image/build.yml')
-rw-r--r-- | examples/recipes/image/build.yml | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/examples/recipes/image/build.yml b/examples/recipes/image/build.yml new file mode 100644 index 0000000..a42899f --- /dev/null +++ b/examples/recipes/image/build.yml @@ -0,0 +1,60 @@ +tasks: + rootfs: + args: + host: 'platform' + depends: + - recipe: 'busybox' + task: 'install' + - recipe: 'toolchain' + task: 'build_depends' + args: + target: 'host' + output: + default: {} + run: | + mkdir -p \ + {{destdir}}/dev \ + {{destdir}}/proc \ + {{destdir}}/root \ + {{destdir}}/run \ + {{destdir}}/sys \ + {{destdir}}/tmp \ + {{destdir}}/usr/bin \ + {{destdir}}/usr/lib \ + {{destdir}}/var + + ln -s bin {{destdir}}/usr/sbin + ln -s usr/bin {{destdir}}/bin + ln -s usr/bin {{destdir}}/sbin + ln -s usr/lib {{destdir}}/lib + ln -s ../run {{destdir}}/var/run + + rsync -aHAXK {{sysroot}}/ {{destdir}} + + + ext4: + args: + host: 'platform' + build_depends: + - recipe: 'e2fsprogs' + task: 'install' + - recipe: 'make_ext4fs' + task: 'install' + depends: + - task: 'rootfs' + output: + default: {} + run: | + IMAGE={{destdir}}/{{name}}.ext4 + + mkdir {{destdir}} + make_ext4fs -l 2G -T "$SOURCE_DATE_EPOCH" -L root "$IMAGE" {{sysroot}} + E2FSPROGS_FAKE_TIME="$SOURCE_DATE_EPOCH" tune2fs -U '00000000-0000-4000-8000-000000000000' "$IMAGE" + + HASH=$(sha256sum "$IMAGE") + UUID=$( + python3 \ + -c 'import sys; import uuid; print(uuid.UUID(hex=sys.argv[1][:32], version=4))' \ + "$HASH" + ) + E2FSPROGS_FAKE_TIME="$SOURCE_DATE_EPOCH" tune2fs -U "$UUID" "$IMAGE" |