diff --git a/build_library/base_image_util.sh b/build_library/base_image_util.sh index 5b26bed20e..be72ffb3b8 100755 --- a/build_library/base_image_util.sh +++ b/build_library/base_image_util.sh @@ -60,8 +60,10 @@ create_base_image() { # Zero all fs free space to make it more compressible so auto-update # payloads become smaller, not fatal since it won't work on linux < 3.2 sudo fstrim "${root_fs_dir}" || true - if [[ -d "${root_fs_dir}/media/state" ]]; then - sudo fstrim "${root_fs_dir}/media/state" || true + if [[ "${disk_layout}" == *-usr ]]; then + sudo fstrim "${root_fs_dir}/usr" || true + else + sudo fstrim "${root_fs_dir}/media/state" || true fi cleanup_mounts "${root_fs_dir}" diff --git a/build_library/dev_image_util.sh b/build_library/dev_image_util.sh index 50d6ed491f..4b3d965d0a 100755 --- a/build_library/dev_image_util.sh +++ b/build_library/dev_image_util.sh @@ -36,10 +36,22 @@ install_dev_packages() { sudo mkdir -p "${root_fs_dir}/root" sudo touch "${root_fs_dir}/root/.dev_mode" + # Remount the system partition read-write by default. + # The remount services are provided by coreos-base/coreos-init + local fs_wants="${root_fs_dir}/usr/lib/systemd/system/local-fs.target.wants" + sudo mkdir -p "${fs_wants}" + if [[ "${disk_layout}" == *-usr ]]; then + sudo ln -s ../remount-usr.service "${fs_wants}" + else + sudo ln -s ../remount-root.service "${fs_wants}" + fi + # Zero all fs free space, not fatal since it won't work on linux < 3.2 sudo fstrim "${root_fs_dir}" || true - if [[ -d "${root_fs_dir}/media/state" ]]; then - sudo fstrim "${root_fs_dir}/media/state" || true + if [[ "${disk_layout}" == *-usr ]]; then + sudo fstrim "${root_fs_dir}/usr" || true + else + sudo fstrim "${root_fs_dir}/media/state" || true fi info "Developer image built and stored at ${image_name}"