blob: 30e928782248b36646929fa5e85edd3246ba2a7f [file] [log] [blame]
#!/bin/bash
# Copyright 2020 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.
VERSION="1.0.0"
SCRIPT=$(basename -- "${0}")
export LC_ALL=C
if [[ ! -e /etc/cros_chroot_version ]]; then
echo "This script must be run inside the chroot."
exit 1
fi
if [[ "$#" -lt 3 ]]; then
echo "Usage: ${SCRIPT} base_name reference_name variant_name [bug_number]"
echo "e.g. ${SCRIPT} hatch hatch kohaku b:140261109"
echo "e.g. ${SCRIPT} zork trembyle frobozz b:148161697"
echo "Copies the new coreboot configuation for the variant from"
echo "third_party/chromiumos-overlay to overlays"
exit 1
fi
# This is the name of the base board.
# ${var,,} converts to all lowercase.
BASE="${1,,}"
# This is the name of the reference board that we're using to make the variant.
# ${var,,} converts to all lowercase.
REFERENCE="${2,,}"
# This is the name of the variant that is being cloned.
VARIANT="${3,,}"
# Assign BUG= text, or "None" if that parameter wasn't specified.
BUG=${4:-None}
# For Zork, the new config file that is in
# third_party/chromiumos-overlay/sys-boot/coreboot/files/configs
# must also be copied to
# src/overlays/overlay-zork/sys-boot/coreboot-zork/files/configs
# and committed there as well.
# Work in src/overlays/overlay-zork/sys-boot/coreboot-zork/files/configs
cd "${HOME}/trunk/src/overlays/overlay-${BASE}/sys-boot/coreboot-${BASE}/files/configs" || exit 1
# Start a branch. Use YMD timestamp to avoid collisions.
DATE=$(date +%Y%m%d)
repo start "create_${VARIANT}_${DATE}" . || exit 1
# add_variant_to_yaml.sh will start a repo of the same name in this dir,
# but it will just harmlessly exit, so this is OK.
cp "${HOME}/trunk/src/third_party/chromiumos-overlay/sys-boot/coreboot/files/configs/config.${VARIANT}" .
git add "config.${VARIANT}"
git commit -sm "${BASE}: Add ${VARIANT} coreboot configuration
Create a new coreboot configuration for the ${VARIANT} variant
of the ${REFERENCE} reference board. The new configuration file is
a copy of the reference board, but the name of the baseboard is
replaced by the name of the variant where applicable.
(Auto-Generated by ${SCRIPT} version ${VERSION}).
BUG=${BUG}
BRANCH=none
TEST=FW_NAME=${VARIANT} emerge-${BASE} coreboot chromeos-bootimage
Ensure that image-${VARIANT}.*.bin are created"