nixpkgs/pkgs/top-level/platforms.nix

140 lines
3.0 KiB
Nix
Raw Normal View History

{ system, pkgs}:
with pkgs;
rec {
pc = assert system == "i686-linux" || system == "x86_64-linux"; {
name = "pc";
uboot = null;
kernelBaseConfig = "defconfig";
# Build whatever possible as a module, if not stated in the extra config.
kernelAutoModules = true;
kernelTarget = "bzImage";
kernelExtraConfig =
''
# Virtualisation (KVM, Xen...).
PARAVIRT_GUEST y
KVM_CLOCK y
KVM_GUEST y
XEN y
KSM y
# We need 64 GB (PAE) support for Xen guest support.
HIGHMEM64G? y
'';
};
sheevaplug = {
name = "sheevaplug";
kernelHeadersBaseConfig = "kirkwood_defconfig";
kernelBaseConfig = "kirkwood_defconfig";
kernelArch = "arm";
kernelAutoModules = false;
kernelExtraConfig =
''
BLK_DEV_RAM y
BLK_DEV_INITRD y
BLK_DEV_DM m
MD y
REISERFS_FS m
EXT4_FS m
USB_STORAGE_CYPRESS_ATACB m
CONFIG_IP_PNP y
CONFIG_NFS_FS y
CONFIG_ROOT_NFS 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
IP_PNP y
'';
kernelTarget = "uImage";
uboot = ubootSheevaplug;
# Only for uboot = uboot :
ubootConfig = "sheevaplug_config";
};
versatileARM = {
name = "versatileARM";
kernelHeadersBaseConfig = "versatile_defconfig";
kernelBaseConfig = "versatile_defconfig";
kernelArch = "arm";
kernelAutoModules = false;
kernelTarget = "zImage";
kernelExtraConfig =
''
MMC_ARMMMCI y
#MMC_SDHCI y
SERIO_AMBAKMI y
AEABI y
RTC_CLASS y
RTC_DRV_PL031 y
PCI y
SCSI y
SCSI_DMA y
SCSI_ATA y
BLK_DEV_SD y
BLK_DEV_SR y
SCSI_SYM53C8XX_2 y
TMPFS y
IPV6 m
REISERFS_FS m
EXT4_FS m
IP_PNP y
IP_PNP_DHCP y
IP_PNP_BOOTP y
ROOT_NFS y
'';
uboot = null;
};
integratorCP = {
name = "integratorCP";
kernelHeadersBaseConfig = "integrator_defconfig";
kernelBaseConfig = "integrator_defconfig";
kernelArch = "arm";
kernelAutoModules = false;
kernelTarget = "zImage";
kernelExtraConfig =
''
# needed for qemu integrator/cp
SERIAL_AMBA_PL011 y
SERIAL_AMBA_PL011_CONSOLE y
SERIAL_AMBA_PL010 n
SERIAL_AMBA_PL010_CONSOLE n
MMC_ARMMMCI y
MMC_SDHCI y
SERIO_AMBAKMI y
CPU_ARM926T y
ARCH_INTEGRATOR_CP y
VGA_CONSOLE n
AEABI y
'';
uboot = null;
ubootConfig = "integratorcp_config";
};
integratorCPuboot = integratorCP // {
name = "integratorCPuboot";
kernelTarget = "uImage";
uboot = uboot;
ubootConfig = "integratorcp_config";
};
}