anchor.diff:  
         FUSE_FS m
   
  -      # nixos mounts some cgroup
  -      CGROUPS y
  -
  -      # Latencytop
  -      LATENCYTOP y
  -
  -      # Disable the common config Xen, it doesn't build on ARM
  -      XEN? n
  -    '';
  -    kernelTarget = "zImage";
  -  };
  -
  -  scaleway-c1 = armv7l-hf-multiplatform // {
  -    gcc = {
  -      cpu = "cortex-a9";
  -      fpu = "vfpv3";
  -    };
  -  };
  -
  -  utilite = {
  -    name = "utilite";
  -    kernelMajor = "2.6";
  -    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;
  -    gcc = {
  -      cpu = "cortex-a9";
  -      fpu = "neon";
  -    };
  -  };
  -
  -  guruplug = sheevaplug // {
  -    # Define `CONFIG_MACH_GURUPLUG' (see
  -    # <http://kerneltrap.org/mailarchive/git-commits-head/2010/5/19/33618>)
  -    # and other GuruPlug-specific things.  Requires the `guruplug-defconfig'
  -    # patch.
  -
  -    kernelBaseConfig = "guruplug_defconfig";
  -  };
  -
  -  beaglebone = armv7l-hf-multiplatform // {
  -    name = "beaglebone";
  -    kernelBaseConfig = "bb.org_defconfig";
  -    kernelAutoModules = false;
  -    kernelExtraConfig = ""; # TBD kernel config
  -    kernelTarget = "zImage";
  -  };
  -
  -  # https://developer.android.com/ndk/guides/abis#armeabi
  -  armv5te-android = {
  -    name = "armeabi";
  -    gcc = {
  -      arch = "armv5te";
  -      float = "soft";
  -      float-abi = "soft";
  -    };
  -  };
  -
  -  # https://developer.android.com/ndk/guides/abis#v7a
  -  armv7a-android =  {
  -    name = "armeabi-v7a";
  -    gcc = {
  -      arch = "armv7-a";
  -      float = "hard";
  -      float-abi = "softfp";
  -      fpu = "vfpv3-d16";
  -    };
  -  };
  -
  -  armv7l-hf-multiplatform = {
  -    name = "armv7l-hf-multiplatform";
  -    kernelMajor = "2.6"; # Using "2.6" enables 2.6 kernel syscalls in glibc.
  -    kernelBaseConfig = "multi_v7_defconfig";
  -    kernelArch = "arm";
  -    kernelDTB = true;
  -    kernelAutoModules = true;
  -    kernelPreferBuiltin = true;
  -    kernelTarget = "zImage";
  -    kernelExtraConfig = ''
  -      # Serial port for Raspberry Pi 3. Upstream forgot to add it to the ARMv7 defconfig.
  -      SERIAL_8250_BCM2835AUX y
  -      SERIAL_8250_EXTENDED y
  -      SERIAL_8250_SHARE_IRQ y
  -
  -      # Fix broken sunxi-sid nvmem driver.
  -      TI_CPTS y
  -
  -      # Hangs ODROID-XU4
  -      ARM_BIG_LITTLE_CPUIDLE n
  -    '';
  -    gcc = {
  -      # Some table about fpu flags:
  -      # http://community.arm.com/servlet/JiveServlet/showImage/38-1981-3827/blogentry-103749-004812900+1365712953_thumb.png
  -      # Cortex-A5: -mfpu=neon-fp16
  -      # Cortex-A7 (rpi2): -mfpu=neon-vfpv4
  -      # Cortex-A8 (beaglebone): -mfpu=neon
  -      # Cortex-A9: -mfpu=neon-fp16
  -      # Cortex-A15: -mfpu=neon-vfpv4
  -
  -      # More about FPU:
  -      # https://wiki.debian.org/ArmHardFloatPort/VfpComparison
  -
  -      # vfpv3-d16 is what Debian uses and seems to be the best compromise: NEON is not supported in e.g. Scaleway or Tegra 2,
  -      # and the above page suggests NEON is only an improvement with hand-written assembly.
  -      arch = "armv7-a";
  -      fpu = "vfpv3-d16";
  -
  -      # For Raspberry Pi the 2 the best would be:
  -      #   cpu = "cortex-a7";
  -      #   fpu = "neon-vfpv4";
  -    };
  -  };
  -
  -  aarch64-multiplatform = {
  -    name = "aarch64-multiplatform";
  -    kernelMajor = "2.6"; # Using "2.6" enables 2.6 kernel syscalls in glibc.
  -    kernelBaseConfig = "defconfig";
  -    kernelArch = "arm64";
  -    kernelDTB = true;
  -    kernelAutoModules = true;
  -    kernelPreferBuiltin = true;
  -    kernelExtraConfig = ''
  -      # Raspberry Pi 3 stuff. Not needed for kernels >= 4.10.
  -      ARCH_BCM2835 y
  -      BCM2835_MBOX y
  -      BCM2835_WDT y
  -      RASPBERRYPI_FIRMWARE y
  -      RASPBERRYPI_POWER y
  -      SERIAL_8250_BCM2835AUX y
  -      SERIAL_8250_EXTENDED y
  -      SERIAL_8250_SHARE_IRQ y
  -
  -      # Cavium ThunderX stuff.
  -      PCI_HOST_THUNDER_ECAM y
  -
  -      # Nvidia Tegra stuff.
  -      PCI_TEGRA y
  -
  -      # The default (=y) forces us to have the XHCI firmware available in initrd,
  -      # which our initrd builder can't currently do easily.
  -      USB_XHCI_TEGRA m
  -    '';
  -    kernelTarget = "Image";
  -    gcc = {
  -      arch = "armv8-a";
  -    };
  -  };
  -
  -  ##
  -  ## MIPS
  -  ##
  -
  -  ben_nanonote = {
  -    name = "ben_nanonote";
  -    kernelMajor = "2.6";
  -    kernelArch = "mips";
  -    gcc = {
  -      arch = "mips32";
  -      float = "soft";
  -    };
  -  };
  -
  -  fuloong2f_n32 = {
  -    name = "fuloong2f_n32";
  -    kernelMajor = "2.6";
  -    kernelBaseConfig = "lemote2f_defconfig";
  -    kernelArch = "mips";
  -    kernelAutoModules = false;
  -    kernelExtraConfig = ''
  -      MIGRATION n
  -      COMPACTION n
  -
  -      # nixos mounts some cgroup
  -      CGROUPS y
  -
  -      BLK_DEV_RAM y
  -      BLK_DEV_INITRD y
  -      BLK_DEV_CRYPTOLOOP m
  -      BLK_DEV_DM m
  -      DM_CRYPT m
  -      MD y
  -      REISERFS_FS m
  -      EXT4_FS m
  -      USB_STORAGE_CYPRESS_ATACB m
  -
  -      IP_PNP y
  -      IP_PNP_DHCP y
  -      IP_PNP_BOOTP y
  -      NFS_FS y
  -      ROOT_NFS y
  -      TUN m
  -      NFS_V4 y
  -      NFS_V4_1 y
  -      NFS_FSCACHE y
  -      NFSD m
  -      NFSD_V2_ACL y
  -      NFSD_V3 y
  -      NFSD_V3_ACL y
  -      NFSD_V4 y
  -
  -      # Fail to build
  -      DRM n
  -      SCSI_ADVANSYS n
  -      USB_ISP1362_HCD n
  -      SND_SOC n
  -      SND_ALI5451 n
  -      FB_SAVAGE n
  -      SCSI_NSP32 n
  -      ATA_SFF n
  -      SUNGEM n
  -      IRDA n
  -      ATM_HE n
  -      SCSI_ACARD n
  -      BLK_DEV_CMD640_ENHANCED n
  -
  -      FUSE_FS m
  -
         # Needed for udev >= 150
         SYSFS_DEPRECATED_V2 n
   
  
positive.code: 
        # Latencytop
        LATENCYTOP y
      '';
      kernelTarget = "zImage";
      gcc = {
        arch = "armv6";
        fpu = "vfp";
        # TODO(@Ericson2314) what is this and is it a good idea? It was
        # used in some cross compilation examples but not others.
        #
        # abi = "aapcs-linux";
      };
    };
  
    raspberrypi2 = armv7l-hf-multiplatform // {
      name = "raspberrypi2";
      kernelAutoModules = false;
      kernelExtraConfig = ''
        BLK_DEV_RAM y
        BLK_DEV_INITRD y
        BLK_DEV_CRYPTOLOOP m
  
negative.code:       DM_CRYPT m
        MD y
        REISERFS_FS m
        EXT4_FS m
        USB_STORAGE_CYPRESS_ATACB m
  
        IP_PNP y
        IP_PNP_DHCP y
        IP_PNP_BOOTP y
        NFS_FS y
        ROOT_NFS y
        TUN m
  