rework shell scripts for easy client or flasher

This commit is contained in:
Philippe Teuwen 2019-04-27 11:25:07 +02:00
commit ae5b6fa169
6 changed files with 51 additions and 43 deletions

4
flash-all.sh Executable file
View file

@ -0,0 +1,4 @@
#!/bin/bash
cd $(dirname "$0")
. proxmark3.sh

4
flash-bootrom.sh Executable file
View file

@ -0,0 +1,4 @@
#!/bin/bash
cd $(dirname "$0")
. proxmark3.sh

4
flash-fullimage.sh Executable file
View file

@ -0,0 +1,4 @@
#!/bin/bash
cd $(dirname "$0")
. proxmark3.sh

View file

@ -1,5 +1,10 @@
#!/bin/bash
FULLIMAGE="armsrc/obj/fullimage.elf"
BOOTIMAGE="bootrom/obj/bootrom.elf"
cd $(dirname "$0")
function wait4proxmark_Linux {
echo >&2 "Waiting for Proxmark to appear..."
while [ ! -c /dev/ttyACM? -a ! -c /dev/pm3-? ]; do
@ -23,10 +28,38 @@ function wait4proxmark_macOS {
echo $PM3
}
# start proxmark with first detected interface
SCRIPT=$(basename -- "$0")
if [[ $(uname | awk '{print toupper($0)}') == "LINUX" ]]; then
client/proxmark3 $(wait4proxmark_Linux) "$@"
elif [[ $(uname | awk '{print toupper($0)}') == "DARWIN" ]]; then
client/proxmark3 $(wait4proxmark_macOS) "$@"
if [ "$SCRIPT" = "proxmark3.sh" ]; then
CMD=client/proxmark3
elif [ "$SCRIPT" = "flash-all.sh" ]; then
CMD=client/flasher
ARG1="-b $BOOTIMAGE"
ARG2="$FULLIMAGE"
elif [ "$SCRIPT" = "flash-fullimage.sh" ]; then
CMD=client/flasher
ARG2="$FULLIMAGE"
elif [ "$SCRIPT" = "flash-bootrom.sh" ]; then
CMD=client/flasher
ARG1="-b $BOOTIMAGE"
else
echo "Script ran under unknown name, abort: $SCRIPT"
exit 1
fi
HOSTOS=$(uname | awk '{print toupper($0)}')
if [ "$HOSTOS" = "LINUX" ]; then
PORT=$(wait4proxmark_Linux)
elif [ "$HOSTOS" = "DARWIN" ]; then
PORT=$(wait4proxmark_macOS)
else
echo "Host OS not recognized, abort: $HOSTOS"
exit 1
fi
if [ "$PORT" = "" ]; then
echo "No port, abort"
exit 1
fi
echo Running "$CMD" "$PORT" $ARG1 $ARG2 "$@"
"$CMD" "$PORT" $ARG1 $ARG2 "$@"
exit $?

View file

@ -14,7 +14,7 @@ $ENV{'LC_ALL'} = "C";
$ENV{'LANG'} = "C";
# if you are making your own fork, change this line to reflect your fork-name
my $fullgitinfo = 'iceman';
my $fullgitinfo = 'RRG';
my $ctime;
# GIT status 0 = dirty, 1 = clean , 2 = undecided
my $clean = 2;

View file

@ -1,37 +0,0 @@
#!/bin/bash
FULLIMAGE="armsrc/obj/fullimage.elf"
if [ "$1" == "-b" ]; then
FLASHBOOT="-b bootrom/obj/bootrom.elf"
fi
function wait4proxmark_Linux {
echo >&2 "Waiting for Proxmark to appear..."
while [ ! -c /dev/ttyACM? -a ! -L /dev/pm3-? ]; do
sleep .1
done
local PM3=`ls -1 /dev/pm3-? /dev/ttyACM? 2>/dev/null | head -1`
echo >&2 -e "Found proxmark on ${PM3}\n"
echo $PM3
}
function wait4proxmark_macOS {
echo >&2 "Waiting for Proxmark to appear..."
while true; do
PM3=$(ls /dev/pm3-* /dev/cu.usbmodem* 2>/dev/null | head -1)
if [[ $PM3 != "" ]]; then
#echo >&2 -e "Found proxmark on $(ls /dev/pm3-* /dev/cu.usbmodem* 2>/dev/null | head -1)\n"
break
fi
sleep .1
done
echo $PM3
}
# Detect OS and flash bootroom & system image
if [[ $(uname | awk '{print toupper($0)}') == "LINUX" ]]; then
client/flasher $(wait4proxmark_Linux) $FLASHBOOT $FULLIMAGE
elif [[ $(uname | awk '{print toupper($0)}') == "DARWIN" ]]; then
client/flasher $(wait4proxmark_macOS) $FLASHBOOT $FULLIMAGE
fi