diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-04-25 16:20:13 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-04-27 23:35:50 +0000 |
commit | b571cee2499c445f7a542c8bb09789dcb8d65890 (patch) | |
tree | eeed4f9d1003f5af6a748218555ca1ba66428564 /img/app/default.nix | |
parent | 69393c7c80c43349c907d516c69eaf557b443304 (diff) | |
download | spectrum-b571cee2499c445f7a542c8bb09789dcb8d65890.tar spectrum-b571cee2499c445f7a542c8bb09789dcb8d65890.tar.gz spectrum-b571cee2499c445f7a542c8bb09789dcb8d65890.tar.bz2 spectrum-b571cee2499c445f7a542c8bb09789dcb8d65890.tar.lz spectrum-b571cee2499c445f7a542c8bb09789dcb8d65890.tar.xz spectrum-b571cee2499c445f7a542c8bb09789dcb8d65890.tar.zst spectrum-b571cee2499c445f7a542c8bb09789dcb8d65890.zip |
vm: use a stripped vmlinux
This reduces the combined image from 9.1G to 7.2G, and also gets us away from using the vmlinux from dev, which we wouldn't be able to do on aarch64 anyway. Signed-off-by: Alyssa Ross <hi@alyssa.is>
Diffstat (limited to 'img/app/default.nix')
-rw-r--r-- | img/app/default.nix | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/img/app/default.nix b/img/app/default.nix index 194c590..3073a0e 100644 --- a/img/app/default.nix +++ b/img/app/default.nix @@ -51,7 +51,7 @@ let -T ${writeReferencesToFile packagesSysroot} . ''; - kernel = buildPackages.linux.override { + kernel = (buildPackages.linux_latest.override { structuredExtraConfig = with lib.kernel; { VIRTIO = yes; VIRTIO_PCI = yes; @@ -59,7 +59,17 @@ let VIRTIO_CONSOLE = yes; EXT4_FS = yes; }; - }; + }).overrideAttrs ({ installFlags ? [], ... }: { + installFlags = installFlags ++ [ + # vmlinux.bin is the stripped version of vmlinux. + # Confusingly, compressed/vmlinux.bin is the stripped version of + # the top-level vmlinux target, while the top-level vmlinux.bin + # is the stripped version of compressed/vmlinux. So we use + # compressed/vmlinux.bin, since we want a stripped version of + # the kernel that *hasn't* been built to be compressed. Weird! + "KBUILD_IMAGE=$(boot)/compressed/vmlinux.bin" + ]; + }); in stdenvNoCC.mkDerivation { @@ -71,7 +81,7 @@ stdenvNoCC.mkDerivation { nativeBuildInputs = [ jq lseek s6-rc tar2ext4 util-linux ]; PACKAGES_TAR = packagesTar; - KERNEL = "${kernel.dev}/vmlinux"; + KERNEL = "${kernel}/vmlinux.bin"; makeFlags = [ "prefix=$(out)" ]; |