diff options
author | Thomas Strobel <ts468@cam.ac.uk> | 2015-01-26 21:13:31 +0100 |
---|---|---|
committer | Thomas Strobel <ts468@cam.ac.uk> | 2015-02-16 20:07:42 +0100 |
commit | 80afabd5b5d034d41792b7cf99d3ca87ae34596a (patch) | |
tree | 2ce67bd96ef816d0ce04e01ccb5f59ff578ea9ce /pkgs/applications/virtualization/seabios | |
parent | b9cc04329b19119ae0b2a410868d014f3f82cf10 (diff) |
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.nix | 44 |
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; + }; +} + |