Make kernel prebuilts writable after copying them.

Images created by Bazel are read-only, which leads to build failures when
later commands attempt to modify them, as the cp command will also copy
the file permissions. Fix it by using chmod to make the images writable
after copying them.

Change-Id: I8aaa7c4395d38b674f76a7f0ebfa95e1f2da0af0
This commit is contained in:
Peter Collingbourne
2023-03-24 11:34:24 -07:00
parent 1c117c5fab
commit fd95f097fe

View File

@@ -1218,6 +1218,7 @@ INSTALLED_BOOTIMAGE_TARGET := $(PRODUCT_OUT)/boot.img
ifeq ($(BOARD_AVB_ENABLE),true) ifeq ($(BOARD_AVB_ENABLE),true)
$(INSTALLED_BOOTIMAGE_TARGET): $(INTERNAL_PREBUILT_BOOTIMAGE) $(AVBTOOL) $(BOARD_AVB_BOOT_KEY_PATH) $(INSTALLED_BOOTIMAGE_TARGET): $(INTERNAL_PREBUILT_BOOTIMAGE) $(AVBTOOL) $(BOARD_AVB_BOOT_KEY_PATH)
cp $(INTERNAL_PREBUILT_BOOTIMAGE) $@ cp $(INTERNAL_PREBUILT_BOOTIMAGE) $@
chmod +w $@
$(AVBTOOL) add_hash_footer \ $(AVBTOOL) add_hash_footer \
--image $@ \ --image $@ \
$(call get-partition-size-argument,$(BOARD_BOOTIMAGE_PARTITION_SIZE)) \ $(call get-partition-size-argument,$(BOARD_BOOTIMAGE_PARTITION_SIZE)) \
@@ -1286,6 +1287,7 @@ INSTALLED_INIT_BOOT_IMAGE_TARGET := $(PRODUCT_OUT)/init_boot.img
ifeq ($(BOARD_AVB_ENABLE),true) ifeq ($(BOARD_AVB_ENABLE),true)
$(INSTALLED_INIT_BOOT_IMAGE_TARGET): $(INTERNAL_PREBUILT_INIT_BOOT_IMAGE) $(AVBTOOL) $(BOARD_AVB_INIT_BOOT_KEY_PATH) $(INSTALLED_INIT_BOOT_IMAGE_TARGET): $(INTERNAL_PREBUILT_INIT_BOOT_IMAGE) $(AVBTOOL) $(BOARD_AVB_INIT_BOOT_KEY_PATH)
cp $(INTERNAL_PREBUILT_INIT_BOOT_IMAGE) $@ cp $(INTERNAL_PREBUILT_INIT_BOOT_IMAGE) $@
chmod +w $@
$(AVBTOOL) add_hash_footer \ $(AVBTOOL) add_hash_footer \
--image $@ \ --image $@ \
$(call get-partition-size-argument,$(BOARD_INIT_BOOT_IMAGE_PARTITION_SIZE)) \ $(call get-partition-size-argument,$(BOARD_INIT_BOOT_IMAGE_PARTITION_SIZE)) \
@@ -3982,6 +3984,7 @@ INSTALLED_DTBOIMAGE_TARGET := $(PRODUCT_OUT)/dtbo.img
ifeq ($(BOARD_AVB_ENABLE),true) ifeq ($(BOARD_AVB_ENABLE),true)
$(INSTALLED_DTBOIMAGE_TARGET): $(BOARD_PREBUILT_DTBOIMAGE) $(AVBTOOL) $(BOARD_AVB_DTBO_KEY_PATH) $(INSTALLED_DTBOIMAGE_TARGET): $(BOARD_PREBUILT_DTBOIMAGE) $(AVBTOOL) $(BOARD_AVB_DTBO_KEY_PATH)
cp $(BOARD_PREBUILT_DTBOIMAGE) $@ cp $(BOARD_PREBUILT_DTBOIMAGE) $@
chmod +w $@
$(AVBTOOL) add_hash_footer \ $(AVBTOOL) add_hash_footer \
--image $@ \ --image $@ \
$(call get-partition-size-argument,$(BOARD_DTBOIMG_PARTITION_SIZE)) \ $(call get-partition-size-argument,$(BOARD_DTBOIMG_PARTITION_SIZE)) \