hypha: debug option for ensuring kernel logs can be seen

This commit is contained in:
Alex Zenla
2024-02-01 10:55:28 +00:00
parent 3a04a2fe26
commit c17aacb6c8
4 changed files with 16 additions and 2 deletions

View File

@ -33,6 +33,8 @@ enum Commands {
env: Option<Vec<String>>,
#[arg(short, long)]
attach: bool,
#[arg(long)]
debug: bool,
#[arg()]
image: String,
#[arg(allow_hyphen_values = true, trailing_var_arg = true)]
@ -76,6 +78,7 @@ fn main() -> Result<()> {
attach,
env,
run,
debug,
} => {
let kernel = map_kernel_path(&store_path, kernel);
let initrd = map_initrd_path(&store_path, initrd);
@ -88,6 +91,7 @@ fn main() -> Result<()> {
mem,
env,
if run.is_empty() { None } else { Some(run) },
debug,
)?;
println!("launched container: {}", uuid);
if attach {

View File

@ -71,6 +71,7 @@ impl Controller {
mem: u64,
env: Option<Vec<String>>,
run: Option<Vec<String>>,
debug: bool,
) -> Result<(Uuid, u32)> {
let uuid = Uuid::new_v4();
let name = format!("hypha-{uuid}");
@ -97,6 +98,9 @@ impl Controller {
let image_squashfs_loop = self.autoloop.loopify(image_squashfs_path)?;
let cfgblk_squashfs_loop = self.autoloop.loopify(cfgblk_squashfs_path)?;
let cmdline_options = [if debug { "debug" } else { "quiet" }, "elevator=noop"];
let cmdline = cmdline_options.join(" ");
let config = DomainConfig {
backend_domid: 0,
name: &name,
@ -104,7 +108,7 @@ impl Controller {
mem_mb: mem,
kernel_path,
initrd_path,
cmdline: "quiet elevator=noop",
cmdline: &cmdline,
disks: vec![
DomainDisk {
vdev: "xvda",