kernel/meta/plugins/cli.py
2025-04-20 01:58:13 +02:00

24 lines
705 B
Python

from cutekit import cli, model, shell, builder
@cli.command(None, "boot", "Boot the kernel inside of Qemu")
def _(args: model.RegistryArgs):
registry = model.Registry.use(args)
target = registry.lookup('kernel-riscv32', model.Target)
assert target is not None
component = registry.lookup('core', model.Component)
assert component is not None
scope = builder.TargetScope(registry, target)
kernelProduct = builder.build(scope, component)[0]
shell.exec(*[
"qemu-system-riscv32",
"-machine", "virt",
"-bios", "default",
"-nographic",
"-serial", "mon:stdio",
"-kernel", str(kernelProduct.path),
"--no-reboot",
])