11fe918a0SAndrew GeisslerDESCRIPTION = "Simple initramfs image for mounting the rootfs over the verity device mapper."
21fe918a0SAndrew Geissler
3cc589285SAndrew Geisslerinherit core-image
41fe918a0SAndrew Geissler
51fe918a0SAndrew GeisslerPACKAGE_INSTALL = " \
61fe918a0SAndrew Geissler    base-files \
7cc589285SAndrew Geissler    base-passwd \
81fe918a0SAndrew Geissler    busybox \
91fe918a0SAndrew Geissler    cryptsetup \
10cc589285SAndrew Geissler    initramfs-module-dmverity \
11cc589285SAndrew Geissler    initramfs-module-udev \
121fe918a0SAndrew Geissler    lvm2-udevrules \
13cc589285SAndrew Geissler    udev \
14cc589285SAndrew Geissler    util-linux-mount \
151fe918a0SAndrew Geissler"
161fe918a0SAndrew Geissler
17cc589285SAndrew Geissler# We want a clean, minimal image.
18cc589285SAndrew GeisslerIMAGE_FEATURES = ""
19cc589285SAndrew GeisslerIMAGE_LINGUAS = ""
20cc589285SAndrew Geissler
21*03514f19SPatrick WilliamsIMAGE_NAME_SUFFIX ?= ""
22*03514f19SPatrick Williams
231fe918a0SAndrew Geissler# Can we somehow inspect reverse dependencies to avoid these variables?
242a25492cSPatrick Williamspython __anonymous() {
252a25492cSPatrick Williams    verity_image = d.getVar('DM_VERITY_IMAGE')
262a25492cSPatrick Williams    verity_type = d.getVar('DM_VERITY_IMAGE_TYPE')
272a25492cSPatrick Williams
282a25492cSPatrick Williams    if verity_image and verity_type:
292a25492cSPatrick Williams        dep = ' %s:do_image_%s' % (verity_image, verity_type.replace('-', '_'))
302a25492cSPatrick Williams        d.appendVarFlag('do_image', 'depends', dep)
312a25492cSPatrick Williams}
32cc589285SAndrew Geissler
33cc589285SAndrew Geissler# Ensure dm-verity.env is updated also when rebuilding DM_VERITY_IMAGE
34cc589285SAndrew Geisslerdo_image[nostamp] = "1"
351fe918a0SAndrew Geissler
361fe918a0SAndrew GeisslerIMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
371fe918a0SAndrew Geissler
381fe918a0SAndrew Geisslerdeploy_verity_hash() {
39cc589285SAndrew Geissler    install -D -m 0644 \
40cc589285SAndrew Geissler        ${STAGING_VERITY_DIR}/${DM_VERITY_IMAGE}.${DM_VERITY_IMAGE_TYPE}.verity.env \
41cc589285SAndrew Geissler        ${IMAGE_ROOTFS}${datadir}/misc/dm-verity.env
421fe918a0SAndrew Geissler}
43cc589285SAndrew GeisslerIMAGE_PREPROCESS_COMMAND += "deploy_verity_hash;"
44