diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-04-18 16:53:11 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-04-18 19:16:51 +0000 |
commit | ddcb48cc3d176bae330a3d9fd0dfcc4038f1085b (patch) | |
tree | e7917b7ca7b1b426989947bb6aa51f6561ee44a3 /pkgs/os-specific/bsd | |
parent | 37ac32a351f3ce93bd731e9fbf5f54f1c37829f1 (diff) | |
download | nixpkgs-ddcb48cc3d176bae330a3d9fd0dfcc4038f1085b.tar nixpkgs-ddcb48cc3d176bae330a3d9fd0dfcc4038f1085b.tar.gz nixpkgs-ddcb48cc3d176bae330a3d9fd0dfcc4038f1085b.tar.bz2 nixpkgs-ddcb48cc3d176bae330a3d9fd0dfcc4038f1085b.tar.lz nixpkgs-ddcb48cc3d176bae330a3d9fd0dfcc4038f1085b.tar.xz nixpkgs-ddcb48cc3d176bae330a3d9fd0dfcc4038f1085b.tar.zst nixpkgs-ddcb48cc3d176bae330a3d9fd0dfcc4038f1085b.zip |
netbsd.sys: actually build the kernel
Before, we were only building the headers, firmware, and bootloader. CONFIG could be overridden to use another pre-defined kernel, but there's no way to pass a custom kernel configuration yet. Tested booting the built kernel in a NetBSD VM.
Diffstat (limited to 'pkgs/os-specific/bsd')
-rw-r--r-- | pkgs/os-specific/bsd/netbsd/default.nix | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/pkgs/os-specific/bsd/netbsd/default.nix b/pkgs/os-specific/bsd/netbsd/default.nix index c94f00f4782..112a70917cf 100644 --- a/pkgs/os-specific/bsd/netbsd/default.nix +++ b/pkgs/os-specific/bsd/netbsd/default.nix @@ -433,12 +433,35 @@ let path = "sys"; version = "8.0"; sha256 = "123ilg8fqmp69bw6bs6nh98fpi1v2n9lamrzar61p27ji6sj7g0w"; + + CONFIG = "GENERIC"; + propagatedBuildInputs = [ include ]; - nativeBuildInputs = [ makeMinimal install tsort lorder statHook uudecode ]; + nativeBuildInputs = [ + makeMinimal install tsort lorder statHook uudecode config genassym + ]; + + postConfigure = '' + pushd arch/$MACHINE/conf + config $CONFIG + popd + ''; + + makeFlags = [ "FIRMWAREDIR=$(out)/libdata/firmware" ]; + hardeningDisable = [ "pic" ]; + MKKMOD = "no"; + NIX_CFLAGS_COMPILE = [ "-Wa,--no-warn" ]; + + postBuild = '' + make -C arch/$MACHINE/compile/$CONFIG $makeFlags + ''; + + postInstall = '' + cp arch/$MACHINE/compile/$CONFIG/netbsd $out + ''; + meta.platforms = lib.platforms.netbsd; extraPaths = [ common.src ]; - MKKMOD = "no"; - makeFlags = [ "FIRMWAREDIR=$(out)/libdata/firmware" ]; }; headers = symlinkJoin { |