Index: platform_tools/barelinux/bin/arm64_download |
diff --git a/platform_tools/barelinux/bin/arm64_download b/platform_tools/barelinux/bin/arm64_download |
deleted file mode 100755 |
index 257d464be173aa94a398fab68299e11263b4f5e9..0000000000000000000000000000000000000000 |
--- a/platform_tools/barelinux/bin/arm64_download |
+++ /dev/null |
@@ -1,150 +0,0 @@ |
-#!/bin/sh |
- |
-# Copyright 2014 Google Inc. |
-# |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
- |
-usage() { |
- cat >&2 <<EOF |
-arm64_download - this script downloads the Linaro's ARMv8 Aarch64 |
-toolchain and minimal embedded Linux system as well as ARM's |
-foundation model. The required files are mirrored on Google Cloud. |
- |
-If the files are already located in the working directory, the |
-download can be skipped if the checksums match. |
- |
-The script then starts a emulated Arm64 Linux system in the |
-background. After the boot is complete, you can SSH into the system |
-at port 8022 via user@localhost. The SSH key will be downloaded into |
-the working directery as well. |
- |
-Requires gsutil, xz, tar, and gunzip. |
- |
-Usage: |
- $0 WORKING_DIRECTORY |
- ssh-add WORKING_DIRECTORY/key |
- ...wait... |
- ssh -p 8022 user@localhost |
-EOF |
- return 1 |
-} |
- |
-try() { |
- # print an error on nonzero return code |
- "$@" |
- local ret=$? |
- if [ $ret != 0 ] ; then |
- echo "'$@' failed and returned ${ret}." >&2 |
- return $ret |
- fi |
-} |
- |
-download_necessary_software_to_dir() ( |
- cd "$1" |
- local location="chromium-skia-gm/arm64env" |
- try gsutil cp "gs://${location}/md5sum.txt" . || return |
- if md5sum -c --quiet "md5sum.txt"; then |
- return 0 |
- fi |
- try gsutil cp "gs://${location}/*" . || return |
-) |
- |
-install_compiler() { |
- local working_dir="$1" |
- local toolchain="gcc-linaro-aarch64-linux-gnu-4.8-2013.12_linux" |
- ( |
- try cd "$working_dir" || return |
- try test -f "${toolchain}.tar.xz" || return |
- try xz --decompress --stdout < "${toolchain}.tar.xz" | \ |
- try tar xf - || return |
- ) |
- local dir="${working_dir}/${toolchain}" |
- try test -d "$dir" || return |
- try test -x "${dir}/bin/aarch64-linux-gnu-gcc" || return |
- try test -x "${dir}/bin/aarch64-linux-gnu-g++" || return |
-} |
- |
-install_runtime() { |
- local working_dir="$1" |
- |
- local firmware='img-foundation.axf' |
- local rootfs='vexpress64-openembedded_lamp-armv8-gcc-4.8_20131215-557' |
- local compressed_rootfs="${rootfs}.img.CLEAN_AND_CONFIGURED.xz" |
- local compressed_foundation_model='FM000-KT-00035-r0p8-52rel06.tgz' |
- local keyfile='CLEAN_AND_CONFIGURED_key' |
- |
- try cp "${working_dir}/$firmware" "${working_dir}/firmware" || return |
- |
- try xz --decompress --stdout \ |
- < "${working_dir}/${compressed_rootfs}" \ |
- > "${working_dir}/rootfs" || return |
- try test -f "${working_dir}/rootfs" || return |
- |
- ( |
- try cd "$working_dir" || return |
- try test -f "$compressed_foundation_model" || return |
- try gunzip -c "$compressed_foundation_model" | try tar xf - || return |
- try test -d "Foundation_v8pkg" || return # Assert. |
- ) |
- |
- try cp "${working_dir}/${keyfile}" "${working_dir}/key" || return |
- chmod 'go=' "${working_dir}/key" |
-} |
- |
-start_arm64_image() { |
- local working_dir="$1" |
- local foundation_dir="${working_dir}/Foundation_v8pkg" |
- local foundation="${foundation_dir}/models/Linux64_GCC-4.1/Foundation_v8" |
- local firmware="${working_dir}/firmware" |
- local rootfs="${working_dir}/rootfs" |
- |
- try test -d "$foundation_dir" || return |
- try test -x "$foundation" || return |
- try test -f "$firmware" || return |
- try test -f "$rootfs" || return |
- |
- for PID in $(ps -o 'pid=' -C 'Foundation_v8') ; do |
- kill $PID |
- done |
- |
- DISPLAY='' nohup \ |
- "$foundation" \ |
- --image="${firmware}" \ |
- --cores=4 \ |
- --block-device="${rootfs}" \ |
- --network="nat" \ |
- --network-nat-subnet="192.168.31.0/24" \ |
- --network-nat-ports="8022=22" \ |
- > /dev/null 2>&1 & |
- echo 'Waiting for foundation model to boot...' |
- while ! ssh -i "${working_dir}/key" \ |
- -o NoHostAuthenticationForLocalhost=yes \ |
- -p 8022 user@localhost true 2> /dev/null; do |
- sleep 5 |
- done |
- echo 'Listening to SSH on port 8022.' |
-} |
- |
-arm64_download() { |
- local working_directory="$1" |
- try mkdir -p "$working_directory" || return |
- |
- try download_necessary_software_to_dir "$working_directory" || return |
- |
- try install_compiler "$working_directory" || return |
- |
- try install_runtime "$working_directory" || return |
- |
- try start_arm64_image "$working_directory" || return |
-} |
- |
-for command in gsutil xz tar md5sum gunzip; do |
- try command -v "$command" > /dev/null || usage || exit |
-done |
- |
-if [ -z "$1" ] ; then |
- usage || exit |
-fi |
-try arm64_download "$1" |