hypha: implement loop device support directly to avoid devd

This commit is contained in:
Alex Zenla
2024-01-21 00:13:05 -08:00
parent 7d9652636f
commit ba156e43da
12 changed files with 765 additions and 21 deletions

View File

@ -9,15 +9,21 @@ use uuid::Uuid;
pub struct ConfigBlock<'a> {
pub image_info: &'a ImageInfo,
pub file: PathBuf,
pub dir: PathBuf,
}
impl ConfigBlock<'_> {
pub fn new<'a>(uuid: &Uuid, image_info: &'a ImageInfo) -> Result<ConfigBlock<'a>> {
let mut file = std::env::temp_dir().clone();
file.push(format!("hypha-cfg-{}", uuid));
fs::create_dir_all(&file)?;
let mut dir = std::env::temp_dir().clone();
dir.push(format!("hypha-cfg-{}", uuid));
fs::create_dir_all(&dir)?;
let mut file = dir.clone();
file.push("config.squashfs");
Ok(ConfigBlock { image_info, file })
Ok(ConfigBlock {
image_info,
file,
dir,
})
}
pub fn build(&self) -> Result<()> {