summaryrefslogtreecommitdiff
path: root/release.nix
diff options
context:
space:
mode:
authortilpner2018-04-19 22:38:13 +0200
committertilpner2018-04-19 22:38:13 +0200
commitc52f9cb05ba3fd6533543d691de778091a30e2e1 (patch)
treeb3a01d2c338be776dbdb63cfe867a8b691c31765 /release.nix
downloadnixos-kexec-c52f9cb05ba3fd6533543d691de778091a30e2e1.tar.gz
nixos-kexec-c52f9cb05ba3fd6533543d691de778091a30e2e1.tar.xz
nixos-kexec-c52f9cb05ba3fd6533543d691de778091a30e2e1.zip
Initial commitHEADmaster
Diffstat (limited to 'release.nix')
-rw-r--r--release.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/release.nix b/release.nix
new file mode 100644
index 0000000..7dd11aa
--- /dev/null
+++ b/release.nix
@@ -0,0 +1,37 @@
+let
+ pkgs = import <nixpkgs> { config = {}; };
+ callPackage = pkgs.newScope self;
+ self = {
+ kexec_tarball = (import <nixpkgs/nixos> {
+ configuration = ./configuration.nix;
+ }).config.system.build.kexec_tarball;
+
+ kexec_bundle = (import <nixpkgs/nixos> {
+ configuration = ./configuration.nix;
+ }).config.system.build.kexec_bundle;
+
+ qemu_test1 = let
+ config = (import <nixpkgs/nixos> { configuration = ./configuration.nix; }).config;
+ image = config.system.build.image;
+ in pkgs.writeScriptBin "qemu_test1" ''
+ #!${pkgs.stdenv.shell}
+ export PATH=${pkgs.qemu_kvm}/bin/:$PATH
+
+ if ! test -e dummy_root.qcow2; then
+ qemu-img create -f qcow2 dummy_root.qcow2 20G
+ fi
+
+ qemu-kvm -kernel ${image}/kernel -initrd ${image}/initrd -m 2048 -append "init=${builtins.unsafeDiscardStringContext config.system.build.toplevel}/init ${toString config.boot.kernelParams}" -monitor stdio -drive index=0,id=drive1,file=dummy_root.qcow2,cache=writeback,werror=report,if=virtio
+ '';
+ qemu_test2 = pkgs.writeScriptBin "qemu_test2" ''
+ #!${pkgs.stdenv.shell}
+ export PATH=${pkgs.qemu_kvm}/bin/:$PATH
+
+ qemu-kvm -monitor stdio -drive index=0,id=drive1,file=dummy_root.qcow2,cache=writeback,werror=report,if=virtio
+ '';
+ qemu_test = pkgs.buildEnv {
+ name = "qemu_test";
+ paths = with self; [ qemu_test1 qemu_test2 ];
+ };
+ };
+in self