forked from DGNum/liminix
77922c875b
presently this is used to reference the appropriate kernel and (if needed) openwrt source trees, but I would not be surprised if we find other uses
171 lines
4.1 KiB
Nix
171 lines
4.1 KiB
Nix
# This "device" generates images that can be used with the QEMU
|
|
# emulator. The default output is a directory containing separate
|
|
# kernel (uncompressed vmlinux) and initrd (squashfs) images
|
|
|
|
{
|
|
system = {
|
|
crossSystem = {
|
|
config = "mips-unknown-linux-musl";
|
|
gcc = {
|
|
abi = "32";
|
|
arch = "mips32"; # maybe mips_24kc-
|
|
};
|
|
};
|
|
};
|
|
|
|
overlay = final: prev:
|
|
let inherit (final) fetchFromGitHub;
|
|
in {
|
|
sources = {
|
|
kernel = fetchFromGitHub {
|
|
name = "kernel-source";
|
|
owner = "torvalds";
|
|
repo = "linux";
|
|
rev = "3d7cb6b04c3f3115719235cc6866b10326de34cd"; # v5.19
|
|
hash = "sha256-OVsIRScAnrPleW1vbczRAj5L/SGGht2+GnvZJClMUu4=";
|
|
};
|
|
};
|
|
};
|
|
|
|
kernel = {
|
|
config = {
|
|
SYSVIPC= "y";
|
|
NO_HZ= "y";
|
|
HIGH_RES_TIMERS= "y";
|
|
LOG_BUF_SHIFT = "15";
|
|
NAMESPACES= "y";
|
|
RELAY= "y";
|
|
EXPERT= "y";
|
|
PERF_EVENTS= "y";
|
|
COMPAT_BRK= "n";
|
|
SLAB= "y";
|
|
MIPS_MALTA= "y";
|
|
CPU_LITTLE_ENDIAN= "n";
|
|
CPU_BIG_ENDIAN= "y";
|
|
CPU_MIPS32_R2= "y";
|
|
PAGE_SIZE_16KB= "y";
|
|
NR_CPUS= "1";
|
|
HZ_100= "y";
|
|
PCI= "y";
|
|
VIRTUALIZATION= "y";
|
|
KVM_MIPS_DEBUG_COP0_COUNTERS= "y";
|
|
MODULES= "y";
|
|
MODULE_UNLOAD= "y";
|
|
MODVERSIONS= "y";
|
|
MODULE_SRCVERSION_ALL= "y";
|
|
NET= "y";
|
|
PACKET= "y";
|
|
UNIX= "y";
|
|
NET_KEY= "y";
|
|
NET_KEY_MIGRATE= "y";
|
|
INET= "y";
|
|
IP_MULTICAST= "y";
|
|
IP_ADVANCED_ROUTER= "y";
|
|
IP_MULTIPLE_TABLES= "y";
|
|
IP_ROUTE_MULTIPATH= "y";
|
|
IP_ROUTE_VERBOSE= "y";
|
|
IP_PNP= "y";
|
|
IP_PNP_DHCP= "y";
|
|
IP_PNP_BOOTP= "y";
|
|
IP_MROUTE= "y";
|
|
IP_PIMSM_V1= "y";
|
|
IP_PIMSM_V2= "y";
|
|
SYN_COOKIES= "y";
|
|
TCP_MD5SIG= "y";
|
|
IPV6_ROUTER_PREF= "y";
|
|
IPV6_ROUTE_INFO= "y";
|
|
IPV6_OPTIMISTIC_DAD= "y";
|
|
IPV6_MROUTE= "y";
|
|
IPV6_PIMSM_V2= "y";
|
|
NETWORK_SECMARK= "y";
|
|
NETFILTER= "y";
|
|
NF_CONNTRACK_SECMARK= "y";
|
|
NF_CONNTRACK_EVENTS= "y";
|
|
IP_VS_IPV6= "y";
|
|
IP_VS_PROTO_TCP= "y";
|
|
IP_VS_PROTO_UDP= "y";
|
|
IP_VS_PROTO_ESP= "y";
|
|
IP_VS_PROTO_AH= "y";
|
|
VLAN_8021Q_GVRP= "y";
|
|
IPDDP_ENCAP= "y";
|
|
NET_SCHED= "y";
|
|
NET_CLS_ACT= "y";
|
|
NET_ACT_POLICE= "y";
|
|
GACT_PROB= "y";
|
|
MTD= "y";
|
|
MTD_BLOCK= "y";
|
|
MTD_CFI= "y";
|
|
MTD_CFI_INTELEXT= "y";
|
|
MTD_CFI_AMDSTD= "y";
|
|
MTD_CFI_STAA= "y";
|
|
MTD_PHYSMAP_OF= "y";
|
|
BLK_DEV_RAM= "y";
|
|
BLK_DEV_SD= "y";
|
|
BLK_DEV_SR= "y";
|
|
SCSI_CONSTANTS= "y";
|
|
SCSI_LOGGING= "y";
|
|
SCSI_SCAN_ASYNC= "y";
|
|
AIC7XXX_RESET_DELAY_MS="15000";
|
|
AIC7XXX_DEBUG_ENABLE= "n";
|
|
ATA= "y";
|
|
ATA_PIIX= "y";
|
|
PATA_OLDPIIX= "y";
|
|
PATA_MPIIX= "y";
|
|
ATA_GENERIC= "y";
|
|
PATA_LEGACY= "y";
|
|
MD= "y";
|
|
NETDEVICES= "y";
|
|
PCNET32= "y";
|
|
IPW2100_MONITOR= "y";
|
|
HOSTAP_FIRMWARE= "y";
|
|
HOSTAP_FIRMWARE_NVRAM= "y";
|
|
INPUT_MOUSEDEV= "y";
|
|
SERIAL_8250= "y";
|
|
SERIAL_8250_CONSOLE= "y";
|
|
POWER_RESET= "y";
|
|
POWER_RESET_PIIX4_POWEROFF= "y";
|
|
POWER_RESET_SYSCON= "y";
|
|
HWMON= "n";
|
|
FB= "y";
|
|
FB_CIRRUS= "y";
|
|
VGA_CONSOLE= "n";
|
|
FRAMEBUFFER_CONSOLE= "y";
|
|
RTC_CLASS= "y";
|
|
RTC_DRV_CMOS= "y";
|
|
EXT2_FS= "y";
|
|
EXT3_FS= "y";
|
|
JFS_POSIX_ACL= "y";
|
|
JFS_SECURITY= "y";
|
|
QUOTA= "y";
|
|
QFMT_V2= "y";
|
|
JOLIET= "y";
|
|
ZISOFS= "y";
|
|
PROC_KCORE= "y";
|
|
TMPFS= "y";
|
|
CONFIGFS_FS= "y";
|
|
JFFS2_FS_XATTR= "y";
|
|
JFFS2_COMPRESSION_OPTIONS= "y";
|
|
JFFS2_RUBIN= "y";
|
|
# NFS_FS= "y";
|
|
# ROOT_NFS= "y";
|
|
# NFSD= "y";
|
|
# NFSD_V3= "y";
|
|
CRYPTO_HMAC= "y";
|
|
RCU_CPU_STALL_TIMEOUT = "60";
|
|
ENABLE_DEFAULT_TRACERS = "y";
|
|
|
|
CFG80211= "y";
|
|
MAC80211= "y";
|
|
MAC80211_MESH= "y";
|
|
RFKILL= "y";
|
|
WLAN = "y";
|
|
MAC80211_HWSIM = "y";
|
|
SQUASHFS = "y";
|
|
SQUASHFS_XZ = "y";
|
|
VIRTIO_PCI = "y";
|
|
VIRTIO_BLK = "y";
|
|
VIRTIO_NET = "y";
|
|
};
|
|
};
|
|
outputs.default = "directory";
|
|
}
|