diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index 9ce697a1f7a..9dcd59066d0 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -2,7 +2,6 @@ rec { pcBase = { name = "pc"; - uboot = null; kernelHeadersBaseConfig = "defconfig"; kernelBaseConfig = "defconfig"; # Build whatever possible as a module, if not stated in the extra config. @@ -50,9 +49,6 @@ rec { kernelTarget = "uImage"; # TODO reenable once manual-config's config actually builds a .dtb and this is checked to be working #kernelDTB = true; - - # XXX can be anything non-null, pkgs actually only cares if it is set or not - uboot = "pogoplug4"; }; sheevaplug = { @@ -162,9 +158,6 @@ rec { ''; kernelMakeFlags = [ "LOADADDR=0x0200000" ]; kernelTarget = "uImage"; - uboot = "sheevaplug"; - # Only for uboot = uboot : - ubootConfig = "sheevaplug_config"; kernelDTB = true; # Beyond 3.10 gcc = { arch = "armv5te"; @@ -251,7 +244,6 @@ rec { LATENCYTOP y ''; kernelTarget = "zImage"; - uboot = null; gcc = { arch = "armv6"; fpu = "vfp"; @@ -342,7 +334,6 @@ rec { XEN? n ''; kernelTarget = "zImage"; - uboot = null; }; scaleway-c1 = armv7l-hf-multiplatform // { @@ -374,7 +365,6 @@ rec { kernelMakeFlags = [ "LOADADDR=0x10800000" ]; kernelTarget = "uImage"; kernelDTB = true; - uboot = true; #XXX: any non-null value here is needed so that mkimage is present to build kernelTarget uImage gcc = { cpu = "cortex-a9"; fpu = "neon"; @@ -464,7 +454,6 @@ rec { FTRACE n ''; kernelTarget = "vmlinux"; - uboot = null; gcc = { arch = "loongson2f"; abi = "n32"; @@ -477,7 +466,6 @@ rec { kernelAutoModules = false; kernelExtraConfig = ""; # TBD kernel config kernelTarget = "zImage"; - uboot = null; }; armv7l-hf-multiplatform = { @@ -489,7 +477,6 @@ rec { kernelDTB = true; kernelAutoModules = true; kernelPreferBuiltin = true; - uboot = null; kernelTarget = "zImage"; kernelExtraConfig = '' # Fix broken sunxi-sid nvmem driver. @@ -552,7 +539,6 @@ rec { # which our initrd builder can't currently do easily. USB_XHCI_TEGRA m ''; - uboot = null; kernelTarget = "Image"; gcc = { arch = "armv8-a"; diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix index 6fcdc93b104..5353ae82841 100644 --- a/pkgs/build-support/kernel/make-initrd.nix +++ b/pkgs/build-support/kernel/make-initrd.nix @@ -16,17 +16,14 @@ , hostPlatform }: -let - inputsFun = ubootName : [ perl cpio ] - ++ stdenv.lib.optional (ubootName != null) ubootTools; - makeUInitrdFun = ubootName : (ubootName != null); -in -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "initrd"; builder = ./make-initrd.sh; - nativeBuildInputs = inputsFun hostPlatform.platform.uboot; - makeUInitrd = makeUInitrdFun hostPlatform.platform.uboot; + makeUInitrd = hostPlatform.platform.kernelTarget == "uImage"; + + nativeBuildInputs = [ perl cpio ] + ++ stdenv.lib.optional makeUInitrd ubootTools; # !!! should use XML. objects = map (x: x.object) contents; diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 3912d9d10f5..c2f4e6843f5 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -29,7 +29,6 @@ , ... }: -assert stdenv.platform.name == "sheevaplug" -> stdenv.platform.uboot != null; assert stdenv.isLinux; let diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index 61349175c78..28ad5aeca35 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -224,8 +224,8 @@ stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKe enableParallelBuilding = true; - nativeBuildInputs = [ perl bc nettools openssl gmp libmpc mpfr ] ++ optional (stdenv.platform.uboot != null) - ubootTools; + nativeBuildInputs = [ perl bc nettools openssl gmp libmpc mpfr ] + ++ optional (stdenv.platform.kernelTarget == "uImage") ubootTools; hardeningDisable = [ "bindnow" "format" "fortify" "stackprotector" "pic" ]; @@ -244,10 +244,6 @@ stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKe karch = cp.kernelArch; - # !!! uboot has messed up cross-compiling, nativeDrv builds arm tools on x86, - # crossDrv builds x86 tools on x86 (but arm uboot). If this is fixed, uboot - # can just go into buildInputs (but not nativeBuildInputs since cp.uboot - # may be different from stdenv.platform.uboot) - buildInputs = optional (cp.uboot != null) ubootTools.crossDrv; + nativeBuildInputs = optional (cp.kernelTarget == "uImage") ubootTools; }; })