55 lines
1.9 KiB
Bash
Executable File
55 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
# Install the AArch64 Architecture Envelope Model (AEM)
|
|
|
|
set -e
|
|
set -u
|
|
set -o pipefail
|
|
|
|
tmpdir=$(mktemp -d)
|
|
|
|
cleanup()
|
|
{
|
|
rm -rf "$tmpdir"
|
|
}
|
|
|
|
trap cleanup 0
|
|
|
|
pushd "$tmpdir"
|
|
|
|
# Install GCC toolchain
|
|
gcc_install_dir="/opt/arm/gcc-aarch64-none-elf"
|
|
gcc_url="https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-elf.tar.xz?rev=28d5199f6db34e5980aae1062e5a6703&hash=D87D4B558F0A2247B255BA15C32A94A9F354E6A8"
|
|
gcc_sha="7fe7b8548258f079d6ce9be9144d2a10bd2bf93b551dafbf20fe7f2e44e014b8"
|
|
gcc_tar="arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-linux-gnu.tar.xz"
|
|
mkdir -p $gcc_install_dir
|
|
download-and-verify "$gcc_url" "$gcc_tar" sha256 "$gcc_sha" 64
|
|
tar -xf $gcc_tar -C $gcc_install_dir --strip-components=1
|
|
|
|
# Download FVP
|
|
fvp_dir="/opt/arm/fvp"
|
|
fvp_url="https://developer.arm.com/-/media/Files/downloads/ecosystem-models/FVP_Base_RevC-2xAEMvA_11.24_11_Linux64.tgz"
|
|
fvp_sha="0f132334834cbc66889a62dd72057c976d7c7dfcfeec21799e9c78fb2ce24720"
|
|
download-and-verify "$fvp_url" "fvp.tgz" sha256 "$fvp_sha" 64
|
|
mkdir -p "$fvp_dir"
|
|
tar -xzf fvp.tgz -C "$fvp_dir"
|
|
rm -rf doc # Remove some documentation bundled with the package
|
|
|
|
popd
|