summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric Litak <elitak@gmail.com>2016-05-09 11:55:43 -0700
committerEric Litak <elitak@gmail.com>2017-04-19 14:09:56 -0700
commitc3eca1f8dc19b27a6c0b55f24f5ac9baab395221 (patch)
tree004de6086372328f153a862f7aae52bd87ce976d
parent3b7395683c6c2deeee58432c6a3a383f24b511eb (diff)
downloadnixlib-c3eca1f8dc19b27a6c0b55f24f5ac9baab395221.tar
nixlib-c3eca1f8dc19b27a6c0b55f24f5ac9baab395221.tar.gz
nixlib-c3eca1f8dc19b27a6c0b55f24f5ac9baab395221.tar.bz2
nixlib-c3eca1f8dc19b27a6c0b55f24f5ac9baab395221.tar.lz
nixlib-c3eca1f8dc19b27a6c0b55f24f5ac9baab395221.tar.xz
nixlib-c3eca1f8dc19b27a6c0b55f24f5ac9baab395221.tar.zst
nixlib-c3eca1f8dc19b27a6c0b55f24f5ac9baab395221.zip
platforms: add pogoplug4 (armv5tel softfloat)
-rw-r--r--lib/systems/platforms.nix33
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools-cross.nix16
2 files changed, 49 insertions, 0 deletions
diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix
index 24634f83a495..ccf3380e1f69 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";
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
index 3eb902c890db..1e488601276b 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
@@ -68,9 +68,24 @@ let
     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;
@@ -285,4 +300,5 @@ rec {
     armv7l = buildFor "armv7l";
     aarch64 = buildFor "aarch64";
     scaleway = buildFor "scaleway";
+    pogoplug4 = buildFor "pogoplug4";
 }