From 4ed9a1a2a54ccc3d27751e35e67c50437c6ed635 Mon Sep 17 00:00:00 2001 From: Michael Marineau Date: Mon, 10 Oct 2016 14:03:44 -0700 Subject: [PATCH] build_image: disable verity again The Xen loader in GRUB never received support for our hacky scheme of adding the verity hash to the kernel cmdline. Disable till that's fixed. Partially reverts 2016567 and 533b1b9. --- build_image | 2 ++ build_library/build_image_util.sh | 2 +- build_library/generate_grub_hashes.py | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/build_image b/build_image index 0bc7deb33a..588da4512b 100755 --- a/build_image +++ b/build_image @@ -28,6 +28,8 @@ DEFINE_string getbinpkgver "" \ "Use binary packages from a specific version." DEFINE_boolean enable_rootfs_verification ${FLAGS_TRUE} \ "Default all bootloaders to use kernel-based root fs integrity checking." +DEFINE_boolean enable_verity ${FLAGS_FALSE} \ + "Default GRUB to use dm-verity-enabled boot arguments" DEFINE_string base_pkg "coreos-base/coreos" \ "The base portage package to base the build off of (only applies to prod images)" DEFINE_string base_dev_pkg "coreos-base/coreos-dev" \ diff --git a/build_library/build_image_util.sh b/build_library/build_image_util.sh index 04229593b8..9ca779aed2 100755 --- a/build_library/build_image_util.sh +++ b/build_library/build_image_util.sh @@ -414,7 +414,7 @@ finish_image() { target_list="arm64-efi" fi for target in ${target_list}; do - if [[ ${disable_read_write} -eq ${FLAGS_TRUE} ]]; then + if [[ ${disable_read_write} -eq ${FLAGS_TRUE} && ${FLAGS_enable_verity} -eq ${FLAGS_TRUE} ]]; then ${BUILD_LIBRARY_DIR}/grub_install.sh \ --board="${BOARD}" \ --target="${target}" \ diff --git a/build_library/generate_grub_hashes.py b/build_library/generate_grub_hashes.py index 0a26b54cc1..8bc82a3dfe 100755 --- a/build_library/generate_grub_hashes.py +++ b/build_library/generate_grub_hashes.py @@ -40,7 +40,7 @@ with open(os.path.join(outputdir, "grub_modules.config"), "w") as f: f.write(json.dumps({"9": {"binaryvalues": [{"prefix": "grub_module", "values": hashvalues}]}})) with open(os.path.join(outputdir, "kernel_cmdline.config"), "w") as f: - f.write(json.dumps({"8": {"asciivalues": [{"prefix": "grub_kernel_cmdline", "values": [{"value": "rootflags=rw mount.usrflags=ro BOOT_IMAGE=/coreos/vmlinuz-[ab] mount.usr=/dev/mapper/usr verity.usr=PARTUUID=\S{36} rootflags=rw mount.usrflags=ro consoleblank=0 root=LABEL=ROOT (console=\S+)? (coreos.autologin=\S+)? verity.usrhash=\\S{64}", "description": "CoreOS kernel command line %s" % version}]}]}})) + f.write(json.dumps({"8": {"asciivalues": [{"prefix": "grub_kernel_cmdline", "values": [{"value": "rootflags=rw mount.usrflags=ro BOOT_IMAGE=/coreos/vmlinuz-[ab] mount.usr=PARTUUID=\S{36} rootflags=rw mount.usrflags=ro consoleblank=0 root=LABEL=ROOT (console=\S+)? (coreos.autologin=\S+)? verity.usrhash=\\S{64}", "description": "CoreOS kernel command line %s" % version}]}]}})) commands = [{"value": '\[.*\]', "description": "CoreOS Grub configuration %s" % version}, {"value": 'gptprio.next -d usr -u usr_uuid', "description": "CoreOS Grub configuration %s" % version},