I figured I’d “dumb down” that section below here, just in case any new user(s) like me has issues. Hopefully this is helpful and not just a spam post.
Make sure you are in ProxSpace and not the proxmark3 folder; If you are, issue a quit command
Issue Commands (Coffee Optional )
cd proxmark3
git pull
make clean && make all
./pm3-flash-bootrom
./pm3-flash-fullimage pm3
hw tune
Look for:
[+] LF antenna is OK
[+] HF antenna is OK
Note: If you completed the step for “A simple trick to speed things up”, where you forced ProxSpace to auto open the proxmark3 client, you don’t need to do this again, since you never changed the original file.
Git is a version control system, so there isn’t really any need to create a separate archive. If you want to go back you can always do git checkout *version* where the version is the commit number of the release.
I would think that you would only want to do a ‘mv’ command to save just the builds. I would have to check the exact location to save the builds, but yes, you wouldn’t need to save the source code at all.
If you are updating the client after an already fully compiled build, you dont need to make clean && make all as this will compile all the code again.
A faster way to compile the code from scratch is using the switch -j which takes advantage of hyper threading on your CPU (if supported of course). So compiling for the first time try: make clean -j && make all -j.
If compiling after after git pull on a compiled build before try just make -j as this will only compile newly changed files and use hyper threading to speed that process up.
If you have changed the makefile.platform the youll need to run make clean -j first.
Flashing the bootrom is very rarely needed so I usually skip manually flashing bootrom unless the files from git pull affect anything to do with bootrom.
There is also a combined command for flashing bootrom and then fullimage for you; pm3-flash-all.
The difference between running ./pm3 and pm3 is about local directory vs usr/local. If you usually like to call pm3 from any directory you must then, after compiling a new build, run make install -j to update the files in usr/local.
The script pm3 is just a little magic to automatically determine what port to use for the connected proxmark. This only becomes a little issue if you have multiple proxmarks connected to the same machine thus you would want to specifically call the client and tell it what port to use to ensure you are connecting to the correct proxmark.
No need to run hw tune as this is purely informational and does no active tuning of the antenna. Id generally only recommend running this command if you have made your own antenna and testing out its performance. However, if you are solely using the stock antennas, then no need to run hw tune
In short, to update from a previously compiled build I usually run:
Using the -j switch on an ARM based machine doesnt do any harm and still allows for additional jobs to be run.
Doing a make clean also doesnt hurt but its generally unnecessary if you are just looking to compile the client again and get going.
The steps I listed were all commands with 5.1 being executed within the client. I shouldve added on some additional non-command to make sure we are all getting our hydration in.
I agree that -j won’t do any harm. I just don’t see the point of adding it on my current machines.
At work I deal with “the cloud” or very large AIX systems. At home I go small and cheap. I am always impressed by the difference in size and compute power between when I first started and now.