mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-27 08:38:07 +00:00
79 lines
2.2 KiB
Bash
79 lines
2.2 KiB
Bash
#!/bin/bash
|
|
|
|
# expected inputs:
|
|
# TREZOR_SRC -- directory containing python code for uMP
|
|
|
|
if [[ ! "${TREZOR_SRC}" ]]; then echo "expecting TREZOR_SRC"; exit 0; fi
|
|
|
|
# optional inputs:
|
|
# TREZOR_PROFILE -- profile name (directory) in ~/.trezoremu or full path
|
|
# PROFILING -- wrap the uMP/python in the profiler script
|
|
|
|
# outputs:
|
|
## uMP
|
|
# PYOPT
|
|
# HEAPSIZE
|
|
# ARGS -- uMP arguments
|
|
# MAIN -- uMP file to execute
|
|
## TREZOR core
|
|
# TREZOR_PROFILE_DIR
|
|
# TREZOR_PROFILE_NAME
|
|
# TREZOR_UDP_PORT
|
|
## this script
|
|
# TREZOR_SRC
|
|
# TREZOR_LOGFILE
|
|
## python-trezor
|
|
# TREZOR_PATH -- connect string
|
|
|
|
|
|
# defaults
|
|
PYOPT="${PYOPT:-1}"
|
|
HEAPSIZE="${HEAPSIZE:-20M}"
|
|
|
|
TREZOR_PROFILE="${TREZOR_PROFILE:-/var/tmp}"
|
|
TREZOR_PROFILE_DIR="${TREZOR_PROFILE}"
|
|
TREZOR_PROFILE_NAME="${TREZOR_PROFILE}"
|
|
|
|
# for profile names create profile directory if not existent
|
|
if ! [[ "$TREZOR_PROFILE" == "/"* ]]; then
|
|
TREZOR_PROFILE_DIR="${HOME}/.trezoremu/${TREZOR_PROFILE}"
|
|
if ! [[ -d "${TREZOR_PROFILE_DIR}" ]]; then
|
|
mkdir -p "${TREZOR_PROFILE_DIR}"
|
|
PORT=$(( ( RANDOM % 1000 ) + 1 + 21324 ))
|
|
echo "# autogenerated config" > "${TREZOR_PROFILE_DIR}/emu.config"
|
|
echo "TREZOR_UDP_PORT=\"\${TREZOR_UDP_PORT:-${PORT}}\"" >> "${TREZOR_PROFILE_DIR}/emu.config"
|
|
fi
|
|
fi
|
|
|
|
# load profile config
|
|
if [[ -f "${TREZOR_PROFILE_DIR}/emu.config" ]]; then
|
|
source "${TREZOR_PROFILE_DIR}/emu.config"
|
|
fi
|
|
|
|
# for profiling wrap
|
|
if [[ "$PROFILING" -gt 0 ]]; then
|
|
MAIN="${TREZOR_SRC}/../prof/prof.py"
|
|
else
|
|
MAIN="${TREZOR_SRC}/main.py"
|
|
fi
|
|
|
|
TREZOR_LOGFILE="${TREZOR_PROFILE_DIR}/trezor.log"
|
|
TREZOR_UDP_PORT="${TREZOR_UDP_PORT:-21324}"
|
|
TREZOR_PATH="${TREZOR_PATH:-udp:127.0.0.1:${TREZOR_UDP_PORT}}"
|
|
|
|
echo "TREZOR^emu profile name: ${TREZOR_PROFILE_NAME}"
|
|
echo "TREZOR^emu profile directory: ${TREZOR_PROFILE_DIR}"
|
|
echo "TREZOR^emu log file: ${TREZOR_LOGFILE}"
|
|
echo "TREZOR^emu UDP port: ${TREZOR_UDP_PORT}"
|
|
echo "TREZOR^emu path: ${TREZOR_PATH}"
|
|
echo "TREZOR^emu src: ${TREZOR_SRC}"
|
|
|
|
export TREZOR_PROFILE_NAME="${TREZOR_PROFILE_NAME}"
|
|
export TREZOR_PROFILE_DIR="${TREZOR_PROFILE_DIR}"
|
|
export TREZOR_LOGFILE="${TREZOR_LOGFILE}"
|
|
export TREZOR_UDP_PORT="${TREZOR_UDP_PORT}"
|
|
export TREZOR_PATH="${TREZOR_PATH}"
|
|
export TREZOR_SRC="${TREZOR_SRC}"
|
|
|
|
ARGS="-O${PYOPT} -X heapsize=${HEAPSIZE}"
|