Squash commits for public release
This commit is contained in:
40
utils/codeassistant/pongo_startup.py
Normal file
40
utils/codeassistant/pongo_startup.py
Normal file
@@ -0,0 +1,40 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user