From c3eca1f8dc19b27a6c0b55f24f5ac9baab395221 Mon Sep 17 00:00:00 2001 From: Eric Litak Date: Mon, 9 May 2016 11:55:43 -0700 Subject: platforms: add pogoplug4 (armv5tel softfloat) --- lib/systems/platforms.nix | 33 ++++++++++++++++++++++++ pkgs/stdenv/linux/make-bootstrap-tools-cross.nix | 16 ++++++++++++ 2 files changed, 49 insertions(+) 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"; } -- cgit 1.4.1