summary refs log tree commit diff
path: root/pkgs/applications/virtualization/seabios
diff options
context:
space:
mode:
authorThomas Strobel <ts468@cam.ac.uk>2015-01-26 21:13:31 +0100
committerThomas Strobel <ts468@cam.ac.uk>2015-02-16 20:07:42 +0100
commit80afabd5b5d034d41792b7cf99d3ca87ae34596a (patch)
tree2ce67bd96ef816d0ce04e01ccb5f59ff578ea9ce /pkgs/applications/virtualization/seabios
parentb9cc04329b19119ae0b2a410868d014f3f82cf10 (diff)
downloadnixlib-80afabd5b5d034d41792b7cf99d3ca87ae34596a.tar
nixlib-80afabd5b5d034d41792b7cf99d3ca87ae34596a.tar.gz
nixlib-80afabd5b5d034d41792b7cf99d3ca87ae34596a.tar.bz2
nixlib-80afabd5b5d034d41792b7cf99d3ca87ae34596a.tar.lz
nixlib-80afabd5b5d034d41792b7cf99d3ca87ae34596a.tar.xz
nixlib-80afabd5b5d034d41792b7cf99d3ca87ae34596a.tar.zst
nixlib-80afabd5b5d034d41792b7cf99d3ca87ae34596a.zip
Update QEMU Nixos Virtual Machine
The Nixos Qemu VM that are used for VM tests can now start without
boot menu even when using a bootloader.
The Nixos Qemu VM with bootloader can emulate a EFI boot now.
Diffstat (limited to 'pkgs/applications/virtualization/seabios')
-rw-r--r--pkgs/applications/virtualization/seabios/default.nix44
1 files changed, 44 insertions, 0 deletions
diff --git a/pkgs/applications/virtualization/seabios/default.nix b/pkgs/applications/virtualization/seabios/default.nix
new file mode 100644
index 000000000000..8e6a7fcb0d26
--- /dev/null
+++ b/pkgs/applications/virtualization/seabios/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, iasl, python }:
+
+stdenv.mkDerivation rec {
+
+  name = "seabios-${version}";
+  version = "1.7.5.2";
+
+  src = fetchurl {
+    url = "http://code.coreboot.org/p/seabios/downloads/get/${name}.tar.gz";
+    sha256 = "1syd3gi5gq0gj2pjvmdis64xc3j1xf0jgy49ngymap0pdpm0cmh0";
+  };
+
+  buildInputs = [ iasl python ];
+
+  configurePhase = ''
+    # build SeaBIOS for CSM
+    cat > .config << EOF
+    CONFIG_CSM=y
+    CONFIG_QEMU_HARDWARE=y
+    CONFIG_PERMIT_UNALIGNED_PCIROM=y
+    EOF
+
+    make olddefconfig
+    '';
+
+  installPhase = ''
+    mkdir $out
+    cp out/Csm16.bin $out/Csm16.bin
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Open source implementation of a 16bit X86 BIOS";
+    longDescription = ''
+      SeaBIOS is an open source implementation of a 16bit X86 BIOS.
+      It can run in an emulator or it can run natively on X86 hardware with the use of coreboot.
+      SeaBIOS is the default BIOS for QEMU and KVM.
+    '';
+    homepage = http://www.seabios.org;
+    license = licenses.lgpl3;
+    maintainers = [ maintainers.tstrobel ];
+    platforms = platforms.linux;
+  };
+}
+