m1n1/proxyclient/run_guest.py
Hector Martin 19415bd6a5 run_guest.py: Support setting boot_args
Signed-off-by: Hector Martin <marcan@marcan.st>
2021-05-09 03:25:51 +09:00

29 lines
677 B
Python
Executable file

#!/usr/bin/env python3
import argparse, pathlib
parser = argparse.ArgumentParser(description='Run a Mach-O payload under the hypervisor')
parser.add_argument('payload', type=pathlib.Path)
parser.add_argument('boot_args', default=[], nargs="*")
args = parser.parse_args()
from proxy import *
from proxyutils import *
from utils import *
from hv import HV
iface = UartInterface()
p = M1N1Proxy(iface, debug=False)
bootstrap_port(iface, p)
u = ProxyUtils(p, heap_size = 128 * 1024 * 1024)
hv = HV(iface, p, u)
hv.init()
if len(args.boot_args) > 0:
boot_args = " ".join(args.boot_args)
hv.set_bootargs(boot_args)
hv.load_macho(args.payload.read_bytes())
hv.start()