mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-07 16:35:44 +00:00
This makes the output easier to follow when multiple scripts are being run. BRANCH=None BUG=chromium:714598 TEST=signing images still works Change-Id: I48edde260e1d1db88f65624c7ff46ad2ac1cc2f4 Reviewed-on: https://chromium-review.googlesource.com/498100 Commit-Ready: Mike Frysinger <vapier@chromium.org> Tested-by: Mike Frysinger <vapier@chromium.org> Reviewed-by: David Riley <davidriley@chromium.org>
66 lines
1.9 KiB
Bash
Executable File
66 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
# Script to remove /boot directory from an image.
|
|
|
|
# Load common constants. This should be the first executable line.
|
|
# The path to common.sh should be relative to your script's location.
|
|
. "$(dirname "$0")/common.sh"
|
|
|
|
load_shflags
|
|
|
|
DEFINE_string image "chromiumos_image.bin" \
|
|
"Input file name of Chrome OS image to strip /boot from."
|
|
|
|
# Parse command line.
|
|
FLAGS "$@" || exit 1
|
|
eval set -- "${FLAGS_ARGV}"
|
|
|
|
# Abort on error.
|
|
set -e
|
|
|
|
if [ -z "${FLAGS_image}" ] || [ ! -s "${FLAGS_image}" ] ; then
|
|
die "Error: need a valid file by --image"
|
|
fi
|
|
|
|
# Swiped/modifed from $SRC/src/scripts/base_library/base_image_util.sh.
|
|
zero_free_space() {
|
|
local rootfs="$1"
|
|
|
|
info "Zeroing freespace in ${rootfs}"
|
|
# dd is a silly thing and will produce a "No space left on device" message
|
|
# that cannot be turned off and is confusing to unsuspecting victims.
|
|
( sudo dd if=/dev/zero of="${rootfs}/filler" bs=4096 conv=fdatasync \
|
|
status=noxfer || true ) 2>&1 | grep -v "No space left on device"
|
|
sudo rm "${rootfs}/filler"
|
|
}
|
|
|
|
|
|
strip_boot() {
|
|
local image=$1
|
|
|
|
# Mount image so we can modify it.
|
|
local rootfs_dir=$(make_temp_dir)
|
|
mount_image_partition ${image} 3 ${rootfs_dir}
|
|
|
|
sudo rm -rf "${rootfs_dir}/boot" &&
|
|
info "/boot directory was removed."
|
|
|
|
# To prevent the files we just removed from the FS from remaining as non-
|
|
# zero trash blocks that bloat payload sizes, need to zero them. This was
|
|
# done when the image was built, but needs to be repeated now that we've
|
|
# modified it in a non-trivial way.
|
|
zero_free_space "${rootfs_dir}"
|
|
}
|
|
|
|
|
|
IMAGE=$(readlink -f "${FLAGS_image}")
|
|
if [[ -z "${IMAGE}" || ! -f "${IMAGE}" ]]; then
|
|
die "Missing required argument: --from (image to update)"
|
|
fi
|
|
|
|
strip_boot "${IMAGE}"
|