liminix

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 77922c875b284c1d1ab5fa35d0604e036b059aa3
parent fa31d00d6ac40eeeef1ec7565bfc3e27a6b4a443
Author: Daniel Barlow <dan@telent.net>
Date:   Sat, 15 Oct 2022 18:55:33 +0100

add per-device overlay

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

Diffstat:
Mdefault.nix | 8+++++---
Ddevices/gl-ar750.nix | 102-------------------------------------------------------------------------------
Adevices/gl-ar750/default.nix | 129+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ddevices/qemu.nix | 156-------------------------------------------------------------------------------
Adevices/qemu/default.nix | 171+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mkernel/default.nix | 21+++------------------
Mtests/kernel/run.sh | 2+-
Mtests/module/run.sh | 2+-
Mtests/pppoe/run.sh | 2+-
Mtests/smoke/run.sh | 2+-
Mtests/wlan/run.sh | 2+-
11 files changed, 313 insertions(+), 284 deletions(-)

diff --git a/default.nix b/default.nix @@ -5,7 +5,7 @@ let overlay = import ./overlay.nix; - nixpkgs = import <nixpkgs> ( device.system // {overlays = [overlay]; }); + nixpkgs = import <nixpkgs> (device.system // {overlays = [overlay device.overlay]; }); inherit (nixpkgs.pkgs) callPackage writeText liminix; inherit (nixpkgs.lib) concatStringsSep; config = (import ./merge-modules.nix) [ @@ -56,16 +56,18 @@ let bootm 0x${toHexString uimageStart} ''; - directory = nixpkgs.pkgs.runCommand "liminix" {} '' + directory = nixpkgs.pkgs.runCommand "liminix" {} ('' mkdir $out cd $out ln -s ${squashfs} squashfs ln -s ${kernel.vmlinux} vmlinux ln -s ${manifest} manifest + '' + + (if device ? boot then '' ln -s ${uimage} uimage ${if phram then "ln -s ${boot-scr} boot.scr" else ""} ln -s ${boot-scr} flash.scr - ''; + '' else "")); # this exists so that you can run "nix-store -q --tree" on it and find # out what's in the image, which is nice if it's unexpectedly huge manifest = writeText "manifest.json" (builtins.toJSON config.filesystem.contents); diff --git a/devices/gl-ar750.nix b/devices/gl-ar750.nix @@ -1,102 +0,0 @@ -# GL.INet GL-AR750 "Creta" travel router -# - QCA9531 @650Mhz SoC -# - dual band wireless: IEEE 802.11a/b/g/n/ac -# - two 10/100Mbps LAN ports and one WAN -# - 128MB DDR2 RAM / 16MB NOR Flash -# - "ath79" soc family -# https://www.gl-inet.com/products/gl-ar750/ - -# I like GL.iNet devices because they're relatively accessible to -# DIY users: the serial port connections have headers preinstalled -# and don't need soldering - -{ - system = { - crossSystem = { - config = "mips-unknown-linux-musl"; - gcc = { - abi = "32"; - arch = "mips32"; # maybe mips_24kc- - }; - }; - }; - kernel = rec { - checkedConfig = { - "MIPS_ELF_APPENDED_DTB" = "y"; - OF = "y"; - USE_OF = "y"; - ATH79 = "y"; - SOC_QCA955X = "y"; # actually QCA9531, is this even right? - LIMINIX = "y"; - SERIAL_8250_CONSOLE = "y"; - SERIAL_8250 = "y"; - SERIAL_CORE_CONSOLE = "y"; - - # need this to open console device at boot. dmesg goes from - # [ 0.272934] Warning: unable to open an initial console. - # to - # [ 0.247413] printk: console [ttyS0] disabled - # [ 0.25200] 18020000.uart: ttyS0 at MMIO 0x1802000 (irq = 10, base_baud = 1562500) is a 16550A - SERIAL_OF_PLATFORM = "y"; - - CONSOLE_LOGLEVEL_DEFAULT = "8"; - CONSOLE_LOGLEVEL_QUIET = "4"; - - - # "empty" initramfs source should create an initial - # filesystem that has a /dev/console node and not much - # else. Note that pid 1 is started *before* the root - # filesystem is mounted and it expects /dev/console to - # be present already - BLK_DEV_INITRD = "n"; - }; - config = { - CPU_LITTLE_ENDIAN= "n"; - CPU_BIG_ENDIAN= "y"; - ATH79 = "y"; - MIPS_ELF_APPENDED_DTB = "y"; - -# INITRAMFS_SOURCE = "\"\""; - - # this is all copied from nixwrt ath79 config. Clearly not all - # of it is device config, some of it is wifi config or - # installation method config or ... - - "CMDLINE_PARTITION" = "y"; - "DEBUG_INFO" = "y"; - "EARLY_PRINTK" = "y"; - "FW_LOADER" = "y"; - # we don't have a user helper, so we get multiple 60s pauses - # at boot time unless we disable trying to call it - "FW_LOADER_USER_HELPER" = "n"; - - "MODULE_SIG" = "y"; - "MTD_CMDLINE_PARTS" = "y"; - "PARTITION_ADVANCED" = "y"; - "PRINTK_TIME" = "y"; - "SQUASHFS" = "y"; - "SQUASHFS_XZ" = "y"; - # "ASN1" = "y"; - # "ASYMMETRIC_KEY_TYPE" = "y"; - # "ASYMMETRIC_PUBLIC_KEY_SUBTYPE" = "y"; - # "CRC_CCITT" = "y"; - # "CRYPTO" = "y"; - # "CRYPTO_ARC4" = "y"; - # "CRYPTO_CBC" = "y"; - # "CRYPTO_CCM" = "y"; - # "CRYPTO_CMAC" = "y"; - # "CRYPTO_GCM" = "y"; - # "CRYPTO_HASH_INFO" = "y"; - # "CRYPTO_LIB_ARC4" = "y"; - # "CRYPTO_RSA" = "y"; - # "CRYPTO_SHA1" = "y"; - # "ENCRYPTED_KEYS" = "y"; - # "KEYS" = "y"; - }; - }; - outputs.default = "directory"; - boot = { - loadAddress = "0x80060000"; - entryPoint = "0x80060000"; - }; -} diff --git a/devices/gl-ar750/default.nix b/devices/gl-ar750/default.nix @@ -0,0 +1,129 @@ +# GL.INet GL-AR750 "Creta" travel router +# - QCA9531 @650Mhz SoC +# - dual band wireless: IEEE 802.11a/b/g/n/ac +# - two 10/100Mbps LAN ports and one WAN +# - 128MB DDR2 RAM / 16MB NOR Flash +# - "ath79" soc family +# https://www.gl-inet.com/products/gl-ar750/ + +# I like GL.iNet devices because they're relatively accessible to +# DIY users: the serial port connections have headers preinstalled +# and don't need soldering + +{ + system = { + crossSystem = { + config = "mips-unknown-linux-musl"; + gcc = { + abi = "32"; + arch = "mips32"; # maybe mips_24kc- + }; + }; + }; + + # We need to be able to import default.nix before we import nixpkgs + # because it has the system config to tell nixpkgs what arch to build for. + # But we also need some way to do things like fetchFromGitHub in the + # per-device config and we can only do that once we have a reference to + # pkgs + + overlay = final: prev: + let inherit (final) fetchFromGitHub; + in { + sources = { + openwrt = fetchFromGitHub { + name = "openwrt-source"; + repo = "openwrt"; + owner = "openwrt"; + rev = "a5265497a4f6da158e95d6a450cb2cb6dc085cab"; + hash = "sha256-YYi4gkpLjbOK7bM2MGQjAyEBuXJ9JNXoz/JEmYf8xE8="; + }; + kernel = fetchFromGitHub { + name = "kernel-source"; + owner = "torvalds"; + repo = "linux"; + rev = "3d7cb6b04c3f3115719235cc6866b10326de34cd"; # v5.19 + hash = "sha256-OVsIRScAnrPleW1vbczRAj5L/SGGht2+GnvZJClMUu4="; + }; + }; + }; + + kernel = rec { + checkedConfig = { + "MIPS_ELF_APPENDED_DTB" = "y"; + OF = "y"; + USE_OF = "y"; + ATH79 = "y"; + SOC_QCA955X = "y"; # actually QCA9531, is this even right? + LIMINIX = "y"; + SERIAL_8250_CONSOLE = "y"; + SERIAL_8250 = "y"; + SERIAL_CORE_CONSOLE = "y"; + + # need this to open console device at boot. dmesg goes from + # [ 0.272934] Warning: unable to open an initial console. + # to + # [ 0.247413] printk: console [ttyS0] disabled + # [ 0.25200] 18020000.uart: ttyS0 at MMIO 0x1802000 (irq = 10, base_baud = 1562500) is a 16550A + SERIAL_OF_PLATFORM = "y"; + + CONSOLE_LOGLEVEL_DEFAULT = "8"; + CONSOLE_LOGLEVEL_QUIET = "4"; + + # "empty" initramfs source should create an initial + # filesystem that has a /dev/console node and not much + # else. Note that pid 1 is started *before* the root + # filesystem is mounted and it expects /dev/console to + # be present already + BLK_DEV_INITRD = "n"; + }; + config = { + CPU_LITTLE_ENDIAN= "n"; + CPU_BIG_ENDIAN= "y"; + ATH79 = "y"; + MIPS_ELF_APPENDED_DTB = "y"; + +# INITRAMFS_SOURCE = "\"\""; + + # this is all copied from nixwrt ath79 config. Clearly not all + # of it is device config, some of it is wifi config or + # installation method config or ... + + "CMDLINE_PARTITION" = "y"; + "DEBUG_INFO" = "y"; + "EARLY_PRINTK" = "y"; + "FW_LOADER" = "y"; + # we don't have a user helper, so we get multiple 60s pauses + # at boot time unless we disable trying to call it + "FW_LOADER_USER_HELPER" = "n"; + + "MODULE_SIG" = "y"; + "MTD_CMDLINE_PARTS" = "y"; + "PARTITION_ADVANCED" = "y"; + "PRINTK_TIME" = "y"; + "SQUASHFS" = "y"; + "SQUASHFS_XZ" = "y"; + # "ASN1" = "y"; + # "ASYMMETRIC_KEY_TYPE" = "y"; + # "ASYMMETRIC_PUBLIC_KEY_SUBTYPE" = "y"; + # "CRC_CCITT" = "y"; + # "CRYPTO" = "y"; + # "CRYPTO_ARC4" = "y"; + # "CRYPTO_CBC" = "y"; + # "CRYPTO_CCM" = "y"; + # "CRYPTO_CMAC" = "y"; + # "CRYPTO_GCM" = "y"; + # "CRYPTO_HASH_INFO" = "y"; + # "CRYPTO_LIB_ARC4" = "y"; + # "CRYPTO_RSA" = "y"; + # "CRYPTO_SHA1" = "y"; + # "ENCRYPTED_KEYS" = "y"; + # "KEYS" = "y"; + }; + }; + outputs.default = "directory"; + boot = { + loadAddress = "0x80060000"; + entryPoint = "0x80060000"; + }; +} diff --git a/devices/qemu.nix b/devices/qemu.nix @@ -1,156 +0,0 @@ -# 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- - }; - }; - }; - 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"; -} diff --git a/devices/qemu/default.nix b/devices/qemu/default.nix @@ -0,0 +1,171 @@ +# 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"; +} diff --git a/kernel/default.nix b/kernel/default.nix @@ -6,15 +6,9 @@ , config , checkedConfig +, sources }: let - source = fetchFromGitHub { - owner = "torvalds"; - repo = "linux"; - rev = "3d7cb6b04c3f3115719235cc6866b10326de34cd"; # v5.19 - hash = "sha256-OVsIRScAnrPleW1vbczRAj5L/SGGht2+GnvZJClMUu4="; - }; - # The kernel is huge and takes a long time just to # download and unpack. This derivation creates # a source tree in a suitable shape to build from - @@ -24,7 +18,7 @@ let tree = stdenvNoCC.mkDerivation { name = "spindled-kernel-tree"; - src = source; + src = sources.kernel; phases = [ "unpackPhase" "patchPhase" "patchScripts" "installPhase" ]; patches = [ ./random.patch ]; patchScripts = '' @@ -36,15 +30,6 @@ let ''; }; - openwrtSource = fetchFromGitHub { - name = "openwrt-source-tree"; - repo = "openwrt"; - owner = "openwrt"; - rev = "a5265497a4f6da158e95d6a450cb2cb6dc085cab"; - hash = "sha256-YYi4gkpLjbOK7bM2MGQjAyEBuXJ9JNXoz/JEmYf8xE8="; - }; - - in rec { vmlinux = callPackage ./vmlinux.nix { inherit tree config checkedConfig; @@ -53,7 +38,7 @@ in rec { uimage = callPackage ./uimage.nix { }; dtb = callPackage ./dtb.nix { - openwrt = openwrtSource; + openwrt = sources.openwrt; kernel = tree; }; } diff --git a/tests/kernel/run.sh b/tests/kernel/run.sh @@ -1,5 +1,5 @@ set -e -NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build '<liminix>' -I liminix-config=../smoke/configuration.nix --arg device "import <liminix/devices/$DEVICE.nix>" -A outputs.kernel.vmlinux -o vmlinux $* +NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build '<liminix>' -I liminix-config=../smoke/configuration.nix --arg device "import <liminix/devices/$DEVICE>" -A outputs.kernel.vmlinux -o vmlinux $* TESTS=$(cat <<"EOF" diff --git a/tests/module/run.sh b/tests/module/run.sh @@ -1,2 +1,2 @@ set -e -NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build --arg device "import <liminix/devices/qemu.nix>" test.nix +NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build --arg device "import <liminix/devices/qemu>" test.nix diff --git a/tests/pppoe/run.sh b/tests/pppoe/run.sh @@ -14,7 +14,7 @@ fatal(){ } trap fatal ERR -NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build '<liminix>' -I liminix-config=./configuration.nix --arg device "import <liminix/devices/qemu.nix>" -A outputs.default $* +NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build '<liminix>' -I liminix-config=./configuration.nix --arg device "import <liminix/devices/qemu>" -A outputs.default $* if ! ( echo "cont" | socat - unix-connect:../support/ppp-server/qemu-monitor); then echo "need pppoe server running" diff --git a/tests/smoke/run.sh b/tests/smoke/run.sh @@ -1,5 +1,5 @@ set -e -NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build '<liminix>' -I liminix-config=./configuration.nix --arg device "import <liminix/devices/$DEVICE.nix>" -A outputs.squashfs -o smoke.img $* +NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build '<liminix>' -I liminix-config=./configuration.nix --arg device "import <liminix/devices/$DEVICE>" -A outputs.squashfs -o smoke.img $* TESTS=$(cat <<"EOF" test -n "${TMPDIR}" diff --git a/tests/wlan/run.sh b/tests/wlan/run.sh @@ -14,7 +14,7 @@ fatal(){ } trap fatal ERR -NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build '<liminix>' -I liminix-config=./configuration.nix --arg device "import <liminix/devices/qemu.nix>" -A outputs.default $* +NIXPKGS_ALLOW_UNSUPPORTED_SYSTEM=1 nix-build '<liminix>' -I liminix-config=./configuration.nix --arg device "import <liminix/devices/qemu>" -A outputs.default $*