| 
									
										
										
										
											2017-07-28 20:05:35 -04:00
										 |  |  | { lib }: | 
					
						
							| 
									
										
										
										
											2010-02-22 23:44:02 +00:00
										 |  |  | rec { | 
					
						
							| 
									
										
										
										
											2013-12-31 21:34:44 -05:00
										 |  |  |   pcBase = { | 
					
						
							| 
									
										
										
										
											2009-12-19 12:12:24 +00:00
										 |  |  |     name = "pc"; | 
					
						
							|  |  |  |     kernelBaseConfig = "defconfig"; | 
					
						
							| 
									
										
										
										
											2010-02-16 19:27:51 +00:00
										 |  |  |     # Build whatever possible as a module, if not stated in the extra config. | 
					
						
							|  |  |  |     kernelAutoModules = true; | 
					
						
							| 
									
										
										
										
											2010-02-18 11:34:48 +00:00
										 |  |  |     kernelTarget = "bzImage"; | 
					
						
							| 
									
										
										
										
											2009-12-19 12:12:24 +00:00
										 |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-31 21:34:44 -05:00
										 |  |  |   pc64 = pcBase // { kernelArch = "x86_64"; }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   pc32 = pcBase // { kernelArch = "i386"; }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   pc32_simplekernel = pc32 // { | 
					
						
							|  |  |  |     kernelAutoModules = false; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   pc64_simplekernel = pc64 // { | 
					
						
							| 
									
										
										
										
											2011-08-24 07:48:02 +00:00
										 |  |  |     kernelAutoModules = false; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-08-21 21:31:34 +02:00
										 |  |  |   powernv = { | 
					
						
							|  |  |  |     name = "PowerNV"; | 
					
						
							|  |  |  |     kernelArch = "powerpc"; | 
					
						
							|  |  |  |     kernelBaseConfig = "powernv_defconfig"; | 
					
						
							|  |  |  |     kernelTarget = "zImage"; | 
					
						
							|  |  |  |     kernelInstallTarget = "install"; | 
					
						
							|  |  |  |     kernelFile = "vmlinux"; | 
					
						
							|  |  |  |     kernelAutoModules = true; | 
					
						
							|  |  |  |     # avoid driver/FS trouble arising from unusual page size | 
					
						
							|  |  |  |     kernelExtraConfig = ''
 | 
					
						
							|  |  |  |       PPC_64K_PAGES n | 
					
						
							|  |  |  |       PPC_4K_PAGES y | 
					
						
							|  |  |  |       IPV6 y | 
					
						
							|  |  |  |     '';
 | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-11 15:02:18 -04:00
										 |  |  |   ## | 
					
						
							|  |  |  |   ## ARM | 
					
						
							|  |  |  |   ## | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-09 11:55:43 -07:00
										 |  |  |   pogoplug4 = { | 
					
						
							|  |  |  |     name = "pogoplug4"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     gcc = { | 
					
						
							|  |  |  |       arch = "armv5te"; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     kernelMajor = "2.6"; | 
					
						
							|  |  |  |     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; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-17 22:20:56 +00:00
										 |  |  |   sheevaplug = { | 
					
						
							| 
									
										
										
										
											2009-12-19 12:12:24 +00:00
										 |  |  |     name = "sheevaplug"; | 
					
						
							| 
									
										
										
										
											2010-03-10 20:44:48 +00:00
										 |  |  |     kernelMajor = "2.6"; | 
					
						
							| 
									
										
										
										
											2015-05-06 09:35:38 +02:00
										 |  |  |     kernelBaseConfig = "multi_v5_defconfig"; | 
					
						
							| 
									
										
										
										
											2012-12-06 15:51:52 +00:00
										 |  |  |     kernelArch = "arm"; | 
					
						
							|  |  |  |     kernelAutoModules = false; | 
					
						
							| 
									
										
										
										
											2017-02-08 22:13:18 -05:00
										 |  |  |     kernelExtraConfig = ''
 | 
					
						
							|  |  |  |       BLK_DEV_RAM y | 
					
						
							|  |  |  |       BLK_DEV_INITRD y | 
					
						
							|  |  |  |       BLK_DEV_CRYPTOLOOP m | 
					
						
							|  |  |  |       BLK_DEV_DM m | 
					
						
							|  |  |  |       DM_CRYPT m | 
					
						
							|  |  |  |       MD y | 
					
						
							|  |  |  |       REISERFS_FS m | 
					
						
							|  |  |  |       BTRFS_FS m | 
					
						
							|  |  |  |       XFS_FS m | 
					
						
							|  |  |  |       JFS_FS m | 
					
						
							|  |  |  |       EXT4_FS m | 
					
						
							|  |  |  |       USB_STORAGE_CYPRESS_ATACB m | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       # mv cesa requires this sw fallback, for mv-sha1 | 
					
						
							|  |  |  |       CRYPTO_SHA1 y | 
					
						
							|  |  |  |       # Fast crypto | 
					
						
							|  |  |  |       CRYPTO_TWOFISH y | 
					
						
							|  |  |  |       CRYPTO_TWOFISH_COMMON y | 
					
						
							|  |  |  |       CRYPTO_BLOWFISH y | 
					
						
							|  |  |  |       CRYPTO_BLOWFISH_COMMON y | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       IP_PNP y | 
					
						
							|  |  |  |       IP_PNP_DHCP 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 | 
					
						
							|  |  |  |       NETFILTER y | 
					
						
							|  |  |  |       IP_NF_IPTABLES y | 
					
						
							|  |  |  |       IP_NF_FILTER y | 
					
						
							|  |  |  |       IP_NF_MATCH_ADDRTYPE y | 
					
						
							|  |  |  |       IP_NF_TARGET_LOG y | 
					
						
							|  |  |  |       IP_NF_MANGLE y | 
					
						
							|  |  |  |       IPV6 m | 
					
						
							|  |  |  |       VLAN_8021Q m | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       CIFS y | 
					
						
							|  |  |  |       CIFS_XATTR y | 
					
						
							|  |  |  |       CIFS_POSIX y | 
					
						
							|  |  |  |       CIFS_FSCACHE y | 
					
						
							|  |  |  |       CIFS_ACL y | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       WATCHDOG y | 
					
						
							|  |  |  |       WATCHDOG_CORE y | 
					
						
							|  |  |  |       ORION_WATCHDOG m | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       ZRAM m | 
					
						
							|  |  |  |       NETCONSOLE m | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       # Disable OABI to have seccomp_filter (required for systemd) | 
					
						
							|  |  |  |       # https://github.com/raspberrypi/firmware/issues/651 | 
					
						
							|  |  |  |       OABI_COMPAT n | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       # 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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       # systemd uses cgroups | 
					
						
							|  |  |  |       CGROUPS y | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       # Latencytop | 
					
						
							|  |  |  |       LATENCYTOP y | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       # 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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       # Kdb, for kernel troubles | 
					
						
							|  |  |  |       KGDB y | 
					
						
							|  |  |  |       KGDB_SERIAL_CONSOLE y | 
					
						
							|  |  |  |       KGDB_KDB y | 
					
						
							|  |  |  |     '';
 | 
					
						
							| 
									
										
										
										
											2015-05-06 09:35:38 +02:00
										 |  |  |     kernelMakeFlags = [ "LOADADDR=0x0200000" ]; | 
					
						
							| 
									
										
										
										
											2012-12-06 15:51:52 +00:00
										 |  |  |     kernelTarget = "uImage"; | 
					
						
							| 
									
										
										
										
											2015-05-06 09:35:38 +02:00
										 |  |  |     kernelDTB = true; # Beyond 3.10 | 
					
						
							| 
									
										
										
										
											2016-07-17 00:11:34 +03:00
										 |  |  |     gcc = { | 
					
						
							|  |  |  |       arch = "armv5te"; | 
					
						
							|  |  |  |     }; | 
					
						
							| 
									
										
										
										
											2012-12-06 15:51:52 +00:00
										 |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   raspberrypi = { | 
					
						
							|  |  |  |     name = "raspberrypi"; | 
					
						
							|  |  |  |     kernelMajor = "2.6"; | 
					
						
							| 
									
										
										
										
											2017-11-03 15:50:19 +02:00
										 |  |  |     kernelBaseConfig = "bcm2835_defconfig"; | 
					
						
							| 
									
										
										
										
											2016-07-04 01:50:47 +03:00
										 |  |  |     kernelDTB = true; | 
					
						
							| 
									
										
										
										
											2009-12-28 10:35:34 +00:00
										 |  |  |     kernelArch = "arm"; | 
					
						
							| 
									
										
										
										
											2018-05-27 12:19:39 -04:00
										 |  |  |     kernelAutoModules = true; | 
					
						
							|  |  |  |     kernelPreferBuiltin = true; | 
					
						
							| 
									
										
										
										
											2017-02-08 22:13:18 -05:00
										 |  |  |     kernelExtraConfig = ''
 | 
					
						
							|  |  |  |       # Disable OABI to have seccomp_filter (required for systemd) | 
					
						
							|  |  |  |       # https://github.com/raspberrypi/firmware/issues/651 | 
					
						
							|  |  |  |       OABI_COMPAT n | 
					
						
							|  |  |  |     '';
 | 
					
						
							| 
									
										
										
										
											2013-01-28 19:26:27 +00:00
										 |  |  |     kernelTarget = "zImage"; | 
					
						
							| 
									
										
										
										
											2012-12-30 21:55:02 +00:00
										 |  |  |     gcc = { | 
					
						
							|  |  |  |       arch = "armv6"; | 
					
						
							|  |  |  |       fpu = "vfp"; | 
					
						
							|  |  |  |     }; | 
					
						
							| 
									
										
										
										
											2009-12-19 12:12:24 +00:00
										 |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-06 15:26:52 +02:00
										 |  |  |   # Legacy attribute, for compatibility with existing configs only. | 
					
						
							|  |  |  |   raspberrypi2 = armv7l-hf-multiplatform; | 
					
						
							| 
									
										
										
										
											2015-02-20 13:39:35 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-17 05:06:10 -07:00
										 |  |  |   scaleway-c1 = armv7l-hf-multiplatform // { | 
					
						
							|  |  |  |     gcc = { | 
					
						
							|  |  |  |       cpu = "cortex-a9"; | 
					
						
							|  |  |  |       fpu = "vfpv3"; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-23 04:16:29 +00:00
										 |  |  |   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"; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-17 15:56:47 +00:00
										 |  |  |   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"; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-10 10:59:29 +00:00
										 |  |  |   beaglebone = armv7l-hf-multiplatform // { | 
					
						
							| 
									
										
										
										
											2015-01-31 11:53:17 +01:00
										 |  |  |     name = "beaglebone"; | 
					
						
							| 
									
										
										
										
											2017-11-09 08:28:14 -08:00
										 |  |  |     kernelBaseConfig = "bb.org_defconfig"; | 
					
						
							| 
									
										
										
										
											2015-01-31 11:53:17 +01:00
										 |  |  |     kernelAutoModules = false; | 
					
						
							|  |  |  |     kernelExtraConfig = ""; # TBD kernel config | 
					
						
							|  |  |  |     kernelTarget = "zImage"; | 
					
						
							|  |  |  |   }; | 
					
						
							| 
									
										
										
										
											2015-05-06 11:15:46 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-11 17:35:56 -04:00
										 |  |  |   # https://developer.android.com/ndk/guides/abis#v7a | 
					
						
							|  |  |  |   armv7a-android =  { | 
					
						
							|  |  |  |     name = "armeabi-v7a"; | 
					
						
							|  |  |  |     gcc = { | 
					
						
							|  |  |  |       arch = "armv7-a"; | 
					
						
							|  |  |  |       float-abi = "softfp"; | 
					
						
							|  |  |  |       fpu = "vfpv3-d16"; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-05-06 11:15:46 +03:00
										 |  |  |   armv7l-hf-multiplatform = { | 
					
						
							|  |  |  |     name = "armv7l-hf-multiplatform"; | 
					
						
							| 
									
										
										
										
											2015-05-10 10:59:29 +00:00
										 |  |  |     kernelMajor = "2.6"; # Using "2.6" enables 2.6 kernel syscalls in glibc. | 
					
						
							| 
									
										
										
										
											2015-05-06 11:15:46 +03:00
										 |  |  |     kernelBaseConfig = "multi_v7_defconfig"; | 
					
						
							|  |  |  |     kernelArch = "arm"; | 
					
						
							| 
									
										
										
										
											2015-05-10 10:59:29 +00:00
										 |  |  |     kernelDTB = true; | 
					
						
							| 
									
										
										
										
											2017-03-23 03:06:09 +03:00
										 |  |  |     kernelAutoModules = true; | 
					
						
							|  |  |  |     kernelPreferBuiltin = true; | 
					
						
							| 
									
										
										
										
											2015-05-10 10:59:29 +00:00
										 |  |  |     kernelTarget = "zImage"; | 
					
						
							| 
									
										
										
										
											2017-02-08 22:13:18 -05:00
										 |  |  |     kernelExtraConfig = ''
 | 
					
						
							| 
									
										
										
										
											2018-02-02 18:13:37 +02:00
										 |  |  |       # 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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-08 22:13:18 -05:00
										 |  |  |       # Fix broken sunxi-sid nvmem driver. | 
					
						
							|  |  |  |       TI_CPTS y | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       # Hangs ODROID-XU4 | 
					
						
							|  |  |  |       ARM_BIG_LITTLE_CPUIDLE n | 
					
						
							| 
									
										
										
										
											2017-11-05 19:34:00 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |       # Disable OABI to have seccomp_filter (required for systemd) | 
					
						
							|  |  |  |       # https://github.com/raspberrypi/firmware/issues/651 | 
					
						
							|  |  |  |       OABI_COMPAT n | 
					
						
							| 
									
										
										
										
											2017-02-08 22:13:18 -05:00
										 |  |  |     '';
 | 
					
						
							| 
									
										
										
										
											2015-05-06 11:15:46 +03:00
										 |  |  |     gcc = { | 
					
						
							| 
									
										
										
										
											2015-05-10 10:59:29 +00:00
										 |  |  |       # 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: | 
					
						
							| 
									
										
										
										
											2016-07-17 00:14:22 +03:00
										 |  |  |       # https://wiki.debian.org/ArmHardFloatPort/VfpComparison | 
					
						
							| 
									
										
										
										
											2015-05-10 10:59:29 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-17 00:14:22 +03:00
										 |  |  |       # 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. | 
					
						
							| 
									
										
										
										
											2015-05-06 11:15:46 +03:00
										 |  |  |       arch = "armv7-a"; | 
					
						
							| 
									
										
										
										
											2016-07-17 00:14:22 +03:00
										 |  |  |       fpu = "vfpv3-d16"; | 
					
						
							| 
									
										
										
										
											2015-05-10 10:59:29 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |       # For Raspberry Pi the 2 the best would be: | 
					
						
							|  |  |  |       #   cpu = "cortex-a7"; | 
					
						
							|  |  |  |       #   fpu = "neon-vfpv4"; | 
					
						
							| 
									
										
										
										
											2015-05-06 11:15:46 +03:00
										 |  |  |     }; | 
					
						
							|  |  |  |   }; | 
					
						
							| 
									
										
										
										
											2015-05-10 10:59:29 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-05 00:47:23 +02:00
										 |  |  |   aarch64-multiplatform = { | 
					
						
							|  |  |  |     name = "aarch64-multiplatform"; | 
					
						
							|  |  |  |     kernelMajor = "2.6"; # Using "2.6" enables 2.6 kernel syscalls in glibc. | 
					
						
							|  |  |  |     kernelBaseConfig = "defconfig"; | 
					
						
							|  |  |  |     kernelArch = "arm64"; | 
					
						
							|  |  |  |     kernelDTB = true; | 
					
						
							| 
									
										
										
										
											2017-03-23 03:06:09 +03:00
										 |  |  |     kernelAutoModules = true; | 
					
						
							|  |  |  |     kernelPreferBuiltin = true; | 
					
						
							| 
									
										
										
										
											2016-12-27 01:51:23 +02:00
										 |  |  |     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 | 
					
						
							| 
									
										
										
										
											2017-07-27 18:56:34 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-17 15:53:51 -07:00
										 |  |  |       # Nvidia Tegra stuff. | 
					
						
							|  |  |  |       PCI_TEGRA y | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-07-27 18:56:34 +03:00
										 |  |  |       # 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 | 
					
						
							| 
									
										
										
										
											2016-12-27 01:51:23 +02:00
										 |  |  |     '';
 | 
					
						
							| 
									
										
										
										
											2016-02-05 00:47:23 +02:00
										 |  |  |     kernelTarget = "Image"; | 
					
						
							|  |  |  |     gcc = { | 
					
						
							|  |  |  |       arch = "armv8-a"; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-05-11 15:02:18 -04:00
										 |  |  |   ## | 
					
						
							|  |  |  |   ## 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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       VGA_CONSOLE n | 
					
						
							|  |  |  |       VT_HW_CONSOLE_BINDING y | 
					
						
							|  |  |  |       SERIAL_8250_CONSOLE y | 
					
						
							|  |  |  |       FRAMEBUFFER_CONSOLE y | 
					
						
							|  |  |  |       EXT2_FS y | 
					
						
							|  |  |  |       EXT3_FS y | 
					
						
							|  |  |  |       REISERFS_FS y | 
					
						
							|  |  |  |       MAGIC_SYSRQ y | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       # The kernel doesn't boot at all, with FTRACE | 
					
						
							|  |  |  |       FTRACE n | 
					
						
							|  |  |  |     '';
 | 
					
						
							|  |  |  |     kernelTarget = "vmlinux"; | 
					
						
							|  |  |  |     gcc = { | 
					
						
							|  |  |  |       arch = "loongson2f"; | 
					
						
							|  |  |  |       float = "hard"; | 
					
						
							|  |  |  |       abi = "n32"; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   ## | 
					
						
							|  |  |  |   ## Other | 
					
						
							|  |  |  |   ## | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-18 00:09:25 -05:00
										 |  |  |   riscv-multiplatform = bits: { | 
					
						
							|  |  |  |     name = "riscv-multiplatform"; | 
					
						
							|  |  |  |     kernelArch = "riscv"; | 
					
						
							|  |  |  |     bfdEmulation = "elf${bits}lriscv"; | 
					
						
							| 
									
										
										
										
											2018-02-19 12:14:22 -05:00
										 |  |  |     kernelTarget = "vmlinux"; | 
					
						
							|  |  |  |     kernelAutoModules = true; | 
					
						
							|  |  |  |     kernelBaseConfig = "defconfig"; | 
					
						
							|  |  |  |     kernelExtraConfig = ''
 | 
					
						
							|  |  |  |       FTRACE n | 
					
						
							| 
									
										
										
										
											2018-02-19 22:43:18 -05:00
										 |  |  |       SERIAL_OF_PLATFORM y | 
					
						
							| 
									
										
										
										
											2018-02-19 12:14:22 -05:00
										 |  |  |     '';
 | 
					
						
							| 
									
										
										
										
											2018-02-18 00:09:25 -05:00
										 |  |  |   }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-03-23 20:49:28 -04:00
										 |  |  |   selectBySystem = system: { | 
					
						
							| 
									
										
										
										
											2019-08-13 21:52:01 +00:00
										 |  |  |       i486-linux = pc32; | 
					
						
							|  |  |  |       i586-linux = pc32; | 
					
						
							|  |  |  |       i686-linux = pc32; | 
					
						
							|  |  |  |       x86_64-linux = pc64; | 
					
						
							|  |  |  |       armv5tel-linux = sheevaplug; | 
					
						
							|  |  |  |       armv6l-linux = raspberrypi; | 
					
						
							|  |  |  |       armv7a-linux = armv7l-hf-multiplatform; | 
					
						
							|  |  |  |       armv7l-linux = armv7l-hf-multiplatform; | 
					
						
							|  |  |  |       aarch64-linux = aarch64-multiplatform; | 
					
						
							|  |  |  |       mipsel-linux = fuloong2f_n32; | 
					
						
							|  |  |  |       powerpc64le-linux = powernv; | 
					
						
							| 
									
										
										
										
											2016-12-25 20:20:52 +02:00
										 |  |  |     }.${system} or pcBase; | 
					
						
							| 
									
										
										
										
											2009-12-19 12:12:24 +00:00
										 |  |  | } |