summaryrefslogtreecommitdiffstats
path: root/recipes-core/initrdscripts/initramfs-dm-verity.bb
diff options
context:
space:
mode:
authorBartosz Golaszewski <bgolaszewski@baylibre.com>2020-04-10 14:41:35 +0200
committerArmin Kuster <akuster808@gmail.com>2020-05-15 05:28:21 -0700
commitd6369c9aafc433b08f9bb000142b274738be3fb3 (patch)
treed62718bfbdf83ad41946f4fca911c358328ddd56 /recipes-core/initrdscripts/initramfs-dm-verity.bb
parentb329e1650daa860c7dfdbd771ddff611452c382b (diff)
downloadmeta-security-d6369c9aafc433b08f9bb000142b274738be3fb3.tar.gz
dm-verity: add a working example for BeagleBone Black
This adds various bits and pieces to enable generating a working example of a full chain of trust up to dm-verity-protected rootfs level on Beagle Bone Black. The new initramfs is quite generic and should work for other SoCs as well when using fitImage. The following config can be used with current master poky, meta-openembedded & meta-security to generate a BBB image using verified boot and dm-verity. UBOOT_SIGN_KEYDIR = "/tmp/test-keys/" UBOOT_SIGN_KEYNAME = "dev" UBOOT_SIGN_ENABLE = "1" UBOOT_MKIMAGE_DTCOPTS = "-I dts -O dtb -p 2000" UBOOT_MACHINE_beaglebone-yocto = "am335x_boneblack_vboot_config" IMAGE_CLASSES += "dm-verity-img" IMAGE_FSTYPES += "wic.xz ext4" DM_VERITY_IMAGE = "core-image-full-cmdline" DM_VERITY_IMAGE_TYPE = "ext4" KERNEL_CLASSES += "kernel-fitimage" KERNEL_IMAGETYPE_beaglebone-yocto = "fitImage" IMAGE_INSTALL_remove = " kernel-image-zimage" IMAGE_BOOT_FILES_remove = " zImage" IMAGE_BOOT_FILES_append = " fitImage-${INITRAMFS_IMAGE}-${MACHINE}-${MACHINE};fitImage" # Using systemd is not strictly needed but deals nicely with read-only # filesystem by default. DISTRO_FEATURES_append = " systemd" DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit" VIRTUAL-RUNTIME_init_manager = "systemd" VIRTUAL-RUNTIME_initscripts = "systemd-compat-units" INITRAMFS_IMAGE = "dm-verity-image-initramfs" INITRAMFS_FSTYPES = "cpio.gz" INITRAMFS_IMAGE_BUNDLE = "1" WKS_FILE = "beaglebone-yocto-verity.wks.in" KERNEL_FEATURES_append = " features/device-mapper/dm-verity.scc" Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
Diffstat (limited to 'recipes-core/initrdscripts/initramfs-dm-verity.bb')
-rw-r--r--recipes-core/initrdscripts/initramfs-dm-verity.bb13
1 files changed, 13 insertions, 0 deletions
diff --git a/recipes-core/initrdscripts/initramfs-dm-verity.bb b/recipes-core/initrdscripts/initramfs-dm-verity.bb
new file mode 100644
index 0000000..b614956
--- /dev/null
+++ b/recipes-core/initrdscripts/initramfs-dm-verity.bb
@@ -0,0 +1,13 @@
1SUMMARY = "Simple init script that uses devmapper to mount the rootfs in read-only mode protected by dm-verity"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4
5SRC_URI = "file://init-dm-verity.sh"
6
7do_install() {
8 install -m 0755 ${WORKDIR}/init-dm-verity.sh ${D}/init
9 install -d ${D}/dev
10 mknod -m 622 ${D}/dev/console c 5 1
11}
12
13FILES_${PN} = "/init /dev/console"