diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix index 4322c8e2ff6..0bea38ab419 100644 --- a/lib/systems/platforms.nix +++ b/lib/systems/platforms.nix @@ -21,6 +21,39 @@ rec { kernelAutoModules = false; }; + pogoplug4 = { + name = "pogoplug4"; + + gcc = { + arch = "armv5te"; + float = "soft"; + }; + + kernelMajor = "2.6"; + kernelHeadersBaseConfig = "multi_v5_defconfig"; + kernelBaseConfig = "multi_v5_defconfig"; + kernelArch = "arm"; + kernelAutoModules = false; + kernelExtraConfig = + '' + # Ubi for the mtd + MTD_UBI y + UBIFS_FS y + UBIFS_FS_XATTR y + UBIFS_FS_ADVANCED_COMPR y + UBIFS_FS_LZO y + UBIFS_FS_ZLIB y + UBIFS_FS_DEBUG n + ''; + kernelMakeFlags = [ "LOADADDR=0x8000" ]; + 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 = { name = "sheevaplug"; kernelMajor = "2.6"; @@ -307,6 +340,43 @@ rec { uboot = null; }; + scaleway-c1 = armv7l-hf-multiplatform // { + gcc = { + cpu = "cortex-a9"; + fpu = "vfpv3"; + float = "hard"; + }; + }; + + utilite = { + name = "utilite"; + kernelMajor = "2.6"; + kernelHeadersBaseConfig = "multi_v7_defconfig"; + kernelBaseConfig = "multi_v7_defconfig"; + kernelArch = "arm"; + kernelAutoModules = false; + kernelExtraConfig = + '' + # Ubi for the mtd + MTD_UBI y + UBIFS_FS y + UBIFS_FS_XATTR y + UBIFS_FS_ADVANCED_COMPR y + UBIFS_FS_LZO y + UBIFS_FS_ZLIB y + UBIFS_FS_DEBUG n + ''; + 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"; + float = "hard"; + }; + }; + guruplug = sheevaplug // { # Define `CONFIG_MACH_GURUPLUG' (see # ) diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix index d2fadad8852..4c14581e331 100644 --- a/pkgs/misc/uboot/default.nix +++ b/pkgs/misc/uboot/default.nix @@ -123,6 +123,20 @@ in rec { filesToInstall = ["u-boot.bin"]; }; + ubootUtilite = buildUBoot rec { + defconfig = "cm_fx6_defconfig"; + targetPlatforms = ["armv7l-linux"]; + filesToInstall = ["u-boot-with-nand-spl.imx"]; + buildFlags = "u-boot-with-nand-spl.imx"; + postConfigure = '' + cat >> .config << EOF + CONFIG_CMD_SETEXPR=y + EOF + ''; + # sata init; load sata 0 $loadaddr u-boot-with-nand-spl.imx + # sf probe; sf update $loadaddr 0 80000 + }; + ubootWandboard = buildUBoot rec { defconfig = "wandboard_defconfig"; targetPlatforms = ["armv7l-linux"]; diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix index 47c61aaad81..a8c1e800202 100644 --- a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix +++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix @@ -62,8 +62,30 @@ let }; }; + scaleway-c1-crossSystem.crossSystem = armv7l-hf-multiplatform-crossSystem.crossSystem // rec { + platform = pkgsNoParams.platforms.scaleway-c1; + inherit (platform) gcc; + inherit (gcc) fpu; + }; + + pogoplug4-crossSystem.crossSystem = { + arch = "armv5tel"; + config = "armv5tel-softfloat-linux-gnueabi"; + float = "soft"; + + platform = pkgsNoParams.platforms.pogoplug4; + + inherit (pkgsNoParams.platforms.pogoplug4) gcc; + libc = "glibc"; + + withTLS = true; + openssl.system = "linux-generic32"; + }; + selectedCrossSystem = if toolsArch == "armv5tel" then sheevaplugCrossSystem else + if toolsArch == "scaleway" then scaleway-c1-crossSystem else + if toolsArch == "pogoplug4" then pogoplug4-crossSystem else if toolsArch == "armv6l" then raspberrypiCrossSystem else if toolsArch == "armv7l" then armv7l-hf-multiplatform-crossSystem else if toolsArch == "aarch64" then aarch64-multiplatform-crossSystem else null; @@ -279,4 +301,6 @@ rec { armv6l = buildFor "armv6l"; armv7l = buildFor "armv7l"; aarch64 = buildFor "aarch64"; + scaleway = buildFor "scaleway"; + pogoplug4 = buildFor "pogoplug4"; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7e0935a23d3..e8d7ba3a090 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12275,6 +12275,7 @@ with pkgs; ubootRaspberryPi2 ubootRaspberryPi3_32bit ubootRaspberryPi3_64bit + ubootUtilite ubootWandboard ;