diff options
| -rw-r--r-- | nix/busybox.nix | 4 | ||||
| -rw-r--r-- | nix/initramfs.nix | 17 | ||||
| -rw-r--r-- | nix/kernel.nix | 19 |
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 + '' +} |
