| #!/bin/sh |
| # |
| # Copyright (c) 2016, ARM Limited and Contributors. All rights reserved. |
| # |
| # Redistribution and use in source and binary forms, with or without |
| # modification, are permitted provided that the following conditions are met: |
| # |
| # Redistributions of source code must retain the above copyright notice, this |
| # list of conditions and the following disclaimer. |
| # |
| # Redistributions in binary form must reproduce the above copyright notice, |
| # this list of conditions and the following disclaimer in the documentation |
| # and/or other materials provided with the distribution. |
| # |
| # Neither the name of ARM nor the names of its contributors may be used |
| # to endorse or promote products derived from this software without specific |
| # prior written permission. |
| # |
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
| # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| # POSSIBILITY OF SUCH DAMAGE. |
| # |
| # This script implements the old fip_create tool on top of |
| # the new fiptool. |
| |
| usage() { |
| cat << EOF |
| This tool is used to create a Firmware Image Package. |
| |
| Usage: |
| fip_create [options] FIP_FILENAME |
| |
| Options: |
| -h,--help: Print this help message and exit |
| -d,--dump: Print contents of FIP after update |
| -u,--unpack: Unpack images from an existing FIP |
| -f,--force: Overwrite existing files when unpacking images |
| |
| Components that can be added/updated: |
| --scp-fwu-cfg FILENAME SCP Firmware Updater Configuration FWU SCP_BL2U |
| --ap-fwu-cfg FILENAME AP Firmware Updater Configuration BL2U |
| --fwu FILENAME Firmware Updater NS_BL2U |
| --fwu-cert FILENAME Non-Trusted Firmware Updater certificate |
| --tb-fw FILENAME Trusted Boot Firmware BL2 |
| --scp-fw FILENAME SCP Firmware SCP_BL2 |
| --soc-fw FILENAME EL3 Runtime Firmware BL31 |
| --tos-fw FILENAME Secure Payload BL32 (Trusted OS) |
| --nt-fw FILENAME Non-Trusted Firmware BL33 |
| --rot-cert FILENAME Root Of Trust key certificate |
| --trusted-key-cert FILENAME Trusted key certificate |
| --scp-fw-key-cert FILENAME SCP Firmware key certificate |
| --soc-fw-key-cert FILENAME SoC Firmware key certificate |
| --tos-fw-key-cert FILENAME Trusted OS Firmware key certificate |
| --nt-fw-key-cert FILENAME Non-Trusted Firmware key certificate |
| --tb-fw-cert FILENAME Trusted Boot Firmware BL2 certificate |
| --scp-fw-cert FILENAME SCP Firmware content certificate |
| --soc-fw-cert FILENAME SoC Firmware content certificate |
| --tos-fw-cert FILENAME Trusted OS Firmware content certificate |
| --nt-fw-cert FILENAME Non-Trusted Firmware content certificate |
| EOF |
| exit |
| } |
| |
| echo "!! The fip_create tool is deprecated. Use the new fiptool. !!" |
| basedir="$(dirname $0)/../fiptool" |
| fiptool_args= |
| while :; do |
| case "$1" in |
| -h | --help ) |
| usage |
| break ;; |
| -d | --dump ) |
| fiptool_args="info $fiptool_args" |
| shift ;; |
| -u | --unpack ) |
| fiptool_args="unpack $fiptool_args" |
| shift ;; |
| -f | --force ) |
| fiptool_args="$fiptool_args --force" |
| shift ;; |
| --scp-fwu-cfg | \ |
| --ap-fwu-cfg | \ |
| --fwu | \ |
| --fwu-cert | \ |
| --tb-fw | \ |
| --scp-fw | \ |
| --soc-fw | \ |
| --tos-fw | \ |
| --nt-fw | \ |
| --rot-cert | \ |
| --trusted-key-cert | \ |
| --scp-fw-key-cert | \ |
| --soc-fw-key-cert | \ |
| --tos-fw-key-cert | \ |
| --nt-fw-key-cert | \ |
| --tb-fw-cert | \ |
| --scp-fw-cert | \ |
| --soc-fw-cert | \ |
| --tos-fw-cert | \ |
| --nt-fw-cert ) |
| fiptool_args="$fiptool_args $1" |
| shift |
| if test -z $1; then |
| usage |
| fi |
| fiptool_args="$fiptool_args $1" |
| shift ;; |
| * ) |
| break ;; |
| esac |
| done |
| |
| # expect a FIP filename |
| if test -z $1; then |
| usage |
| fi |
| |
| is_pack_cmd=1 |
| for arg in $fiptool_args; do |
| case "$arg" in |
| unpack ) |
| is_pack_cmd=0 |
| break ;; |
| info ) |
| is_pack_cmd=0 |
| break ;; |
| * ) |
| esac |
| done |
| |
| # if --unpack and --dump were not specified |
| # the default action is to pack |
| if test "$is_pack_cmd" -eq 1; then |
| fiptool_args="update $fiptool_args" |
| fi |
| |
| # append FIP filename |
| fiptool_args="$fiptool_args $1" |
| echo "Invoking fiptool with args: $fiptool_args" |
| "$basedir/fiptool" $fiptool_args |