An All-In-One toolchain build environment suite for use with the PAX S920 payment terminals running the ProlinOS Linux-based operating systen. Beware that, by using this toolchain, you are already more than well aware of all required pre-requisites like the root process or other dependencies.
either download the repo from this link and unpack it or just git clone if you already have git installed.
our toolchain script includes all necessary checks to make sure you have all things needed, just run
./setup_toolchain.shNixOS wants to be special, so let's let it be so. Just run
nix-shell
./setup_toolchain.shbuild environment on Windows is supported, but highly experimental!
to get working directly on Windows, just open the windows.bat batch script file. The same applies for opening the build environment later on as well.
Beware that you will have to run it multiple times, but it essentially combines everything the other systems need in an all in one solution.
make sure you have gcc, python3, python3-venv, git, swig, openssl + devel, qemu-user-static installed and or their equivalents. Beware, that you are on your own as other platforms do not get any higher level of support.
./setup_toolchain.shcontinue (or start on your next session) with
source env.shin case you plugged your terminal over USB or the IP/hostname changed, run this command to change the XCB settings
paxreconfigureyou will be once again asked to either write the whole /dev/ path of the PAX or the IP/hostname with the :5555 port
a handy command to install your public keys from ~/.ssh or from a specified file path
paxdeployssh
# or if you want to specify a file as well
paxdeployssh ~/.ssh/id_ed25519.pubused as a shorter alias for the xcb command
paxpush <local source 1> <local source 2> .. <pax destination>
#eg. paxpush osal_test.c /data/app/MAINAPP/libosal.soused as a shorter alias for the xcb command
paxpull <pax source> [optional: local destination]
#eg. paxpull /usr/lib/libcbinder.so libcbinder.soused as a shorter alias for the xcb command
paxls <pax directory>
#eg. paxls /data/app/MAINAPPused as a shorter alias for the xcb command
paxdump <dump name> [optional: device path to dump]
#eg. paxdump mydumpThe resulting dump will be stored in dumps/<dump name> inside the working directory.
the official way of distributing packages is using the handy app package manager
download using the homebrew downloader (coming soon or never)
for building homebrew:
traverse into the homebrew folder, pick your desired port and run ./build.sh or make
see pax-docs