|
|
|
@ -75,18 +75,21 @@ let
|
|
|
|
|
config.genode.core.romModules)))
|
|
|
|
|
}] } ]'');
|
|
|
|
|
|
|
|
|
|
extraRoutes = lib.concatStringsSep ", " (lib.lists.flatten
|
|
|
|
|
(lib.mapAttrsToList (name: value:
|
|
|
|
|
map (suffix: ''
|
|
|
|
|
{ service =
|
|
|
|
|
{ name = "ROM"
|
|
|
|
|
, label =
|
|
|
|
|
Sigil.Init.LabelSelector.Type.Partial
|
|
|
|
|
{ prefix = Some "nixos -> ${name}", suffix = Some "${suffix}" }
|
|
|
|
|
extraRoutes = lib.concatStringsSep ", " (lib.lists.flatten (let
|
|
|
|
|
toRoutes = prefix:
|
|
|
|
|
lib.mapAttrsToList (name: value:
|
|
|
|
|
map (suffix: ''
|
|
|
|
|
{ service =
|
|
|
|
|
{ name = "ROM"
|
|
|
|
|
, label =
|
|
|
|
|
Sigil.Init.LabelSelector.Type.Partial
|
|
|
|
|
{ prefix = Some "${prefix}${name}", suffix = Some "${suffix}" }
|
|
|
|
|
}
|
|
|
|
|
, route = Sigil.Init.Route.parent (Some "${suffix}")
|
|
|
|
|
}
|
|
|
|
|
, route = Sigil.Init.Route.parent (Some "${suffix}")
|
|
|
|
|
}
|
|
|
|
|
'') value.coreROMs) config.genode.init.children));
|
|
|
|
|
'') value.coreROMs);
|
|
|
|
|
in (toRoutes "" config.genode.core.children)
|
|
|
|
|
++ (toRoutes "nixos -> " config.genode.init.children)));
|
|
|
|
|
|
|
|
|
|
extraCoreChildren = "[ ${
|
|
|
|
|
lib.concatStringsSep ", " (lib.mapAttrsToList
|
|
|
|
@ -293,24 +296,25 @@ in {
|
|
|
|
|
image = pkgs.callPackage "${modulesPath}/../lib/make-iso9660-image.nix" {
|
|
|
|
|
contents = erisContents;
|
|
|
|
|
compressImage = true;
|
|
|
|
|
storeContents = lib.attrsets.mapAttrsToList (name: child: {
|
|
|
|
|
object = child.configFile;
|
|
|
|
|
symlink = "/config/${name}";
|
|
|
|
|
}) config.genode.init.children;
|
|
|
|
|
volumeID = "sigil-store";
|
|
|
|
|
} + "/iso/cd.iso.zst";
|
|
|
|
|
guid = lib.uuidFrom (toString image);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
virtualisation.diskImage =
|
|
|
|
|
import ./lib/make-bootable-image.nix { inherit config lib pkgs; };
|
|
|
|
|
virtualisation.diskImage = if config.genode.core.storeBackend == "fs" then
|
|
|
|
|
import ./lib/make-bootable-image.nix { inherit config lib pkgs; }
|
|
|
|
|
else
|
|
|
|
|
null;
|
|
|
|
|
|
|
|
|
|
virtualisation.useBootLoader = config.genode.core.storeBackend == "fs";
|
|
|
|
|
|
|
|
|
|
virtualisation.qemu.options = let
|
|
|
|
|
blockCommon =
|
|
|
|
|
[ "-bios ${pkgs.buildPackages.buildPackages.OVMF.fd}/FV/OVMF.fd" ];
|
|
|
|
|
in {
|
|
|
|
|
fs = blockCommon;
|
|
|
|
|
net = [ ];
|
|
|
|
|
memory = [ ];
|
|
|
|
|
}.${config.genode.core.storeBackend};
|
|
|
|
|
virtualisation.qemu.options = {
|
|
|
|
|
fs = [ "-bios ${pkgs.buildPackages.buildPackages.OVMF.fd}/FV/OVMF.fd" ];
|
|
|
|
|
}.${config.genode.core.storeBackend} or [ ];
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|