mirror of
https://github.com/edera-dev/krata.git
synced 2025-08-02 21:00:55 +00:00
35 lines
737 B
Rust
35 lines
737 B
Rust
use clap::Parser;
|
|
use hypha::ctl::Controller;
|
|
use hypha::error::Result;
|
|
|
|
#[derive(Parser, Debug)]
|
|
#[command(version, about)]
|
|
struct ControllerArgs {
|
|
#[arg(short, long)]
|
|
kernel: String,
|
|
|
|
#[arg(short = 'r', long)]
|
|
initrd: String,
|
|
|
|
#[arg(short, long)]
|
|
image: String,
|
|
|
|
#[arg(short, long, default_value_t = 1)]
|
|
cpus: u32,
|
|
|
|
#[arg(short, long, default_value_t = 512)]
|
|
mem: u64,
|
|
}
|
|
|
|
fn main() -> Result<()> {
|
|
env_logger::init();
|
|
|
|
let args = ControllerArgs::parse();
|
|
let mut controller =
|
|
Controller::new(args.kernel, args.initrd, args.image, args.cpus, args.mem)?;
|
|
controller.compile()?;
|
|
let domid = controller.launch()?;
|
|
println!("launched domain: {}", domid);
|
|
Ok(())
|
|
}
|