Index: build_image |
diff --git a/build_image b/build_image |
index 722d704f96f5ad70ccc30b8af16b78afa1dad360..4280bddb9c6fd62439feb71a1de205c2499c5a6c 100755 |
--- a/build_image |
+++ b/build_image |
@@ -503,6 +503,14 @@ update_base_packages() { |
-s "${STATEFUL_FS_DIR}" -e "${ESP_FS_DIR}" |
} |
+zero_free_space() { |
+ local fs_mount_point=$1 |
+ info "Zeroing freespace in ${fs_mount_point}" |
+ sudo dd if=/dev/zero of="${fs_mount_point}/filler" oflag=sync bs=4096 || true |
+ sudo rm -f "${fs_mount_point}/filler" |
+ sudo sync |
+} |
+ |
create_base_image() { |
local image_name=$1 |
@@ -683,6 +691,10 @@ create_base_image() { |
# Create an empty esp image to be updated in by update_bootloaders.sh. |
${SCRIPTS_DIR}/create_esp.sh --to="${ESP_FS_IMG}" |
+ # Zero rootfs free space to make it more compressible so auto-update |
+ # payloads become smaller |
+ zero_free_space "${ROOT_FS_DIR}" |
+ |
cleanup |
trap delete_prompt EXIT |