aboutsummaryrefslogtreecommitdiff
path: root/nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix')
-rw-r--r--nix/busybox.nix4
-rw-r--r--nix/initramfs.nix17
-rw-r--r--nix/kernel.nix19
3 files changed, 38 insertions, 2 deletions
diff --git a/nix/busybox.nix b/nix/busybox.nix
index 9993e2d..b7fa944 100644
--- a/nix/busybox.nix
+++ b/nix/busybox.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
preConfigure = ''
cp ${./busybox_config} .config
'';
- installPhase = {
+ installPhase = ''
make install CONFIG_PREFIX=$out
- };
+ '';
}
diff --git a/nix/initramfs.nix b/nix/initramfs.nix
index e69de29..6ca3865 100644
--- a/nix/initramfs.nix
+++ b/nix/initramfs.nix
@@ -0,0 +1,17 @@
+{ stdenv, kernel, busybox, cpio }:
+
+stdenv.mkDerivation {
+ name = "initramfs-yerba";
+ src = ./.;
+ buildInputs = [ cpio ];
+ buildPhase = ''
+ mkdir -p $out
+ # Create initramfs directory structure
+ mkdir -p initramfs/bin
+ cp -a ${busybox}/bin/* initramfs/bin/
+ cp ${./initramfs_init} initramfs/init
+ chmod +x initramfs/init
+ cd initramfs
+ find . | cpio -o -H newc | gzip > $out/initramfs.cpio.gz
+ '';
+}
diff --git a/nix/kernel.nix b/nix/kernel.nix
index e69de29..fdc4ac4 100644
--- a/nix/kernel.nix
+++ b/nix/kernel.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchgit }
+
+stdenv.mkDerivation {
+ name = "linux-yerba";
+ src = fetchgit {
+ url = "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git";
+ rev = "v7.0.7";
+ hash = "";
+ };
+ preConfigure = ''
+ cp ${./linux_config} .config
+ '';
+ buildPhase = ''
+ make -j$NIX_BUILD_CORES bzImage
+ '';
+ installPhase = ''
+ cp arch/x86/boot/bzImage $out
+ ''
+}