| Index: image_hacks.sh
|
| diff --git a/image_hacks.sh b/image_hacks.sh
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..633962c571b03ebdb2ce1d9a85e1854529ceee77
|
| --- /dev/null
|
| +++ b/image_hacks.sh
|
| @@ -0,0 +1,125 @@
|
| +#!/bin/bash
|
| +
|
| +# Copyright (c) 2009 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.
|
| +
|
| +# This script is a wrapper around every part of the build system that corrupts
|
| +# the pristine image for various purposes.
|
| +
|
| +# The purpose of this script is to allow a smooth transition from the old
|
| +# build system, where random corruptions of the pipelined approach to image
|
| +# creation happen in random places, to the new build system, where we keep all
|
| +# of them in one place.
|
| +
|
| +# To avoid code duplication and preservation of the old build system until the
|
| +# release of chromite, we need to import all the "corrupting" code into here,
|
| +# but provide "legacy" interfaces to this code so that it can be used in
|
| +# exactly identical way. This is done in 2 phases:
|
| +# 1) Wrapping around various other scripts, providing a way to call them from
|
| +# this script.
|
| +# 2) Make this script consume the wrapped scripts and provide legacy symlinks,
|
| +# that do exactly the same thing as the old scripts.
|
| +
|
| +#------ These are the scripts we're trying to kill --------#
|
| +
|
| +function mod_image_for_test() {
|
| + $(dirname ${0})/mod_image_for_test.sh $* || return $?
|
| +}
|
| +
|
| +function mod_image_for_recovery() {
|
| + $(dirname ${0})/mod_image_for_recovery.sh $* || return $?
|
| +}
|
| +
|
| +function mod_image_for_dev_recovery() {
|
| + $(dirname ${0})/mod_image_for_dev_recovery.sh $* || return $?
|
| +}
|
| +
|
| +function customize_rootfs() {
|
| + $(dirname ${0})/customize_rootfs $* || return $?
|
| +}
|
| +
|
| +#-------------------------- Tools -------------------------#
|
| +
|
| +function board_to_arch() {
|
| + . "/build/${1}/etc/make.conf.board_setup" || return 1
|
| + TC_ARCH=$(echo "${CHOST}" | awk -F'-' '{ print $1 }')
|
| + case "${TC_ARCH}" in
|
| + (arm*) echo "arm";;
|
| + (*86) echo "x86";;
|
| + (*) error "Unable to determine ARCH from toolchain: ${CHOST}"; return 1;;
|
| + esac
|
| +}
|
| +
|
| +#--------------------------- Main -------------------------#
|
| +
|
| +function corrupt_for_recovery() {
|
| + :
|
| +}
|
| +function corrupt_for_dev_recovery() {
|
| + :
|
| +}
|
| +function corrupt_for_dev_install() {
|
| + :
|
| +}
|
| +function corrupt_for_factory_installer_shim() {
|
| + :
|
| +}
|
| +function corrupt_for_factory_test() {
|
| + :
|
| +}
|
| +function corrupt_for_test() {
|
| + :
|
| +}
|
| +
|
| +function main() {
|
| + . "$(dirname "$0")/common.sh"
|
| + get_default_board
|
| +
|
| + # Flag definitions:
|
| + DEFINE_string corruption_type "" \
|
| + "The type of corruption to invoke upon the slashfs."
|
| + DEFINE_string board "${DEFAULT_BOARD}" \
|
| + "The board to build an image for."
|
| + DEFINE_string slashfs "" \
|
| + "The path to root file system to corrupt."
|
| +
|
| + # Parse command line.
|
| + FLAGS "$@" || return 1
|
| +
|
| + # Sanity checking.
|
| + if [ -z "${FLAGS_corruption_type}" ]; then
|
| + echo "Please specify corruption type"; return 1
|
| + fi
|
| + if [ -z "${FLAGS_board}" ]; then
|
| + echo "You must specify board"; return 1
|
| + fi
|
| +
|
| + # Customize_rootfs needs arch, we need to get it somehow.
|
| + ARCH="$(board_to_arch ${FLAGS_board})" || return 1
|
| +
|
| + ###################################################
|
| + # Parametric corruption of the slashfs starts here.
|
| + ###################################################
|
| + #customize_rootfs --board="${FLAGS_board}" --target="${ARCH}" \
|
| + # --root="${FLAGS_slashroot}"
|
| +
|
| + case ${FLAGS_corruption_type} in
|
| + (recovery) corrupt_for_recovery ;;
|
| + (dev_recovery) corrupt_for_dev_recovery ;;
|
| + (dev_install) corrupt_for_dev_install ;;
|
| + (factory_installer_shim) corrupt_for_factory_installer_shim ;;
|
| + (factory_test) corrupt_for_factory_test ;;
|
| + (test) corrupt_for_test ;;
|
| + esac
|
| + return $?
|
| +}
|
| +
|
| +case "$(basename $0)" in
|
| +# (mod_image_for_test.sh) mod_image_for_test $* || return $?;;
|
| +# (mod_image_for_recovery.sh) mod_image_for_recovery $* || return $?;;
|
| +# (mod_image_for_dev_recovery.sh) mod_image_for_dev_recovery $* || return $?;;
|
| +# (customize_rootfs) customize_rootfs $* || return $?;;
|
| + (image_hacks.sh) main $* || return $?;; # normal invocation
|
| + (*) echo "$0: Unknown invocation!"; exit 1 ;;
|
| +esac
|
|
|