Stephen Barber | 3f7688f | 2017-02-16 11:23:44 -0800 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | # Copyright 2017 The Chromium OS Authors. All rights reserved. |
| 3 | # Use of this source code is governed by a BSD-style license that can be |
| 4 | # found in the LICENSE file. |
| 5 | |
| 6 | SCRIPT_ROOT=$(dirname "$(readlink -f "$0")") |
| 7 | . "${SCRIPT_ROOT}/build_library/build_common.sh" || exit 1 |
Stephen Barber | f9e93a3 | 2017-05-17 15:41:57 -0700 | [diff] [blame] | 8 | . "${SCRIPT_ROOT}/build_library/filesystem_util.sh" || exit 1 |
Stephen Barber | 3f7688f | 2017-02-16 11:23:44 -0800 | [diff] [blame] | 9 | |
Daniel Verkamp | 535ac93 | 2019-08-30 14:05:34 -0700 | [diff] [blame] | 10 | TERMINA_BUILD_IMAGE_PY="${SCRIPT_ROOT}/../platform/container-guest-tools/termina/termina_build_image.py" |
| 11 | TERMINA_BUILD_IMAGE_PY="$(readlink -f "${TERMINA_BUILD_IMAGE_PY}")" |
| 12 | |
Stephen Barber | 3f7688f | 2017-02-16 11:23:44 -0800 | [diff] [blame] | 13 | assert_inside_chroot "$@" |
| 14 | |
Stephen Barber | f9e93a3 | 2017-05-17 15:41:57 -0700 | [diff] [blame] | 15 | DEFINE_string arch "amd64" \ |
| 16 | "Architecture of the VM image" |
| 17 | DEFINE_string filesystem "ext4" \ |
| 18 | "Filesystem for the rootfs image" |
| 19 | DEFINE_string image "" \ |
| 20 | "Chromium OS disk image to build the Termina image from" |
| 21 | DEFINE_string output "" \ |
| 22 | "Output directory" |
Stephen Barber | 3f7688f | 2017-02-16 11:23:44 -0800 | [diff] [blame] | 23 | |
| 24 | FLAGS_HELP="USAGE: ${SCRIPT_NAME} [flags] |
| 25 | |
Stephen Barber | f9e93a3 | 2017-05-17 15:41:57 -0700 | [diff] [blame] | 26 | To build a tatl test image, try: |
| 27 | $ ./build_image --board=tatl test |
| 28 | $ ${SCRIPT_NAME} --image=../build/images/tatl/latest/chromiumos_test_image.bin --output=tatl |
Stephen Barber | 3f7688f | 2017-02-16 11:23:44 -0800 | [diff] [blame] | 29 | " |
| 30 | FLAGS "$@" || exit 1 |
| 31 | eval set -- "${FLAGS_ARGV}" |
| 32 | switch_to_strict_mode |
| 33 | |
Stephen Barber | 3f7688f | 2017-02-16 11:23:44 -0800 | [diff] [blame] | 34 | main() { |
Daniel Verkamp | 535ac93 | 2019-08-30 14:05:34 -0700 | [diff] [blame] | 35 | warn "termina_build_image is deprecated. Please use termina_build_image.py." |
| 36 | |
Stephen Barber | f9e93a3 | 2017-05-17 15:41:57 -0700 | [diff] [blame] | 37 | if [[ -z "${FLAGS_image}" ]]; then |
| 38 | die_notrace "Please provide an image using --image" |
| 39 | elif [[ ! -f "${FLAGS_image}" ]]; then |
| 40 | die_notrace "'${FLAGS_image}' does not exist" |
Stephen Barber | 3f7688f | 2017-02-16 11:23:44 -0800 | [diff] [blame] | 41 | fi |
| 42 | |
Stephen Barber | debef58 | 2018-05-19 13:11:54 -0700 | [diff] [blame] | 43 | if [[ "${FLAGS_arch}" != "amd64" && "${FLAGS_arch}" != "arm" ]]; then |
| 44 | die_notrace "Architecture '${FLAGS_arch}' is not valid. Options are 'amd64' and 'arm'" |
Stephen Barber | 3f7688f | 2017-02-16 11:23:44 -0800 | [diff] [blame] | 45 | fi |
| 46 | |
Daniel Verkamp | 535ac93 | 2019-08-30 14:05:34 -0700 | [diff] [blame] | 47 | if [[ "${FLAGS_filesystem}" != "ext4" ]]; then |
| 48 | die_notrace "Filesystem '${FLAGS_filesystem}' is not valid. 'ext4' is valid." |
Stephen Barber | f9e93a3 | 2017-05-17 15:41:57 -0700 | [diff] [blame] | 49 | fi |
| 50 | |
Daniel Verkamp | 535ac93 | 2019-08-30 14:05:34 -0700 | [diff] [blame] | 51 | info "Equivalent termina_build_image.py command:" |
| 52 | info "${TERMINA_BUILD_IMAGE_PY} ${FLAGS_image} ${FLAGS_output}" |
Stephen Barber | f9e93a3 | 2017-05-17 15:41:57 -0700 | [diff] [blame] | 53 | |
Daniel Verkamp | 535ac93 | 2019-08-30 14:05:34 -0700 | [diff] [blame] | 54 | sudo "${TERMINA_BUILD_IMAGE_PY}" "${FLAGS_image}" "${FLAGS_output}" |
Stephen Barber | f9e93a3 | 2017-05-17 15:41:57 -0700 | [diff] [blame] | 55 | |
Daniel Verkamp | 535ac93 | 2019-08-30 14:05:34 -0700 | [diff] [blame] | 56 | info "Done! The resulting image is in '${FLAGS_output}'" |
Stephen Barber | 3f7688f | 2017-02-16 11:23:44 -0800 | [diff] [blame] | 57 | } |
| 58 | |
| 59 | main "$@" |