2
0
Fork 0

nixos: add qemu options for boot command line

This commit is contained in:
Emery Hemingway 2020-12-21 12:29:03 +01:00
parent b4f0b8f3a0
commit be38c7ba66
2 changed files with 23 additions and 10 deletions

View File

@ -39,6 +39,12 @@ in {
"-initrd '${pkgs.genodePackages.NOVA}/hypervisor-x86_64 arg=iommu logmem novpid serial,${config.genode.boot.image}/image.elf'"
];
virtualisation.qemu.kernel = "${pkgs.genodePackages.bender}/share/bender/bender";
virtualisation.qemu.initrd = "${pkgs.genodePackages.NOVA}/hypervisor-x86_64";
virtualisation.qemu.cmdline = "arg=iommu logmem novpid serial,${config.genode.boot.image}/image.elf";
boot.loader.grub.extraEntries = ''
menuentry 'Genode on NOVA' {
insmod multiboot2

View File

@ -404,6 +404,23 @@ in {
Enable the Qemu guest agent.
'';
};
kernel = mkOption {
type = types.path;
description = "Guest kernel.";
};
initrd = mkOption {
type = types.path;
description = "Guest initrd.";
};
cmdline = mkOption {
type = types.str;
description = "Command line options to pass to guest.";
};
};
virtualisation.useBootLoader = mkOption {
@ -506,16 +523,6 @@ in {
# FIXME: Consolidate this one day.
virtualisation.qemu.options = mkMerge [
(mkIf (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) [
"-usb"
"-device usb-tablet,bus=usb-bus.0"
])
(mkIf (pkgs.stdenv.isAarch32 || pkgs.stdenv.isAarch64) [
"-device virtio-gpu-pci"
"-device usb-ehci,id=usb0"
"-device usb-kbd"
"-device usb-tablet"
])
(mkIf cfg.useEFIBoot [
"-drive if=pflash,format=raw,unit=0,readonly,file=${efiFirmware}"
"-drive if=pflash,format=raw,unit=1,file=$NIX_EFI_VARS"