lib/systems: strip kernel to avoid reference cycles

Since https://github.com/NixOS/nixpkgs/pull/221707 we must ensure
that the image resulting from a kernel build is stripped.  If we do
not do this, there will be circular dependencies among its outpaths.

This commit fixes the breakage on mips.

Closes #224694
This commit is contained in:
Adam Joseph
2023-07-06 10:46:24 -07:00
parent 4d92ffb39b
commit 2458c94c9e
@@ -373,11 +373,20 @@ stdenv.mkDerivation ({
# Remove reference to kmod
sed -i Makefile -e 's|= ${buildPackages.kmod}/bin/depmod|= depmod|'
''
# unfortunately linux/arch/mips/Makefile does not understand installkernel
# and simply copies to $(INSTALL_PATH)/vmlinux-$(KERNELRELEASE)
+ lib.optionalString stdenv.hostPlatform.isMips ''
mv $out/vmlinux-* $out/vmlinux || true
mv $out/vmlinuz-* $out/vmlinuz || true
mv $out/System.map-* $out/System.map
'';
preFixup = ''
# Don't strip $dev/lib/modules/*/vmlinux
stripDebugList="$(cd $dev && echo lib/modules/*/build/*/)"
'' + lib.optionalString (stdenv.hostPlatform.isMips) ''
$STRIP -s $out/vmlinux || true
'';
enableParallelBuilding = true;