From 98f511fe262e2df2e8dbd184790d17d965356dd5 Mon Sep 17 00:00:00 2001 From: Lan Tian Date: Sat, 14 Sep 2024 21:00:54 -0700 Subject: [PATCH] fix uefi by adding firmware #47 --- pkgs/default.nix | 1 + pkgs/pve-edk2-firmware/default.nix | 33 ++++++++++++++++++++++++++++++ pkgs/pve-qemu-server/default.nix | 2 ++ 3 files changed, 36 insertions(+) create mode 100644 pkgs/pve-edk2-firmware/default.nix diff --git a/pkgs/default.nix b/pkgs/default.nix index 8b198e7..b6e3910 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -43,6 +43,7 @@ let pve-common = callPackage ./pve-common { }; pve-container = callPackage ./pve-container { }; pve-docs = callPackage ./pve-docs { }; + pve-edk2-firmware = callPackage ./pve-edk2-firmware { }; pve-firewall = callPackage ./pve-firewall { }; pve-guest-common = callPackage ./pve-guest-common { }; pve-ha-manager = callPackage ./pve-ha-manager { }; diff --git a/pkgs/pve-edk2-firmware/default.nix b/pkgs/pve-edk2-firmware/default.nix new file mode 100644 index 0000000..965d11d --- /dev/null +++ b/pkgs/pve-edk2-firmware/default.nix @@ -0,0 +1,33 @@ +{ lib, pkg-config, stdenv, fetchgit, fetchurl, ... }: + +stdenv.mkDerivation rec { + pname = "pve-edk2-firmware"; + version = "2024.05.1"; + + + src = fetchurl { + url = "http://ftp.debian.org/debian/pool/main/e/edk2/ovmf_2024.05-1_all.deb"; + sha256 = "sha256-qIUJwmbNCRV8nSxTN/fkrydrzbnzyuLVjldL++Qym2Y="; + }; + + unpackPhase = '' + ar x $src + tar -xvf data.tar.xz + ''; + + buildInputs = [ ]; + + nativeBuildInputs = [ ]; + + installPhase = '' + TARGET=$out/usr/share/pve-edk2-firmware + mkdir -p $TARGET + cp -r usr/share/OVMF/* $TARGET + ''; + + meta = { + description = "pve-edk2-firmware 4M for UEFI bios firmwares"; + homepage = ""; + maintainers = with lib.maintainers; [ ]; + }; +} diff --git a/pkgs/pve-qemu-server/default.nix b/pkgs/pve-qemu-server/default.nix index e42edbc..2b68556 100644 --- a/pkgs/pve-qemu-server/default.nix +++ b/pkgs/pve-qemu-server/default.nix @@ -14,6 +14,7 @@ termreadline, socat, vncterm, + pve-edk2-firmware, }: let @@ -101,6 +102,7 @@ perl536.pkgs.toPerlModule ( -e "s|/usr/lib/qemu-server|$out/lib/qemu-server|" \ -e "s|/usr/share/qemu-server|$out/share/qemu-server|" \ -e "s|/usr/share/kvm|${pve-qemu}/share/qemu|" \ + -e "s|/usr/share/pve-edk2-firmware|${pve-edk2-firmware}/usr/share/pve-edk2-firmware|" \ -Ee "s|(/usr)?/s?bin/kvm|qemu-kvm|" \ -Ee "s|(/usr)?/s?bin/||" \ -e "s|socat|${socat}/bin/socat|" \