Files
Custom-Operating-System/utils/codeassistant/pongo_startup.py

41 lines
1.4 KiB
Python

import os
import subprocess
from git import Repo
rootdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
pongodir = rootdir + "/.cached/pongoOS"
if not os.path.exists(pongodir):
url = "https://github.com/xOS-Project/pongoOS.git"
print("Cloning pongoOS to ", pongodir)
Repo.clone_from(url, pongodir)
def run_command(cmd, cwd="."):
result = subprocess.run(
cmd, stdout=subprocess.PIPE, shell=True, cwd=cwd, env=os.environ.copy())
return (result.stdout.decode("ascii"), result.returncode)
print("Rebuilding pongoOS")
run_command("make -j16", pongodir)
print("Ready: pongoOS")
checkrain_exec = os.environ.get('CHECKRAIN')
if checkrain_exec is None:
print("Error: No provided $CHECKRAIN env variable.")
print("Please get a checkrain binary at http://checkra.in/ and set $CHECKRAIN to the binary path.")
print("")
print("E.g on macOS after getting binary and installing it to /Application, run:")
print("\texport CHECKRAIN=/Applications/checkra1n.app/Contents/MacOS/checkra1n")
exit(1)
print("Checkrain is found. Connect your device and switch it to DFU mode.")
run_command("$CHECKRAIN -k " + pongodir +
"/build/PongoConsolidated.bin -cpE", pongodir)
xos_outdir = os.path.dirname(rootdir) + "/out/"
pathrun = "python3 scripts/load_xos.py -k {0}/rawImage.bin -r {0}/one.img".format(
xos_outdir)
run_command(pathrun, pongodir)