From 4bd6934a050e4a047a470985c753b1362feaa290 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Mon, 8 Feb 2016 12:24:29 +0100 Subject: [PATCH 001/274] Initial commit Module for SuperMicro A1SRI-2758F --- README.md | 16 ++++++++++++++++ supermicro/a1sri-2758f.nix | 8 ++++++++ 2 files changed, 24 insertions(+) create mode 100644 README.md create mode 100644 supermicro/a1sri-2758f.nix diff --git a/README.md b/README.md new file mode 100644 index 00000000000..8d70cb0926c --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +A collection of NixOS modules covering hardware quirks. + +Modules should favor usability and stability, so performance hacks +should be activated by an additional a NixOS option or conservative +and performance configs can be declared in seperate modules. + +## Usage +The simplest way to use this repo for now is to clone locally and include by path: +``` nix +{ config, pkgs, ... }: + +{ + imports = + [ /home/user/nixos-hardware/acme/thunkpad-2000.nix ]; +} +''' diff --git a/supermicro/a1sri-2758f.nix b/supermicro/a1sri-2758f.nix new file mode 100644 index 00000000000..d2aeb94d336 --- /dev/null +++ b/supermicro/a1sri-2758f.nix @@ -0,0 +1,8 @@ +# http://www.supermicro.com/products/motherboard/Atom/X10/A1SRi-2758F.cfm + +{ ... }: + +{ + # The Linux NIC driver doesn't properly report link status. + networking.dhcpcd.extraConfig = "nolink"; +} From aff2f272ff106e0babcc297866ec971b80a9ef1b Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 8 Feb 2016 15:02:19 +0300 Subject: [PATCH 002/274] supermicro/x10sll-f: init --- supermicro/x10sll-f.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 supermicro/x10sll-f.nix diff --git a/supermicro/x10sll-f.nix b/supermicro/x10sll-f.nix new file mode 100644 index 00000000000..f60e6cf6fa0 --- /dev/null +++ b/supermicro/x10sll-f.nix @@ -0,0 +1,14 @@ +{ config, pkgs, ... }: + +{ + environment.systemPackages = with pkgs; [ + ipmitool + ]; + + boot.kernelModules = [ "jc42" "ipmi_devintf" "ipmi_si" "tpm_rng" ]; + + # services.cron.systemCronJobs = [ + # # Reset 5-minute watchdog timer every minute + # "* * * * * ${pkgs.ipmitool}/bin/ipmitool raw 0x30 0x97 1 5" + # ]; +} From ad5412b9f2460ae17e1defbcfb682995f563830f Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 8 Feb 2016 15:12:20 +0300 Subject: [PATCH 003/274] lenovo/t440p.nix: init --- lenovo/t440p.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 lenovo/t440p.nix diff --git a/lenovo/t440p.nix b/lenovo/t440p.nix new file mode 100644 index 00000000000..47f5f66387b --- /dev/null +++ b/lenovo/t440p.nix @@ -0,0 +1,10 @@ +{ config, pkgs, ... }: + +{ + boot = { + extraModprobeConfig = '' + options bbswitch use_acpi_to_detect_card_state=1 + ''; + kernelModules = [ "kvm-intel" "tpm-rng" ]; + }; +} From bc435e7ddc6001fa68ca3bb893457a0d1edfdb1f Mon Sep 17 00:00:00 2001 From: Arseniy Seroka Date: Mon, 8 Feb 2016 18:50:09 +0300 Subject: [PATCH 004/274] audio-gd/compass2: init --- audio-gd/compass2.nix | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 audio-gd/compass2.nix diff --git a/audio-gd/compass2.nix b/audio-gd/compass2.nix new file mode 100644 index 00000000000..6115572588e --- /dev/null +++ b/audio-gd/compass2.nix @@ -0,0 +1,9 @@ +{ config, pkgs, ... }: + +{ + boot = { + extraModprobeConfig = '' + options snd slots=snd_usb_audio,snd-hda-intel + ''; + }; +} From 2ead29d3d08ff6300870cc20009f7513fed69ae8 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Wed, 10 Feb 2016 12:24:29 +0100 Subject: [PATCH 005/274] supermicro/a1sri-2758f: enable ipmi --- supermicro/a1sri-2758f.nix | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/supermicro/a1sri-2758f.nix b/supermicro/a1sri-2758f.nix index d2aeb94d336..3471704467f 100644 --- a/supermicro/a1sri-2758f.nix +++ b/supermicro/a1sri-2758f.nix @@ -1,8 +1,16 @@ # http://www.supermicro.com/products/motherboard/Atom/X10/A1SRi-2758F.cfm +# +# This board contains a TPM header, but you must supply your own module. +# -{ ... }: +{ pkgs, ... }: { - # The Linux NIC driver doesn't properly report link status. + environment.systemPackages = [ pkgs.ipmitool ]; + boot.kernelModules = [ "ipmi_devintf" "ipmi_si" ]; + + # The Linux NIC driver seems to have faulty link state reporting + # that causes dhcpcd to release every few seconds, which is + # more annoying than not releasing when a cable is unplugged. networking.dhcpcd.extraConfig = "nolink"; } From 19a7fef101fcbbf5a4f2ecd35109c1baf6fc0ca6 Mon Sep 17 00:00:00 2001 From: Allen Short Date: Wed, 10 Feb 2016 10:41:46 -0600 Subject: [PATCH 006/274] USB Armory configuration --- usbarmory/configuration.nix | 61 + usbarmory/customKernel.config | 3195 +++++++++++++++++++++++++++++++++ usbarmory/usbarmory_dts.patch | 418 +++++ 3 files changed, 3674 insertions(+) create mode 100644 usbarmory/configuration.nix create mode 100644 usbarmory/customKernel.config create mode 100644 usbarmory/usbarmory_dts.patch diff --git a/usbarmory/configuration.nix b/usbarmory/configuration.nix new file mode 100644 index 00000000000..77efd5efea2 --- /dev/null +++ b/usbarmory/configuration.nix @@ -0,0 +1,61 @@ +{ pkgs, config, lib, ... }: +{ + nix.binaryCaches = lib.mkForce [ "http://nixos-arm.dezgeg.me/channel" ]; + nix.binaryCachePublicKeys = [ "nixos-arm.dezgeg.me-1:xBaUKS3n17BZPKeyxL4JfbTqECsT+ysbDJz29kLFRW0=%" ]; + nixpkgs.config.packageOverrides = pkgs: rec { + linuxPackages_usbarmory = pkgs.recurseIntoAttrs ( + pkgs.linuxPackagesFor ( + pkgs.buildLinux rec { + version = "4.4.0"; + src = pkgs.fetchurl { + url = "mirror://kernel/linux/kernel/v4.x/linux-4.4.tar.xz"; + sha256 = "401d7c8fef594999a460d10c72c5a94e9c2e1022f16795ec51746b0d165418b2"; + }; + configfile = /etc/nixos/customKernel.config; + kernelPatches = [ + { patch = /etc/nixos/usbarmory_dts.patch; + name = "usbarmory_dts"; } + ]; + allowImportFromDerivation = true; + } + ) linuxPackages_usbarmory); + }; + boot = { + initrd.kernelModules = []; + kernelParams = [ "console=ttymxc0,115200" ]; + kernelModules = [ "ledtrig_heartbeat" "ci_hdrc_imx" "g_ether" ]; + extraModprobeConfig = "options g_ether use_eem=0 dev_addr=1a:55:89:a2:69:41 host_addr=1a:55:89:a2:69:42"; + kernelPackages = pkgs.linuxPackages_usbarmory; + + loader = { + grub.enable = false; + generic-extlinux-compatible = { + enable = true; + }; + }; + }; + networking = { + interfaces.usb0.ip4 = [ { address = "172.16.0.2"; prefixLength = 24;} ]; + hostName = "usbarmory"; + defaultGateway = "172.16.0.1"; + nameservers = [ "8.8.8.8" ]; + firewall.enable = false; +}; + sound.enable = false; + services = { + nixosManual.enable = false; + openssh.enable = true; + openssh.permitRootLogin = "without-password"; + }; + fileSystems = { + "/boot" = { + device = "/dev/disk/by-label/NIXOS_BOOT"; + fsType = "vfat"; + }; + "/" = { + device = "/dev/disk/by-label/NIXOS_SD"; + fsType = "ext4"; + }; + }; + +} diff --git a/usbarmory/customKernel.config b/usbarmory/customKernel.config new file mode 100644 index 00000000000..5c6b47fe835 --- /dev/null +++ b/usbarmory/customKernel.config @@ -0,0 +1,3195 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/arm 4.4.0 Kernel Configuration +# +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y + +# +# General setup +# +CONFIG_DMIID=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +# CONFIG_COMPILE_TEST is not set +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_LZ4=y +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set +CONFIG_DEFAULT_HOSTNAME="usbarmory" +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_FHANDLE=y +CONFIG_USELIB=y +CONFIG_AUDIT=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_HANDLE_DOMAIN_IRQ=y +# CONFIG_IRQ_DOMAIN_DEBUG is not set +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +CONFIG_GENERIC_CLOCKEVENTS=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set + +# +# RCU Subsystem +# +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_SRCU=y +# CONFIG_TASKS_RCU is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_TREE_RCU_TRACE is not set +# CONFIG_RCU_EXPEDITE_BOOT is not set +CONFIG_BUILD_BIN2C=y +CONFIG_IKCONFIG=m +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_CGROUPS=y +# CONFIG_CGROUP_DEBUG is not set +# CONFIG_CGROUP_FREEZER is not set +# CONFIG_CGROUP_PIDS is not set +# CONFIG_CGROUP_DEVICE is not set +# CONFIG_CPUSETS is not set +# CONFIG_CGROUP_CPUACCT is not set +# CONFIG_MEMCG is not set +# CONFIG_CGROUP_SCHED is not set +# CONFIG_BLK_CGROUP is not set +# CONFIG_CHECKPOINT_RESTORE is not set +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +# CONFIG_USER_NS is not set +CONFIG_PID_NS=y +CONFIG_NET_NS=y +# CONFIG_SCHED_AUTOGROUP is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +CONFIG_EXPERT=y +CONFIG_UID16=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +# CONFIG_BPF_SYSCALL is not set +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +# CONFIG_USERFAULTFD is not set +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_PERF_EVENTS is not set +CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_SLUB_DEBUG is not set +CONFIG_COMPAT_BRK=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +# CONFIG_SYSTEM_DATA_VERIFICATION is not set +# CONFIG_PROFILING is not set +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_JUMP_LABEL=y +# CONFIG_STATIC_KEYS_SELFTEST is not set +# CONFIG_UPROBES is not set +# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_SECCOMP_FILTER=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +# CONFIG_CC_STACKPROTECTOR is not set +CONFIG_CC_STACKPROTECTOR_NONE=y +# CONFIG_CC_STACKPROTECTOR_REGULAR is not set +# CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set +CONFIG_BLOCK=y +CONFIG_LBDAF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_BSGLIB is not set +# CONFIG_BLK_DEV_INTEGRITY is not set +CONFIG_BLK_CMDLINE_PARSER=y + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +CONFIG_EFI_PARTITION=y +# CONFIG_SYSV68_PARTITION is not set +CONFIG_CMDLINE_PARTITION=y + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=m +CONFIG_IOSCHED_CFQ=m +CONFIG_DEFAULT_NOOP=y +CONFIG_DEFAULT_IOSCHED="noop" +CONFIG_ASN1=m +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_FREEZER=y + +# +# System Type +# +CONFIG_MMU=y +CONFIG_ARCH_MULTIPLATFORM=y +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C24XX is not set +# CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# Multiple platform selection +# + +# +# CPU Core family selection +# +# CONFIG_ARCH_MULTI_V6 is not set +CONFIG_ARCH_MULTI_V7=y +CONFIG_ARCH_MULTI_V6_V7=y +# CONFIG_ARCH_MULTI_CPU_AUTO is not set +# CONFIG_ARCH_VIRT is not set +# CONFIG_ARCH_MVEBU is not set +# CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_BCM is not set +# CONFIG_ARCH_BERLIN is not set +# CONFIG_ARCH_DIGICOLOR is not set +# CONFIG_ARCH_HIGHBANK is not set +# CONFIG_ARCH_HISI is not set +# CONFIG_ARCH_KEYSTONE is not set +# CONFIG_ARCH_MESON is not set +CONFIG_ARCH_MXC=y +CONFIG_MXC_TZIC=y +CONFIG_HAVE_IMX_SRC=y + +# +# Device tree only +# + +# +# Cortex-A platforms +# +CONFIG_SOC_IMX5=y +# CONFIG_SOC_IMX50 is not set +# CONFIG_SOC_IMX51 is not set +CONFIG_SOC_IMX53=y +# CONFIG_SOC_IMX6Q is not set +# CONFIG_SOC_IMX6SL is not set +# CONFIG_SOC_IMX6SX is not set +# CONFIG_SOC_IMX6UL is not set +# CONFIG_SOC_IMX7D is not set +# CONFIG_SOC_LS1021A is not set + +# +# Cortex-A/Cortex-M asymmetric multiprocessing platforms +# +# CONFIG_SOC_VF610 is not set +# CONFIG_ARCH_MEDIATEK is not set + +# +# TI OMAP/AM/DM/DRA Family +# +# CONFIG_ARCH_OMAP3 is not set +# CONFIG_ARCH_OMAP4 is not set +# CONFIG_SOC_OMAP5 is not set +# CONFIG_SOC_AM33XX is not set +# CONFIG_SOC_AM43XX is not set +# CONFIG_SOC_DRA7XX is not set +# CONFIG_ARCH_QCOM is not set +# CONFIG_ARCH_ROCKCHIP is not set +# CONFIG_ARCH_SOCFPGA is not set +# CONFIG_PLAT_SPEAR is not set +# CONFIG_ARCH_STI is not set +# CONFIG_ARCH_S5PV210 is not set +# CONFIG_ARCH_EXYNOS is not set +# CONFIG_ARCH_SHMOBILE_MULTI is not set +# CONFIG_ARCH_SUNXI is not set +# CONFIG_ARCH_SIRF is not set +# CONFIG_ARCH_TEGRA is not set +# CONFIG_ARCH_UNIPHIER is not set +# CONFIG_ARCH_U8500 is not set +# CONFIG_ARCH_VEXPRESS is not set +# CONFIG_ARCH_WM8850 is not set +# CONFIG_ARCH_ZX is not set +# CONFIG_ARCH_ZYNQ is not set + +# +# Processor Type +# +CONFIG_CPU_V7=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +# CONFIG_ARM_LPAE is not set +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARM_THUMB=y +# CONFIG_ARM_THUMBEE is not set +CONFIG_ARM_VIRT_EXT=y +# CONFIG_SWP_EMULATE is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_KUSER_HELPERS=y +# CONFIG_VDSO is not set +CONFIG_OUTER_CACHE=y +CONFIG_OUTER_CACHE_SYNC=y +CONFIG_MIGHT_HAVE_CACHE_L2X0=y +CONFIG_CACHE_L2X0=y +# CONFIG_PL310_ERRATA_588369 is not set +# CONFIG_PL310_ERRATA_727915 is not set +# CONFIG_PL310_ERRATA_753970 is not set +# CONFIG_PL310_ERRATA_769419 is not set +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +CONFIG_ARM_HEAVY_MB=y +# CONFIG_ARM_KERNMEM_PERMS is not set +CONFIG_MULTI_IRQ_HANDLER=y +# CONFIG_ARM_ERRATA_430973 is not set +# CONFIG_ARM_ERRATA_720789 is not set +# CONFIG_ARM_ERRATA_754322 is not set +# CONFIG_ARM_ERRATA_775420 is not set +# CONFIG_ARM_ERRATA_773022 is not set + +# +# Bus support +# +# CONFIG_PCI is not set +# CONFIG_PCI_DOMAINS_GENERIC is not set +# CONFIG_PCI_SYSCALL is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_HAVE_SMP=y +# CONFIG_SMP is not set +# CONFIG_HAVE_ARM_ARCH_TIMER is not set +# CONFIG_VMSPLIT_3G is not set +# CONFIG_VMSPLIT_3G_OPT is not set +CONFIG_VMSPLIT_2G=y +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0x80000000 +# CONFIG_ARM_PSCI is not set +CONFIG_ARCH_NR_GPIO=0 +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_HZ_FIXED=0 +CONFIG_HZ_100=y +# CONFIG_HZ_200 is not set +# CONFIG_HZ_250 is not set +# CONFIG_HZ_300 is not set +# CONFIG_HZ_500 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=100 +CONFIG_SCHED_HRTICK=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +# CONFIG_HIGHMEM is not set +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +# CONFIG_ARM_MODULE_PLTS is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_NEED_PER_CPU_KM=y +CONFIG_CLEANCACHE=y +# CONFIG_FRONTSWAP is not set +# CONFIG_CMA is not set +CONFIG_ZPOOL=m +CONFIG_ZBUD=m +CONFIG_ZSMALLOC=m +# CONFIG_PGTABLE_MAPPING is not set +# CONFIG_ZSMALLOC_STAT is not set +# CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +# CONFIG_UACCESS_WITH_MEMCPY is not set +CONFIG_SECCOMP=y +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +# CONFIG_XEN is not set + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +# CONFIG_ARM_APPENDED_DTB is not set +CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mmcblk0p1 rw rootfstype=ext4 ip=off" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +# CONFIG_CMDLINE_FORCE is not set +# CONFIG_KEXEC is not set +# CONFIG_CRASH_DUMP is not set +CONFIG_AUTO_ZRELADDR=y + +# +# CPU Power Management +# + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=m +# CONFIG_CPU_FREQ_STAT_DETAILS is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=m +CONFIG_CPU_FREQ_GOV_USERSPACE=m +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m + +# +# CPU frequency scaling drivers +# +CONFIG_CPUFREQ_DT=y +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set +# CONFIG_QORIQ_CPUFREQ is not set + +# +# CPU Idle +# +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y + +# +# ARM CPU Idle Drivers +# +# CONFIG_ARM_CPUIDLE is not set +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +# CONFIG_KERNEL_MODE_NEON is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_SCRIPT=y +# CONFIG_HAVE_AOUT is not set +# CONFIG_BINFMT_MISC is not set +CONFIG_COREDUMP=y + +# +# Power management options +# +# CONFIG_SUSPEND is not set +CONFIG_HIBERNATE_CALLBACKS=y +CONFIG_HIBERNATION=y +CONFIG_PM_STD_PARTITION="" +CONFIG_PM_SLEEP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +# CONFIG_APM_EMULATION is not set +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_DIAG is not set +CONFIG_UNIX=y +# CONFIG_UNIX_DIAG is not set +CONFIG_XFRM=y +CONFIG_XFRM_ALGO=m +CONFIG_XFRM_USER=m +CONFIG_XFRM_SUB_POLICY=y +CONFIG_XFRM_MIGRATE=y +CONFIG_XFRM_STATISTICS=y +CONFIG_XFRM_IPCOMP=m +CONFIG_NET_KEY=m +CONFIG_NET_KEY_MIGRATE=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +# CONFIG_IP_FIB_TRIE_STATS is not set +CONFIG_IP_MULTIPLE_TABLES=y +# CONFIG_IP_ROUTE_MULTIPATH is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +# CONFIG_IP_PNP is not set +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IP_TUNNEL=m +CONFIG_NET_IPGRE=m +CONFIG_NET_IPGRE_BROADCAST=y +# CONFIG_IP_MROUTE is not set +CONFIG_SYN_COOKIES=y +CONFIG_NET_IPVTI=m +CONFIG_NET_UDP_TUNNEL=m +CONFIG_NET_FOU=m +CONFIG_NET_FOU_IP_TUNNELS=y +CONFIG_INET_AH=m +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_XFRM_TUNNEL=m +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=m +CONFIG_INET_XFRM_MODE_TUNNEL=m +CONFIG_INET_XFRM_MODE_BEET=m +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +CONFIG_INET_UDP_DIAG=m +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_BIC=m +CONFIG_TCP_CONG_CUBIC=y +CONFIG_TCP_CONG_WESTWOOD=m +CONFIG_TCP_CONG_HTCP=m +CONFIG_TCP_CONG_HSTCP=m +CONFIG_TCP_CONG_HYBLA=m +CONFIG_TCP_CONG_VEGAS=m +CONFIG_TCP_CONG_SCALABLE=m +CONFIG_TCP_CONG_LP=m +CONFIG_TCP_CONG_VENO=m +CONFIG_TCP_CONG_YEAH=m +CONFIG_TCP_CONG_ILLINOIS=m +# CONFIG_TCP_CONG_DCTCP is not set +# CONFIG_TCP_CONG_CDG is not set +CONFIG_DEFAULT_CUBIC=y +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +CONFIG_TCP_MD5SIG=y +CONFIG_IPV6=m +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_MIP6=m +# CONFIG_IPV6_ILA is not set +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m +CONFIG_IPV6_VTI=m +CONFIG_IPV6_SIT=m +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_NDISC_NODETYPE=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IPV6_GRE=m +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +CONFIG_IPV6_MROUTE=y +# CONFIG_IPV6_MROUTE_MULTIPLE_TABLES is not set +# CONFIG_IPV6_PIMSM_V2 is not set +# CONFIG_NETLABEL is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NET_PTP_CLASSIFY is not set +# CONFIG_NETWORK_PHY_TIMESTAMPING is not set +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=m + +# +# Core Netfilter Configuration +# +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=m +# CONFIG_NETFILTER_NETLINK_ACCT is not set +# CONFIG_NETFILTER_NETLINK_QUEUE is not set +# CONFIG_NETFILTER_NETLINK_LOG is not set +CONFIG_NF_CONNTRACK=m +CONFIG_NF_LOG_COMMON=m +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_PROCFS=y +# CONFIG_NF_CONNTRACK_EVENTS is not set +# CONFIG_NF_CONNTRACK_TIMEOUT is not set +# CONFIG_NF_CONNTRACK_TIMESTAMP is not set +# CONFIG_NF_CT_PROTO_DCCP is not set +CONFIG_NF_CT_PROTO_GRE=m +# CONFIG_NF_CT_PROTO_SCTP is not set +# CONFIG_NF_CT_PROTO_UDPLITE is not set +# CONFIG_NF_CONNTRACK_AMANDA is not set +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_BROADCAST=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +CONFIG_NF_CT_NETLINK_TIMEOUT=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_NEEDED=y +# CONFIG_NF_NAT_AMANDA is not set +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_SIP=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_NAT_REDIRECT=m +CONFIG_NETFILTER_SYNPROXY=m +# CONFIG_NF_TABLES is not set +CONFIG_NETFILTER_XTABLES=m + +# +# Xtables combined modules +# +# CONFIG_NETFILTER_XT_MARK is not set +# CONFIG_NETFILTER_XT_CONNMARK is not set + +# +# Xtables targets +# +# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set +# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set +# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set +# CONFIG_NETFILTER_XT_TARGET_CT is not set +# CONFIG_NETFILTER_XT_TARGET_DSCP is not set +CONFIG_NETFILTER_XT_TARGET_HL=m +# CONFIG_NETFILTER_XT_TARGET_HMARK is not set +# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set +CONFIG_NETFILTER_XT_TARGET_LED=m +# CONFIG_NETFILTER_XT_TARGET_LOG is not set +# CONFIG_NETFILTER_XT_TARGET_MARK is not set +CONFIG_NETFILTER_XT_NAT=m +CONFIG_NETFILTER_XT_TARGET_NETMAP=m +# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set +# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set +CONFIG_NETFILTER_XT_TARGET_REDIRECT=m +CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +# CONFIG_NETFILTER_XT_TARGET_TRACE is not set +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set + +# +# Xtables matches +# +# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set +CONFIG_NETFILTER_XT_MATCH_BPF=m +CONFIG_NETFILTER_XT_MATCH_CGROUP=m +# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set +# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set +# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set +# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set +# CONFIG_NETFILTER_XT_MATCH_CPU is not set +# CONFIG_NETFILTER_XT_MATCH_DCCP is not set +# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set +# CONFIG_NETFILTER_XT_MATCH_DSCP is not set +CONFIG_NETFILTER_XT_MATCH_ECN=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set +# CONFIG_NETFILTER_XT_MATCH_HELPER is not set +CONFIG_NETFILTER_XT_MATCH_HL=m +# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +# CONFIG_NETFILTER_XT_MATCH_L2TP is not set +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set +CONFIG_NETFILTER_XT_MATCH_MAC=m +# CONFIG_NETFILTER_XT_MATCH_MARK is not set +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set +# CONFIG_NETFILTER_XT_MATCH_OSF is not set +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set +# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set +# CONFIG_NETFILTER_XT_MATCH_REALM is not set +# CONFIG_NETFILTER_XT_MATCH_RECENT is not set +# CONFIG_NETFILTER_XT_MATCH_SCTP is not set +# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +# CONFIG_IP_SET is not set +# CONFIG_IP_VS is not set + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_NF_DUP_IPV4=m +CONFIG_NF_LOG_ARP=m +CONFIG_NF_LOG_IPV4=m +CONFIG_NF_REJECT_IPV4=m +CONFIG_NF_NAT_IPV4=m +CONFIG_NF_NAT_MASQUERADE_IPV4=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_RPFILTER=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m +CONFIG_IP_NF_NAT=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +# CONFIG_IP_NF_SECURITY is not set +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV6=m +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NF_DUP_IPV6=m +CONFIG_NF_REJECT_IPV6=m +CONFIG_NF_LOG_IPV6=m +CONFIG_NF_NAT_IPV6=m +CONFIG_NF_NAT_MASQUERADE_IPV6=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +# CONFIG_IP6_NF_MATCH_RPFILTER is not set +CONFIG_IP6_NF_MATCH_RT=m +# CONFIG_IP6_NF_TARGET_HL is not set +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_RAW=m +# CONFIG_IP6_NF_SECURITY is not set +CONFIG_IP6_NF_NAT=m +CONFIG_IP6_NF_TARGET_MASQUERADE=m +CONFIG_IP6_NF_TARGET_NPT=m +# CONFIG_BRIDGE_NF_EBTABLES is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_RDS is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +CONFIG_L2TP=m +# CONFIG_L2TP_DEBUGFS is not set +# CONFIG_L2TP_V3 is not set +CONFIG_STP=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +# CONFIG_BRIDGE_VLAN_FILTERING is not set +CONFIG_HAVE_NET_DSA=y +CONFIG_VLAN_8021Q=m +# CONFIG_VLAN_8021Q_GVRP is not set +# CONFIG_VLAN_8021Q_MVRP is not set +# CONFIG_DECNET is not set +CONFIG_LLC=m +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_PHONET is not set +# CONFIG_6LOWPAN is not set +# CONFIG_IEEE802154 is not set +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +# CONFIG_NET_SCH_PRIO is not set +# CONFIG_NET_SCH_MULTIQ is not set +CONFIG_NET_SCH_RED=m +# CONFIG_NET_SCH_SFB is not set +# CONFIG_NET_SCH_SFQ is not set +# CONFIG_NET_SCH_TEQL is not set +# CONFIG_NET_SCH_TBF is not set +# CONFIG_NET_SCH_GRED is not set +# CONFIG_NET_SCH_DSMARK is not set +CONFIG_NET_SCH_NETEM=m +# CONFIG_NET_SCH_DRR is not set +# CONFIG_NET_SCH_MQPRIO is not set +# CONFIG_NET_SCH_CHOKE is not set +# CONFIG_NET_SCH_QFQ is not set +# CONFIG_NET_SCH_CODEL is not set +# CONFIG_NET_SCH_FQ_CODEL is not set +# CONFIG_NET_SCH_FQ is not set +# CONFIG_NET_SCH_HHF is not set +# CONFIG_NET_SCH_PIE is not set +# CONFIG_NET_SCH_PLUG is not set + +# +# Classification +# +CONFIG_NET_CLS=y +# CONFIG_NET_CLS_BASIC is not set +# CONFIG_NET_CLS_TCINDEX is not set +# CONFIG_NET_CLS_ROUTE4 is not set +CONFIG_NET_CLS_FW=m +# CONFIG_NET_CLS_U32 is not set +# CONFIG_NET_CLS_RSVP is not set +# CONFIG_NET_CLS_RSVP6 is not set +# CONFIG_NET_CLS_FLOW is not set +CONFIG_NET_CLS_CGROUP=m +CONFIG_NET_CLS_BPF=m +# CONFIG_NET_CLS_FLOWER is not set +# CONFIG_NET_EMATCH is not set +# CONFIG_NET_CLS_ACT is not set +# CONFIG_NET_CLS_IND is not set +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +# CONFIG_DNS_RESOLVER is not set +# CONFIG_BATMAN_ADV is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +# CONFIG_NETLINK_MMAP is not set +# CONFIG_NETLINK_DIAG is not set +# CONFIG_MPLS is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +# CONFIG_NET_L3_MASTER_DEV is not set +# CONFIG_CGROUP_NET_PRIO is not set +CONFIG_CGROUP_NET_CLASSID=y +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +CONFIG_BPF_JIT=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_CFG80211=m +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_REG_DEBUG is not set +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +# CONFIG_LIB80211 is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MAC80211_RC_MINSTREL_VHT is not set +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +# CONFIG_MAC80211_MESH is not set +# CONFIG_MAC80211_LEDS is not set +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +# CONFIG_WIMAX is not set +# CONFIG_RFKILL is not set +# CONFIG_RFKILL_REGULATOR is not set +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +# CONFIG_CEPH_LIB is not set +# CONFIG_NFC is not set +# CONFIG_LWTUNNEL is not set +CONFIG_HAVE_BPF_JIT=y + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_STANDALONE is not set +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=m +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +# CONFIG_ALLOW_DEV_COREDUMP is not set +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_SOC_BUS=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=m +CONFIG_REGMAP_MMIO=m +# CONFIG_DMA_SHARED_BUFFER is not set + +# +# Bus devices +# +# CONFIG_BRCMSTB_GISB_ARB is not set +# CONFIG_IMX_WEIM is not set +# CONFIG_VEXPRESS_CONFIG is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=m +# CONFIG_MTD_TESTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set +# CONFIG_MTD_AFS_PARTS is not set +CONFIG_MTD_OF_PARTS=m +# CONFIG_MTD_AR7_PARTS is not set + +# +# User Modules And Translation Layers +# +# CONFIG_MTD_BLOCK is not set +# CONFIG_MTD_BLOCK_RO is not set +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_SWAP is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_DATAFLASH is not set +CONFIG_MTD_M25P80=m +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +CONFIG_MTD_BLOCK2MTD=m + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# CONFIG_MTD_NAND is not set +# CONFIG_MTD_ONENAND is not set + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# CONFIG_MTD_LPDDR2_NVM is not set +CONFIG_MTD_SPI_NOR=m +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y +# CONFIG_SPI_FSL_QUADSPI is not set +# CONFIG_MTD_UBI is not set +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MTD=y +CONFIG_OF_RESERVED_MEM=y +# CONFIG_OF_OVERLAY is not set +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_ZRAM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_MG_DISK is not set +# CONFIG_BLK_DEV_RBD is not set + +# +# Misc devices +# +# CONFIG_SENSORS_LIS3LV02D is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1780 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_TI_DAC7512 is not set +# CONFIG_BMP085_I2C is not set +# CONFIG_BMP085_SPI is not set +# CONFIG_USB_SWITCH_FSA9480 is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +CONFIG_SRAM=y +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_AT25 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +CONFIG_EEPROM_93CX6=m +# CONFIG_EEPROM_93XX46 is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set + +# +# Altera FPGA firmware download module +# +# CONFIG_ALTERA_STAPL is not set + +# +# Intel MIC Bus Driver +# + +# +# SCIF Bus Driver +# + +# +# Intel MIC Host Driver +# + +# +# Intel MIC Card Driver +# + +# +# SCIF Driver +# + +# +# Intel MIC Coprocessor State Management (COSM) Drivers +# +# CONFIG_ECHO is not set +# CONFIG_CXL_BASE is not set +# CONFIG_CXL_KERNEL_API is not set +# CONFIG_CXL_EEH is not set + +# +# SCSI device support +# +CONFIG_SCSI_MOD=m +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=m +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_MQ_DEFAULT is not set +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=m +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_ISCSI_BOOT_SYSFS is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_SCSI_DH is not set +# CONFIG_SCSI_OSD_INITIATOR is not set +# CONFIG_ATA is not set +CONFIG_MD=y +# CONFIG_BLK_DEV_MD is not set +# CONFIG_BCACHE is not set +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DM=y +# CONFIG_DM_MQ_DEFAULT is not set +# CONFIG_DM_DEBUG is not set +CONFIG_DM_BUFIO=y +CONFIG_DM_CRYPT=y +# CONFIG_DM_SNAPSHOT is not set +# CONFIG_DM_THIN_PROVISIONING is not set +# CONFIG_DM_CACHE is not set +# CONFIG_DM_ERA is not set +# CONFIG_DM_MIRROR is not set +# CONFIG_DM_RAID is not set +# CONFIG_DM_ZERO is not set +# CONFIG_DM_MULTIPATH is not set +# CONFIG_DM_DELAY is not set +# CONFIG_DM_UEVENT is not set +# CONFIG_DM_FLAKEY is not set +CONFIG_DM_VERITY=y +# CONFIG_DM_SWITCH is not set +# CONFIG_DM_LOG_WRITES is not set +# CONFIG_TARGET_CORE is not set +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +# CONFIG_BONDING is not set +CONFIG_DUMMY=m +# CONFIG_EQUALIZER is not set +# CONFIG_NET_TEAM is not set +# CONFIG_MACVLAN is not set +# CONFIG_IPVLAN is not set +CONFIG_VXLAN=m +# CONFIG_GENEVE is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +CONFIG_TUN=m +# CONFIG_TUN_VNET_CROSS_LE is not set +CONFIG_VETH=m +# CONFIG_NLMON is not set + +# +# CAIF transport drivers +# + +# +# Distributed Switch Architecture drivers +# +# CONFIG_NET_DSA_MV88E6XXX is not set +# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +# CONFIG_ETHERNET is not set +# CONFIG_PHYLIB is not set +# CONFIG_MICREL_KS8995MA is not set +CONFIG_PPP=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=m +# CONFIG_PPP_MULTILINK is not set +CONFIG_PPPOE=m +# CONFIG_PPTP is not set +CONFIG_PPPOL2TP=m +# CONFIG_PPP_ASYNC is not set +# CONFIG_PPP_SYNC_TTY is not set +# CONFIG_SLIP is not set +CONFIG_SLHC=m + +# +# Host-side USB support is needed for USB Network Adapter support +# +CONFIG_USB_NET_DRIVERS=m +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_RTL8152 is not set +# CONFIG_USB_LAN78XX is not set +# CONFIG_USB_USBNET is not set +# CONFIG_USB_IPHETH is not set +CONFIG_WLAN=y +# CONFIG_LIBERTAS_THINFIRM is not set +# CONFIG_AT76C50X_USB is not set +# CONFIG_USB_ZD1201 is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +CONFIG_RTL8187=m +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_ATH_CARDS is not set +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +# CONFIG_HOSTAP is not set +# CONFIG_LIBERTAS is not set +# CONFIG_P54_COMMON is not set +CONFIG_RT2X00=m +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT3573=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_RT55XX=y +CONFIG_RT2800USB_UNKNOWN=y +CONFIG_RT2800_LIB=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_LEDS=y +CONFIG_RT2X00_DEBUG=y +# CONFIG_WL_MEDIATEK is not set +CONFIG_RTL_CARDS=m +CONFIG_RTL8192CU=m +CONFIG_RTLWIFI=m +CONFIG_RTLWIFI_USB=m +CONFIG_RTLWIFI_DEBUG=y +CONFIG_RTL8192C_COMMON=m +CONFIG_RTL8XXXU=m +# CONFIG_RTL8XXXU_UNTESTED is not set +# CONFIG_WL_TI is not set +# CONFIG_ZD1211RW is not set +# CONFIG_MWIFIEX is not set +# CONFIG_CW1200 is not set +# CONFIG_RSI_91X is not set + +# +# Enable WiMAX (Networking options) to see the WiMAX drivers +# +# CONFIG_WAN is not set +# CONFIG_ISDN is not set +# CONFIG_NVM is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=m +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=m +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=m +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADP5588 is not set +# CONFIG_KEYBOARD_ADP5589 is not set +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYBOARD_GPIO_POLLED is not set +# CONFIG_KEYBOARD_TCA6416 is not set +# CONFIG_KEYBOARD_TCA8418 is not set +# CONFIG_KEYBOARD_MATRIX is not set +# CONFIG_KEYBOARD_LM8323 is not set +# CONFIG_KEYBOARD_LM8333 is not set +# CONFIG_KEYBOARD_MAX7359 is not set +# CONFIG_KEYBOARD_MCS is not set +# CONFIG_KEYBOARD_MPR121 is not set +# CONFIG_KEYBOARD_IMX is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_SAMSUNG is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_OMAP4 is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=m +# CONFIG_MOUSE_PS2_ALPS is not set +# CONFIG_MOUSE_PS2_LOGIPS2PP is not set +# CONFIG_MOUSE_PS2_SYNAPTICS is not set +# CONFIG_MOUSE_PS2_CYPRESS is not set +# CONFIG_MOUSE_PS2_TRACKPOINT is not set +# CONFIG_MOUSE_PS2_ELANTECH is not set +# CONFIG_MOUSE_PS2_SENTELIC is not set +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_PS2_FOCALTECH=y +CONFIG_MOUSE_SERIAL=m +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_CYAPA is not set +# CONFIG_MOUSE_ELAN_I2C is not set +# CONFIG_MOUSE_VSXXXAA is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_SYNAPTICS_I2C is not set +CONFIG_MOUSE_SYNAPTICS_USB=m +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_PROPERTIES=y +# CONFIG_TOUCHSCREEN_ADS7846 is not set +# CONFIG_TOUCHSCREEN_AD7877 is not set +# CONFIG_TOUCHSCREEN_AD7879 is not set +# CONFIG_TOUCHSCREEN_AR1021_I2C is not set +# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set +# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set +# CONFIG_TOUCHSCREEN_BU21013 is not set +# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set +# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set +# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set +# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set +# CONFIG_TOUCHSCREEN_DYNAPRO is not set +# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set +# CONFIG_TOUCHSCREEN_EETI is not set +# CONFIG_TOUCHSCREEN_EGALAX is not set +# CONFIG_TOUCHSCREEN_FT6236 is not set +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GOODIX is not set +# CONFIG_TOUCHSCREEN_ILI210X is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELAN is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set +# CONFIG_TOUCHSCREEN_WACOM_I2C is not set +# CONFIG_TOUCHSCREEN_MAX11801 is not set +# CONFIG_TOUCHSCREEN_MCS5000 is not set +# CONFIG_TOUCHSCREEN_MMS114 is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_PIXCIR is not set +# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set +CONFIG_TOUCHSCREEN_USB_COMPOSITE=m +# CONFIG_TOUCHSCREEN_USB_EGALAX is not set +# CONFIG_TOUCHSCREEN_USB_PANJIT is not set +# CONFIG_TOUCHSCREEN_USB_3M is not set +# CONFIG_TOUCHSCREEN_USB_ITM is not set +# CONFIG_TOUCHSCREEN_USB_ETURBO is not set +# CONFIG_TOUCHSCREEN_USB_GUNZE is not set +# CONFIG_TOUCHSCREEN_USB_DMC_TSC10 is not set +# CONFIG_TOUCHSCREEN_USB_IRTOUCH is not set +# CONFIG_TOUCHSCREEN_USB_IDEALTEK is not set +# CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH is not set +# CONFIG_TOUCHSCREEN_USB_GOTOP is not set +# CONFIG_TOUCHSCREEN_USB_JASTEC is not set +# CONFIG_TOUCHSCREEN_USB_ELO is not set +CONFIG_TOUCHSCREEN_USB_E2I=y +# CONFIG_TOUCHSCREEN_USB_ZYTRONIC is not set +# CONFIG_TOUCHSCREEN_USB_ETT_TC45USB is not set +# CONFIG_TOUCHSCREEN_USB_NEXIO is not set +# CONFIG_TOUCHSCREEN_USB_EASYTOUCH is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_TOUCHSCREEN_TSC_SERIO is not set +# CONFIG_TOUCHSCREEN_TSC2004 is not set +# CONFIG_TOUCHSCREEN_TSC2005 is not set +# CONFIG_TOUCHSCREEN_TSC2007 is not set +# CONFIG_TOUCHSCREEN_ST1232 is not set +# CONFIG_TOUCHSCREEN_SX8654 is not set +# CONFIG_TOUCHSCREEN_TPS6507X is not set +# CONFIG_TOUCHSCREEN_ZFORCE is not set +# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_SERIO_ALTERA_PS2 is not set +# CONFIG_SERIO_PS2MULT is not set +# CONFIG_SERIO_ARC_PS2 is not set +# CONFIG_SERIO_APBPS2 is not set +# CONFIG_USERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_UNIX98_PTYS=y +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_TRACE_SINK is not set +CONFIG_DEVMEM=y +CONFIG_DEVKMEM=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set +# CONFIG_SERIAL_MAX3100 is not set +# CONFIG_SERIAL_MAX310X is not set +CONFIG_SERIAL_IMX=y +CONFIG_SERIAL_IMX_CONSOLE=y +# CONFIG_SERIAL_UARTLITE is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_BCM63XX is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_IFX6X60 is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_TTY_PRINTK is not set +# CONFIG_HVC_DCC is not set +# CONFIG_IPMI_HANDLER is not set +CONFIG_HW_RANDOM=m +# CONFIG_HW_RANDOM_TIMERIOMEM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +# CONFIG_XILLYBUS is not set + +# +# I2C support +# +CONFIG_I2C=m +CONFIG_I2C_BOARDINFO=y +# CONFIG_I2C_COMPAT is not set +CONFIG_I2C_CHARDEV=m +# CONFIG_I2C_MUX is not set +CONFIG_I2C_HELPER_AUTO=y + +# +# I2C Hardware Bus support +# + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_GPIO is not set +CONFIG_I2C_IMX=m +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PXA_PCI is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_XILINX is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_ROBOTFUZZ_OSIF is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_SLAVE is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +CONFIG_SPI=y +CONFIG_SPI_DEBUG=y +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +CONFIG_SPI_BITBANG=m +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_GPIO is not set +CONFIG_SPI_IMX=m +# CONFIG_SPI_FSL_SPI is not set +# CONFIG_SPI_OC_TINY is not set +# CONFIG_SPI_PXA2XX_PCI is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_DESIGNWARE is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=m +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set + +# +# PPS support +# +CONFIG_PPS=y +# CONFIG_PPS_DEBUG is not set + +# +# PPS clients support +# +# CONFIG_PPS_CLIENT_KTIMER is not set +# CONFIG_PPS_CLIENT_LDISC is not set +# CONFIG_PPS_CLIENT_GPIO is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +# CONFIG_PTP_1588_CLOCK is not set + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_PINCTRL=y + +# +# Pin controllers +# +CONFIG_PINMUX=y +CONFIG_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_SINGLE is not set +CONFIG_PINCTRL_IMX=y +CONFIG_PINCTRL_IMX53=y +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_GENERIC_PLATFORM=y +# CONFIG_GPIO_GRGPIO is not set +CONFIG_GPIO_MXC=y +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_ZEVIO is not set +# CONFIG_GPIO_ZX is not set + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set + +# +# MFD GPIO expanders +# + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set + +# +# SPI or I2C GPIO expanders +# +# CONFIG_GPIO_MCP23S08 is not set + +# +# USB GPIO expanders +# +# CONFIG_W1 is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +# CONFIG_PDA_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_SBS is not set +# CONFIG_BATTERY_BQ27XXX is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 is not set +# CONFIG_CHARGER_ISP1704 is not set +# CONFIG_CHARGER_MAX8903 is not set +# CONFIG_CHARGER_LP8727 is not set +# CONFIG_CHARGER_GPIO is not set +# CONFIG_CHARGER_MANAGER is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24190 is not set +# CONFIG_CHARGER_BQ24257 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_POWER_RESET is not set +CONFIG_POWER_AVS=y +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +CONFIG_SOFT_WATCHDOG=m +CONFIG_GPIO_WATCHDOG=m +# CONFIG_XILINX_WATCHDOG is not set +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +CONFIG_IMX2_WDT=m +# CONFIG_BCM7038_WDT is not set +# CONFIG_MEN_A21_WDT is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_SSB_POSSIBLE=y + +# +# Sonics Silicon Backplane +# +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y + +# +# Broadcom specific AMBA +# +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_CORE is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_CROS_EC is not set +# CONFIG_MFD_ASIC3 is not set +# CONFIG_MFD_DA9052_SPI is not set +# CONFIG_MFD_DLN2 is not set +# CONFIG_MFD_MC13XXX_SPI is not set +# CONFIG_MFD_MC13XXX_I2C is not set +# CONFIG_MFD_HI6421_PMIC is not set +# CONFIG_HTC_EGPIO is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_RTSX_USB is not set +# CONFIG_MFD_RK808 is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SYSCON is not set +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X is not set +# CONFIG_MFD_TPS65217 is not set +# CONFIG_MFD_TPS65218 is not set +# CONFIG_MFD_TPS65912 is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TMIO is not set +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8994 is not set +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +# CONFIG_REGULATOR_FIXED_VOLTAGE is not set +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_DA9210 is not set +# CONFIG_REGULATOR_DA9211 is not set +# CONFIG_REGULATOR_FAN53555 is not set +# CONFIG_REGULATOR_GPIO is not set +# CONFIG_REGULATOR_ISL9305 is not set +# CONFIG_REGULATOR_ISL6271A is not set +# CONFIG_REGULATOR_LP3971 is not set +# CONFIG_REGULATOR_LP3972 is not set +# CONFIG_REGULATOR_LP872X is not set +# CONFIG_REGULATOR_LP8755 is not set +CONFIG_REGULATOR_LTC3589=m +# CONFIG_REGULATOR_MAX1586 is not set +# CONFIG_REGULATOR_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MAX8973 is not set +# CONFIG_REGULATOR_MT6311 is not set +# CONFIG_REGULATOR_PFUZE100 is not set +# CONFIG_REGULATOR_TPS51632 is not set +# CONFIG_REGULATOR_TPS62360 is not set +# CONFIG_REGULATOR_TPS65023 is not set +# CONFIG_REGULATOR_TPS6507X is not set +# CONFIG_REGULATOR_TPS6524X is not set +# CONFIG_MEDIA_SUPPORT is not set + +# +# Graphics support +# +# CONFIG_DRM is not set + +# +# Frame buffer Devices +# +# CONFIG_FB is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +# CONFIG_VGASTATE is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +# CONFIG_SOUND is not set + +# +# HID support +# +CONFIG_HID=y +# CONFIG_HID_BATTERY_STRENGTH is not set +# CONFIG_HIDRAW is not set +# CONFIG_UHID is not set +CONFIG_HID_GENERIC=m + +# +# Special HID drivers +# +# CONFIG_HID_A4TECH is not set +# CONFIG_HID_ACRUX is not set +# CONFIG_HID_APPLE is not set +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_AUREAL is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_BETOP_FF is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_CORSAIR is not set +# CONFIG_HID_CP2112 is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +# CONFIG_HID_EZKEY is not set +# CONFIG_HID_GEMBIRD is not set +# CONFIG_HID_GFRM is not set +# CONFIG_HID_HOLTEK is not set +# CONFIG_HID_GT683R is not set +# CONFIG_HID_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set +# CONFIG_HID_WALTOP is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_TWINHAN is not set +# CONFIG_HID_KENSINGTON is not set +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LENOVO is not set +# CONFIG_HID_LOGITECH is not set +# CONFIG_HID_MAGICMOUSE is not set +# CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MONTEREY is not set +# CONFIG_HID_MULTITOUCH is not set +# CONFIG_HID_NTRIG is not set +# CONFIG_HID_ORTEK is not set +# CONFIG_HID_PANTHERLORD is not set +# CONFIG_HID_PENMOUNT is not set +# CONFIG_HID_PETALYNX is not set +# CONFIG_HID_PICOLCD is not set +# CONFIG_HID_PLANTRONICS is not set +# CONFIG_HID_PRIMAX is not set +# CONFIG_HID_ROCCAT is not set +# CONFIG_HID_SAITEK is not set +# CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SONY is not set +# CONFIG_HID_SPEEDLINK is not set +# CONFIG_HID_STEELSERIES is not set +# CONFIG_HID_SUNPLUS is not set +# CONFIG_HID_RMI is not set +# CONFIG_HID_GREENASIA is not set +# CONFIG_HID_SMARTJOYPLUS is not set +# CONFIG_HID_TIVO is not set +# CONFIG_HID_TOPSEED is not set +# CONFIG_HID_THINGM is not set +# CONFIG_HID_THRUSTMASTER is not set +# CONFIG_HID_WACOM is not set +# CONFIG_HID_WIIMOTE is not set +# CONFIG_HID_XINMO is not set +# CONFIG_HID_ZEROPLUS is not set +# CONFIG_HID_ZYDACRON is not set +# CONFIG_HID_SENSOR_HUB is not set + +# +# USB HID support +# +CONFIG_USB_HID=m +# CONFIG_HID_PID is not set +CONFIG_USB_HIDDEV=y + +# +# USB HID Boot Protocol drivers +# +CONFIG_USB_KBD=m +CONFIG_USB_MOUSE=m + +# +# I2C HID support +# +# CONFIG_I2C_HID is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=m +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=m +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_DYNAMIC_MINORS is not set +CONFIG_USB_OTG=y +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set +# CONFIG_USB_OTG_FSM is not set +# CONFIG_USB_ULPI_BUS is not set +# CONFIG_USB_MON is not set +# CONFIG_USB_WUSB_CBAF is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +# CONFIG_USB_XHCI_HCD is not set +CONFIG_USB_EHCI_HCD=m +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +# CONFIG_USB_EHCI_MXC is not set +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_FOTG210_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +# CONFIG_USB_OHCI_HCD is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_IMX21_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=m +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set +# CONFIG_USB_UAS is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USBIP_CORE is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_DWC3 is not set +# CONFIG_USB_DWC2 is not set +CONFIG_USB_CHIPIDEA=m +CONFIG_USB_CHIPIDEA_OF=m +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_DEBUG=y +# CONFIG_USB_ISP1760 is not set + +# +# USB port drivers +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +# CONFIG_USB_EZUSB_FX2 is not set +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set +# CONFIG_USB_CHAOSKEY is not set + +# +# USB Physical Layer drivers +# +CONFIG_USB_PHY=y +CONFIG_NOP_USB_XCEIV=y +# CONFIG_AM335X_PHY_USB is not set +# CONFIG_USB_GPIO_VBUS is not set +# CONFIG_USB_ISP1301 is not set +# CONFIG_USB_MXS_PHY is not set +# CONFIG_USB_ULPI is not set +CONFIG_USB_GADGET=m +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +CONFIG_USB_GADGET_DEBUG_FS=y +CONFIG_USB_GADGET_VBUS_DRAW=500 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 + +# +# USB Peripheral Controller +# +# CONFIG_USB_FSL_USB2 is not set +# CONFIG_USB_FUSB300 is not set +# CONFIG_USB_FOTG210_UDC is not set +# CONFIG_USB_GR_UDC is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_LIBCOMPOSITE=m +CONFIG_USB_F_ACM=m +CONFIG_USB_F_SS_LB=m +CONFIG_USB_U_SERIAL=m +CONFIG_USB_U_ETHER=m +CONFIG_USB_F_SERIAL=m +CONFIG_USB_F_OBEX=m +CONFIG_USB_F_NCM=m +CONFIG_USB_F_ECM=m +CONFIG_USB_F_EEM=m +CONFIG_USB_F_SUBSET=m +CONFIG_USB_F_RNDIS=m +CONFIG_USB_F_MASS_STORAGE=m +CONFIG_USB_F_FS=m +CONFIG_USB_F_HID=m +CONFIG_USB_F_PRINTER=m +CONFIG_USB_CONFIGFS=m +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_OBEX=y +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_ECM=y +CONFIG_USB_CONFIGFS_ECM_SUBSET=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +CONFIG_USB_CONFIGFS_F_LB_SS=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_HID=y +CONFIG_USB_CONFIGFS_F_PRINTER=y +CONFIG_USB_ZERO=m +# CONFIG_USB_ZERO_HNPTEST is not set +CONFIG_USB_ETH=m +CONFIG_USB_ETH_RNDIS=y +CONFIG_USB_ETH_EEM=y +CONFIG_USB_G_NCM=m +CONFIG_USB_GADGETFS=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_FUNCTIONFS_ETH=y +CONFIG_USB_FUNCTIONFS_RNDIS=y +CONFIG_USB_FUNCTIONFS_GENERIC=y +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_G_SERIAL=m +CONFIG_USB_G_PRINTER=m +CONFIG_USB_CDC_COMPOSITE=m +CONFIG_USB_G_ACM_MS=m +CONFIG_USB_G_MULTI=m +CONFIG_USB_G_MULTI_RNDIS=y +CONFIG_USB_G_MULTI_CDC=y +CONFIG_USB_G_HID=m +# CONFIG_USB_G_DBGP is not set +# CONFIG_USB_LED_TRIG is not set +# CONFIG_UWB is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set + +# +# MMC/SD/SDIO Card Drivers +# +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_PLTFM=y +# CONFIG_MMC_SDHCI_OF_ARASAN is not set +# CONFIG_MMC_SDHCI_OF_AT91 is not set +# CONFIG_MMC_SDHCI_OF_ESDHC is not set +CONFIG_MMC_SDHCI_ESDHC_IMX=y +# CONFIG_MMC_SDHCI_F_SDH30 is not set +# CONFIG_MMC_MXC is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_DW is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_USDHI6ROL0 is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=m +# CONFIG_LEDS_CLASS_FLASH is not set + +# +# LED drivers +# +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_PCA9532 is not set +CONFIG_LEDS_GPIO=m +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP5521 is not set +# CONFIG_LEDS_LP5523 is not set +# CONFIG_LEDS_LP5562 is not set +# CONFIG_LEDS_LP8501 is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_REGULATOR is not set +# CONFIG_LEDS_BD2802 is not set +# CONFIG_LEDS_LT3593 is not set +# CONFIG_LEDS_TCA6507 is not set +# CONFIG_LEDS_TLC591XX is not set +# CONFIG_LEDS_LM355x is not set + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LEDS_TRIGGER_ONESHOT=m +CONFIG_LEDS_TRIGGER_HEARTBEAT=m +CONFIG_LEDS_TRIGGER_BACKLIGHT=m +CONFIG_LEDS_TRIGGER_CPU=y +CONFIG_LEDS_TRIGGER_GPIO=m +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m + +# +# iptables trigger is under Netfilter config (LED target) +# +CONFIG_LEDS_TRIGGER_TRANSIENT=m +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_ACCESSIBILITY is not set +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +CONFIG_RTC_INTF_DEV_UIE_EMUL=y +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_ABB5ZES3 is not set +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_DS3232 is not set +# CONFIG_RTC_DRV_HYM8563 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_ISL12057 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF85063 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_BQ32K is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set +# CONFIG_RTC_DRV_RV8803 is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1343 is not set +# CONFIG_RTC_DRV_DS1347 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_DS3234 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_MCP795 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1685_FAMILY is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_DS2404 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_ZYNQMP is not set + +# +# on-CPU RTC drivers +# +CONFIG_RTC_DRV_IMXDI=y +CONFIG_RTC_DRV_MXC=y +# CONFIG_RTC_DRV_SNVS is not set + +# +# HID Sensor RTC drivers +# +# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set + +# +# DMA Devices +# +CONFIG_DMA_ENGINE=y +CONFIG_DMA_OF=y +# CONFIG_FSL_EDMA is not set +# CONFIG_IMX_DMA is not set +CONFIG_IMX_SDMA=m +# CONFIG_INTEL_IDMA64 is not set +# CONFIG_MX3_IPU is not set +# CONFIG_NBPFAXI_DMA is not set +# CONFIG_DW_DMAC is not set + +# +# DMA Clients +# +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_DMATEST is not set +# CONFIG_AUXDISPLAY is not set +# CONFIG_UIO is not set +# CONFIG_VIRT_DRIVERS is not set + +# +# Virtio drivers +# +# CONFIG_VIRTIO_MMIO is not set + +# +# Microsoft Hyper-V guest support +# +# CONFIG_STAGING is not set +# CONFIG_CHROME_PLATFORMS is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Common Clock Framework +# +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_PXA is not set +# CONFIG_COMMON_CLK_CDCE706 is not set + +# +# Hardware Spinlock drivers +# + +# +# Clock Source drivers +# +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +# CONFIG_ARM_TIMER_SP804 is not set +# CONFIG_ATMEL_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +CONFIG_CLKSRC_IMX_GPT=y +# CONFIG_MAILBOX is not set +CONFIG_IOMMU_SUPPORT=y + +# +# Generic IOMMU Pagetable Support +# +# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set +# CONFIG_ARM_SMMU is not set + +# +# Remoteproc drivers +# +# CONFIG_STE_MODEM_RPROC is not set + +# +# Rpmsg drivers +# + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SUNXI_SRAM is not set +# CONFIG_SOC_TI is not set +# CONFIG_PM_DEVFREQ is not set +CONFIG_EXTCON=m + +# +# Extcon Device Drivers +# +# CONFIG_EXTCON_GPIO is not set +# CONFIG_EXTCON_RT8973A is not set +# CONFIG_EXTCON_SM5502 is not set +# CONFIG_EXTCON_USB_GPIO is not set +# CONFIG_MEMORY is not set +# CONFIG_IIO is not set +# CONFIG_PWM is not set +CONFIG_IRQCHIP=y +# CONFIG_IPACK_BUS is not set +CONFIG_ARCH_HAS_RESET_CONTROLLER=y +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_FMC is not set + +# +# PHY Subsystem +# +# CONFIG_GENERIC_PHY is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_RAS is not set + +# +# Android +# +# CONFIG_ANDROID is not set +# CONFIG_NVMEM is not set +# CONFIG_STM is not set +# CONFIG_STM_DUMMY is not set +# CONFIG_STM_SOURCE_CONSOLE is not set +# CONFIG_INTEL_TH is not set + +# +# FPGA Configuration Support +# +# CONFIG_FPGA is not set + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +# CONFIG_EXT4_FS_POSIX_ACL is not set +# CONFIG_EXT4_FS_SECURITY is not set +# CONFIG_EXT4_ENCRYPTION is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_BTRFS_FS is not set +# CONFIG_NILFS2_FS is not set +# CONFIG_F2FS_FS is not set +# CONFIG_FS_POSIX_ACL is not set +CONFIG_EXPORTFS=y +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_FANOTIFY is not set +# CONFIG_QUOTA is not set +# CONFIG_QUOTACTL is not set +CONFIG_AUTOFS4_FS=y +CONFIG_FUSE_FS=m +# CONFIG_CUSE is not set +CONFIG_OVERLAY_FS=y + +# +# Caches +# +# CONFIG_FSCACHE is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +CONFIG_NTFS_FS=m +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +# CONFIG_PROC_CHILDREN is not set +CONFIG_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +# CONFIG_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +CONFIG_ECRYPT_FS=m +CONFIG_ECRYPT_FS_MESSAGING=y +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +# CONFIG_LOGFS is not set +# CONFIG_CRAMFS is not set +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_FILE_CACHE is not set +CONFIG_SQUASHFS_FILE_DIRECT=y +CONFIG_SQUASHFS_DECOMP_SINGLE=y +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set +# CONFIG_SQUASHFS_XATTR is not set +CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_LZ4=y +# CONFIG_SQUASHFS_LZO is not set +# CONFIG_SQUASHFS_XZ is not set +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_OMFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_PSTORE is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=m +CONFIG_NFS_V2=m +CONFIG_NFS_V3=m +# CONFIG_NFS_V3_ACL is not set +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_SWAP is not set +CONFIG_NFSD=m +CONFIG_NFSD_V3=y +# CONFIG_NFSD_V3_ACL is not set +# CONFIG_NFSD_V4 is not set +CONFIG_GRACE_PERIOD=m +CONFIG_LOCKD=m +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=m +# CONFIG_SUNRPC_DEBUG is not set +# CONFIG_CEPH_FS is not set +CONFIG_CIFS=m +# CONFIG_CIFS_STATS is not set +# CONFIG_CIFS_WEAK_PW_HASH is not set +# CONFIG_CIFS_UPCALL is not set +# CONFIG_CIFS_XATTR is not set +# CONFIG_CIFS_DEBUG is not set +# CONFIG_CIFS_DFS_UPCALL is not set +# CONFIG_CIFS_SMB2 is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_MAC_ROMAN is not set +# CONFIG_NLS_MAC_CELTIC is not set +# CONFIG_NLS_MAC_CENTEURO is not set +# CONFIG_NLS_MAC_CROATIAN is not set +# CONFIG_NLS_MAC_CYRILLIC is not set +# CONFIG_NLS_MAC_GAELIC is not set +# CONFIG_NLS_MAC_GREEK is not set +# CONFIG_NLS_MAC_ICELAND is not set +# CONFIG_NLS_MAC_INUIT is not set +# CONFIG_NLS_MAC_ROMANIAN is not set +# CONFIG_NLS_MAC_TURKISH is not set +CONFIG_NLS_UTF8=y +# CONFIG_DLM is not set + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +# CONFIG_PRINTK_TIME is not set +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_DYNAMIC_DEBUG is not set + +# +# Compile-time checks and compiler options +# +# CONFIG_DEBUG_INFO is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_PAGE_OWNER is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_MAGIC_SYSRQ is not set +CONFIG_DEBUG_KERNEL=y + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SLUB_STATS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Lockups and Hangs +# +CONFIG_LOCKUP_DETECTOR=y +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=0 +CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1 +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=5 +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHED_INFO is not set +# CONFIG_SCHEDSTATS is not set +# CONFIG_SCHED_STACK_END_CHECK is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_TIMER_STATS is not set +# CONFIG_DEBUG_PREEMPT is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +# CONFIG_STACKTRACE is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PI_LIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_CREDENTIALS is not set + +# +# RCU Debugging +# +# CONFIG_PROVE_RCU is not set +# CONFIG_SPARSE_RCU_POINTER is not set +# CONFIG_TORTURE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_LATENCYTOP is not set +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_FTRACE is not set + +# +# Runtime Testing +# +CONFIG_LKDTM=m +# CONFIG_TEST_LIST_SORT is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_RBTREE_TEST is not set +# CONFIG_INTERVAL_TREE_TEST is not set +# CONFIG_PERCPU_TEST is not set +# CONFIG_ATOMIC64_SELFTEST is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_BPF is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_MEMTEST is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_SAMPLES is not set +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +# CONFIG_ARM_PTDUMP is not set +CONFIG_STRICT_DEVMEM=y +CONFIG_ARM_UNWIND=y +# CONFIG_DEBUG_USER is not set +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_IMX_UART_PORT=1 +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_UART_8250 is not set +# CONFIG_DEBUG_UART_BCM63XX is not set +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_DEBUG_SET_MODULE_RONX is not set +# CONFIG_CORESIGHT is not set + +# +# Security options +# +CONFIG_KEYS=y +# CONFIG_PERSISTENT_KEYRINGS is not set +# CONFIG_BIG_KEYS is not set +CONFIG_ENCRYPTED_KEYS=m +# CONFIG_SECURITY_DMESG_RESTRICT is not set +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +# CONFIG_SECURITY_NETWORK is not set +# CONFIG_SECURITY_PATH is not set +# CONFIG_SECURITY_SMACK is not set +# CONFIG_SECURITY_TOMOYO is not set +# CONFIG_SECURITY_APPARMOR is not set +# CONFIG_SECURITY_YAMA is not set +CONFIG_INTEGRITY=y +# CONFIG_INTEGRITY_SIGNATURE is not set +# CONFIG_IMA is not set +# CONFIG_EVM is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +# CONFIG_CRYPTO_RSA is not set +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_USER=m +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=y +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_WORKQUEUE=y +# CONFIG_CRYPTO_CRYPTD is not set +# CONFIG_CRYPTO_MCRYPTD is not set +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_TEST=m + +# +# Authenticated Encryption with Associated Data +# +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m + +# +# Block modes +# +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTR=m +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_ECB=y +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_PCBC is not set +CONFIG_CRYPTO_XTS=y +# CONFIG_CRYPTO_KEYWRAP is not set + +# +# Hash modes +# +CONFIG_CRYPTO_CMAC=m +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_VMAC is not set + +# +# Digest +# +CONFIG_CRYPTO_CRC32C=y +# CONFIG_CRYPTO_CRC32 is not set +# CONFIG_CRYPTO_CRCT10DIF is not set +CONFIG_CRYPTO_GHASH=m +# CONFIG_CRYPTO_POLY1305 is not set +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_RMD160 is not set +# CONFIG_CRYPTO_RMD256 is not set +# CONFIG_CRYPTO_RMD320 is not set +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=y +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_WP512 is not set + +# +# Ciphers +# +CONFIG_CRYPTO_AES=y +# CONFIG_CRYPTO_ANUBIS is not set +CONFIG_CRYPTO_ARC4=m +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_SALSA20 is not set +# CONFIG_CRYPTO_CHACHA20 is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_TWOFISH is not set + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_ZLIB=m +CONFIG_CRYPTO_LZO=m +# CONFIG_CRYPTO_842 is not set +# CONFIG_CRYPTO_LZ4 is not set +# CONFIG_CRYPTO_LZ4HC is not set + +# +# Random Number Generation +# +CONFIG_CRYPTO_ANSI_CPRNG=m +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +CONFIG_CRYPTO_DRBG_HASH=y +CONFIG_CRYPTO_DRBG_CTR=y +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +CONFIG_CRYPTO_USER_API=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_USER_API_RNG=m +# CONFIG_CRYPTO_USER_API_AEAD is not set +CONFIG_CRYPTO_HASH_INFO=y +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_FSL_CAAM is not set +CONFIG_CRYPTO_DEV_SAHARA=y +# CONFIG_CRYPTO_DEV_MXS_DCP is not set +CONFIG_ASYMMETRIC_KEY_TYPE=m +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m +CONFIG_PUBLIC_KEY_ALGO_RSA=m +CONFIG_X509_CERTIFICATE_PARSER=m +CONFIG_PKCS7_MESSAGE_PARSER=m +# CONFIG_PKCS7_TEST_KEY is not set + +# +# Certificates for signature checking +# +# CONFIG_SYSTEM_TRUSTED_KEYRING is not set +# CONFIG_ARM_CRYPTO is not set +# CONFIG_BINARY_PRINTF is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=m +CONFIG_CRC16=y +# CONFIG_CRC_T10DIF is not set +CONFIG_CRC_ITU_T=m +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC7 is not set +# CONFIG_LIBCRC32C is not set +# CONFIG_CRC8 is not set +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_LZ4_DECOMPRESS=y +# CONFIG_XZ_DEC is not set +# CONFIG_XZ_DEC_BCJ is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +CONFIG_CLZ_TAB=y +# CONFIG_CORDIC is not set +# CONFIG_DDR is not set +CONFIG_MPILIB=m +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=m +# CONFIG_SG_SPLIT is not set +CONFIG_ARCH_HAS_SG_CHAIN=y +# CONFIG_VIRTUALIZATION is not set diff --git a/usbarmory/usbarmory_dts.patch b/usbarmory/usbarmory_dts.patch new file mode 100644 index 00000000000..e29c6dd331d --- /dev/null +++ b/usbarmory/usbarmory_dts.patch @@ -0,0 +1,418 @@ +diff -Nru linux-4.4-orig/arch/arm/boot/dts/imx53-usbarmory-common.dtsi linux-4.4/arch/arm/boot/dts/imx53-usbarmory-common.dtsi +--- linux-4.4-orig/arch/arm/boot/dts/imx53-usbarmory-common.dtsi 1969-12-31 18:00:00.000000000 -0600 ++++ linux-4.4/arch/arm/boot/dts/imx53-usbarmory-common.dtsi 2016-02-04 08:31:38.730794858 -0600 +@@ -0,0 +1,241 @@ ++/* ++ * USB armory MkI device tree include file ++ * https://inversepath.com/usbarmory ++ * ++ * Copyright (C) 2015, Inverse Path ++ * Andrej Rosano ++ * ++ * Licensed under GPLv2 ++ */ ++ ++#include "imx53.dtsi" ++ ++/ { ++ model = "Inverse Path USB armory"; ++ compatible = "inversepath,imx53-usbarmory", "fsl,imx53"; ++}; ++ ++/ { ++ chosen { ++ stdout-path = &uart1; ++ }; ++ ++ memory { ++ reg = <0x70000000 0x20000000>; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&led_pin_gpio4_27>; ++ ++ user { ++ label = "LED"; ++ gpios = <&gpio4 27 0>; ++ linux,default-trigger = "heartbeat"; ++ }; ++ }; ++ ++ soc { ++ aips@60000000 { ++ sahara: crypto@63ff8000 { ++ compatible = "fsl,imx53-sahara"; ++ reg = <0x63ff8000 0x4000>; ++ interrupts = <19 20>; ++ clocks = <&clks IMX5_CLK_SAHARA_IPG_GATE>, ++ <&clks IMX5_CLK_SAHARA_IPG_GATE>; ++ clock-names = "ipg", "ahb"; ++ }; ++ }; ++ }; ++}; ++ ++&cpu0 { ++ device_type = "cpu"; ++ compatible = "arm,cortex-a8"; ++ reg = <0x0>; ++ clocks = <&clks IMX5_CLK_ARM>; ++ clock-latency = <61036>; ++ voltage-tolerance = <5>; ++ operating-points = < ++ /* kHz */ ++ 166666 850000 ++ 400000 900000 ++ 800000 1050000 ++ >; ++}; ++ ++&esdhc1 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_esdhc1>; ++ status = "okay"; ++}; ++ ++&iomuxc { ++ pinctrl-names = "default"; ++ ++ imx53-usbarmory { ++ led_pin_gpio4_27: led_gpio4_27@0 { ++ fsl,pins = < ++ MX53_PAD_DISP0_DAT6__GPIO4_27 0x80000000 ++ >; ++ }; ++ ++ pinctrl_esdhc1: esdhc1grp { ++ fsl,pins = < ++ MX53_PAD_SD1_DATA0__ESDHC1_DAT0 0x1d5 ++ MX53_PAD_SD1_DATA1__ESDHC1_DAT1 0x1d5 ++ MX53_PAD_SD1_DATA2__ESDHC1_DAT2 0x1d5 ++ MX53_PAD_SD1_DATA3__ESDHC1_DAT3 0x1d5 ++ MX53_PAD_SD1_CMD__ESDHC1_CMD 0x1d5 ++ MX53_PAD_SD1_CLK__ESDHC1_CLK 0x1d5 ++ >; ++ }; ++ ++ pinctrl_i2c1_pmic: i2c1grp_pmic { ++ fsl,pins = < ++ MX53_PAD_EIM_D21__I2C1_SCL 0xc0000000 ++ MX53_PAD_EIM_D28__I2C1_SDA 0xc0000000 ++ >; ++ }; ++ ++ /* ++ UART mode pin header configration: ++ pin number: 1 2 3 4 5 6 7 ++ function: GND 5V ? ? TX RX ? ++ */ ++ pinctrl_uart1: uart1grp { ++ fsl,pins = < ++ MX53_PAD_CSI0_DAT10__UART1_TXD_MUX 0x1e4 ++ MX53_PAD_CSI0_DAT11__UART1_RXD_MUX 0x1e4 ++ >; ++ }; ++ ++ /* ++ GPIO mode pin header configuration: ++ 1 2 3 4 5 6 7 ++ GND 5V GPIO5[26] GPIO5[27] GPIO5[28] GPIO5[29] GPIO5[30] ++ */ ++ pinctrl_gpio5: gpio5grp { ++ fsl,pins = < ++ MX53_PAD_CSI0_DAT8__GPIO5_26 0xc0 ++ MX53_PAD_CSI0_DAT9__GPIO5_27 0xc0 ++ MX53_PAD_CSI0_DAT10__GPIO5_28 0xc0 ++ MX53_PAD_CSI0_DAT11__GPIO5_29 0xc0 ++ MX53_PAD_CSI0_DAT12__GPIO5_30 0xc0 ++ >; ++ }; ++ ++ /* ++ SPI mode pin header configuration: ++ 1 2 3 4 5 6 7 ++ GND 5V SCLK MOSI MISO /SS0 /SS1 ++ */ ++ pinctrl_ecspi2: ecspi2grp { ++ fsl,pins = < ++ MX53_PAD_CSI0_DAT8__ECSPI2_SCLK 0x80000000 ++ MX53_PAD_CSI0_DAT9__ECSPI2_MOSI 0x80000000 ++ MX53_PAD_CSI0_DAT10__ECSPI2_MISO 0x80000000 ++ MX53_PAD_CSI0_DAT11__GPIO5_29 0x80000000 ++ MX53_PAD_CSI0_DAT12__GPIO5_30 0x80000000 ++ >; ++ }; ++ ++ /* ++ I2C mode pin header configuration: ++ 1 2 3 4 5 6 7 ++ GND 5V SDA SCL GPIO5[28] GPIO5[29] GPIO5[30] ++ */ ++ pinctrl_i2c1_pinheader: i2c1grp_pinheader { ++ fsl,pins = < ++ MX53_PAD_CSI0_DAT8__I2C1_SDA 0xc0000000 ++ MX53_PAD_CSI0_DAT9__I2C1_SCL 0xc0000000 ++ MX53_PAD_CSI0_DAT10__GPIO5_28 0x80000000 ++ MX53_PAD_CSI0_DAT11__GPIO5_29 0x80000000 ++ MX53_PAD_CSI0_DAT12__GPIO5_30 0x80000000 ++ >; ++ }; ++ }; ++}; ++ ++&uart1 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pinctrl_uart1>; ++ status = "okay"; ++}; ++ ++&vpu { ++ status = "okay"; ++}; ++ ++&i2c1 { ++ pinctrl-0 = <&pinctrl_i2c1_pmic>; ++ status = "okay"; ++ ltc3589: pmic@34 { ++ compatible = "lltc,ltc3589-2"; ++ reg = <0x34>; ++ regulators { ++ sw1_reg: sw1 { ++ regulator-min-microvolt = <591930>; ++ regulator-max-microvolt = <1224671>; ++ lltc,fb-voltage-divider = <100000 158000>; ++ regulator-ramp-delay = <7000>; ++ regulator-boot-on; ++ regulator-always-on; ++ }; ++ ++ sw2_reg: sw2 { ++ regulator-min-microvolt = <704123>; ++ regulator-max-microvolt = <1456803>; ++ lltc,fb-voltage-divider = <180000 191000>; ++ regulator-ramp-delay = <7000>; ++ regulator-boot-on; ++ regulator-always-on; ++ }; ++ ++ sw3_reg: sw3 { ++ regulator-min-microvolt = <1341250>; ++ regulator-max-microvolt = <2775000>; ++ lltc,fb-voltage-divider = <270000 100000>; ++ regulator-ramp-delay = <7000>; ++ regulator-boot-on; ++ regulator-always-on; ++ }; ++ ++ bb_out_reg: bb-out { ++ regulator-min-microvolt = <3387341>; ++ regulator-max-microvolt = <3387341>; ++ lltc,fb-voltage-divider = <511000 158000>; ++ regulator-boot-on; ++ regulator-always-on; ++ }; ++ ldo1_reg: ldo1 { ++ regulator-min-microvolt = <1306329>; ++ regulator-max-microvolt = <1306329>; ++ lltc,fb-voltage-divider = <100000 158000>; ++ regulator-boot-on; ++ regulator-always-on; ++ }; ++ ++ ldo2_reg: ldo2 { ++ regulator-min-microvolt = <704123>; ++ regulator-max-microvolt = <1456806>; ++ lltc,fb-voltage-divider = <180000 191000>; ++ regulator-ramp-delay = <7000>; ++ regulator-boot-on; ++ regulator-always-on; ++ }; ++ ++ ldo3_reg: ldo3 { ++ regulator-min-microvolt = <2800000>; ++ regulator-max-microvolt = <2800000>; ++ regulator-boot-on; ++ }; ++ ++ ldo4_reg: ldo4 { ++ regulator-min-microvolt = <1200000>; ++ regulator-max-microvolt = <3200000>; ++ }; ++ }; ++ }; ++}; +diff -Nru linux-4.4-orig/arch/arm/boot/dts/imx53-usbarmory.dts linux-4.4/arch/arm/boot/dts/imx53-usbarmory.dts +--- linux-4.4-orig/arch/arm/boot/dts/imx53-usbarmory.dts 1969-12-31 18:00:00.000000000 -0600 ++++ linux-4.4/arch/arm/boot/dts/imx53-usbarmory.dts 2016-02-04 08:31:38.730794858 -0600 +@@ -0,0 +1,18 @@ ++/* ++ * USB armory MkI device mode device tree file ++ * https://inversepath.com/usbarmory ++ * ++ * Copyright (C) 2015, Inverse Path ++ * Andrej Rosano ++ * ++ * Licensed under GPLv2 ++ */ ++ ++/dts-v1/; ++ ++#include "imx53-usbarmory-common.dtsi" ++ ++&usbotg { ++ dr_mode = "peripheral"; ++ status = "okay"; ++}; +diff -Nru linux-4.4-orig/arch/arm/boot/dts/imx53-usbarmory-gpio.dts linux-4.4/arch/arm/boot/dts/imx53-usbarmory-gpio.dts +--- linux-4.4-orig/arch/arm/boot/dts/imx53-usbarmory-gpio.dts 1969-12-31 18:00:00.000000000 -0600 ++++ linux-4.4/arch/arm/boot/dts/imx53-usbarmory-gpio.dts 2016-02-04 08:31:38.730794858 -0600 +@@ -0,0 +1,26 @@ ++/* ++ * USB armory MkI device mode device tree file ++ * https://inversepath.com/usbarmory ++ * ++ * Copyright (C) 2015, Inverse Path ++ * Andrej Rosano ++ * ++ * Licensed under GPLv2 ++ */ ++ ++/dts-v1/; ++ ++#include "imx53-usbarmory-common.dtsi" ++ ++&usbotg { ++ dr_mode = "peripheral"; ++ status = "okay"; ++}; ++ ++&iomuxc { ++ pinctrl-0 = <&pinctrl_gpio5>; ++}; ++ ++&uart1 { ++ status = "disabled"; ++}; +diff -Nru linux-4.4-orig/arch/arm/boot/dts/imx53-usbarmory-host.dts linux-4.4/arch/arm/boot/dts/imx53-usbarmory-host.dts +--- linux-4.4-orig/arch/arm/boot/dts/imx53-usbarmory-host.dts 1969-12-31 18:00:00.000000000 -0600 ++++ linux-4.4/arch/arm/boot/dts/imx53-usbarmory-host.dts 2016-02-04 08:31:38.730794858 -0600 +@@ -0,0 +1,18 @@ ++/* ++ * USB armory MkI host mode device tree file ++ * https://inversepath.com/usbarmory ++ * ++ * Copyright (C) 2015, Inverse Path ++ * Andrej Rosano ++ * ++ * Licensed under GPLv2 ++ */ ++ ++/dts-v1/; ++ ++#include "imx53-usbarmory-common.dtsi" ++ ++&usbotg { ++ dr_mode = "host"; ++ status = "okay"; ++}; +diff -Nru linux-4.4-orig/arch/arm/boot/dts/imx53-usbarmory-i2c.dts linux-4.4/arch/arm/boot/dts/imx53-usbarmory-i2c.dts +--- linux-4.4-orig/arch/arm/boot/dts/imx53-usbarmory-i2c.dts 1969-12-31 18:00:00.000000000 -0600 ++++ linux-4.4/arch/arm/boot/dts/imx53-usbarmory-i2c.dts 2016-02-04 08:31:38.730794858 -0600 +@@ -0,0 +1,32 @@ ++/* ++ * USB armory MkI device mode device tree file ++ * https://inversepath.com/usbarmory ++ * ++ * Copyright (C) 2015, Inverse Path ++ * Andrej Rosano ++ * ++ * Licensed under GPLv2 ++ */ ++ ++/dts-v1/; ++ ++#include "imx53-usbarmory-common.dtsi" ++ ++&usbotg { ++ dr_mode = "peripheral"; ++ status = "okay"; ++}; ++ ++&uart1 { ++ status = "disabled"; ++}; ++ ++&iomuxc { ++ pinctrl-0 = <&pinctrl_i2c1_pinheader>; ++}; ++ ++&i2c1 { ++ ltc3589: pmic@34 { ++ status = "disabled"; ++ }; ++}; +diff -Nru linux-4.4-orig/arch/arm/boot/dts/imx53-usbarmory-spi.dts linux-4.4/arch/arm/boot/dts/imx53-usbarmory-spi.dts +--- linux-4.4-orig/arch/arm/boot/dts/imx53-usbarmory-spi.dts 1969-12-31 18:00:00.000000000 -0600 ++++ linux-4.4/arch/arm/boot/dts/imx53-usbarmory-spi.dts 2016-02-04 08:31:38.730794858 -0600 +@@ -0,0 +1,45 @@ ++/* ++ * USB armory MkI device mode device tree file ++ * https://inversepath.com/usbarmory ++ * ++ * Copyright (C) 2015, Inverse Path ++ * Andrej Rosano ++ * ++ * Licensed under GPLv2 ++ */ ++ ++/dts-v1/; ++ ++#include "imx53-usbarmory-common.dtsi" ++ ++&usbotg { ++ dr_mode = "peripheral"; ++ status = "okay"; ++}; ++ ++&uart1 { ++ status = "disabled"; ++}; ++ ++&iomuxc { ++ pinctrl-0 = <&pinctrl_ecspi2>; ++}; ++ ++&ecspi2 { ++ fsl,spi-num-chipselects = <2>; ++ cs-gpios = <&gpio5 29 0>, <&gpio5 30 0>; ++ status = "okay"; ++ ++ flash: m25p40@0 { ++ #address-cells = <1>; ++ #size-cells = <1>; ++ compatible = "st,m25p40", "st,m25p"; ++ spi-max-frequency = <20000000>; ++ reg = <0>; ++ ++ partition@0 { ++ label = "test-partition"; ++ reg = <0x0 0x80000>; ++ }; ++ }; ++}; +diff -Nru linux-4.4-orig/arch/arm/boot/dts/Makefile linux-4.4/arch/arm/boot/dts/Makefile +--- linux-4.4-orig/arch/arm/boot/dts/Makefile 2016-02-04 13:29:20.880919101 -0600 ++++ linux-4.4/arch/arm/boot/dts/Makefile 2016-02-04 13:27:10.733849955 -0600 +@@ -278,6 +278,10 @@ + imx53-smd.dtb \ + imx53-tx53-x03x.dtb \ + imx53-tx53-x13x.dtb \ ++ imx53-usbarmory.dtb \ ++ imx53-usbarmory-host.dtb \ ++ imx53-usbarmory-i2c.dtb \ ++ imx53-usbarmory-gpio.dtb \ + imx53-voipac-bsb.dtb + dtb-$(CONFIG_SOC_IMX6Q) += \ + imx6dl-apf6dev.dtb \ From 576f0cc4a291448c2fcd1b70126e2b1308d18db9 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Wed, 10 Feb 2016 18:38:03 +0100 Subject: [PATCH 007/274] update README --- README.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 8d70cb0926c..98ae40844e7 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,5 @@ A collection of NixOS modules covering hardware quirks. -Modules should favor usability and stability, so performance hacks -should be activated by an additional a NixOS option or conservative -and performance configs can be declared in seperate modules. - ## Usage The simplest way to use this repo for now is to clone locally and include by path: ``` nix @@ -13,4 +9,11 @@ The simplest way to use this repo for now is to clone locally and include by pat imports = [ /home/user/nixos-hardware/acme/thunkpad-2000.nix ]; } -''' +``` + +Modules should favor usability and stability, so performance hacks +should be activated by an additional a NixOS option or conservative +and performance configs can be declared in seperate modules. + +Because modules can only be tested with the appropriate hardware, +quality assurance is up to **you**. From 830b24384e4e1e0bd5f586bbfcb9e9d28ec0a233 Mon Sep 17 00:00:00 2001 From: Peter Simons Date: Wed, 10 Feb 2016 21:50:07 +0100 Subject: [PATCH 008/274] Add power-saving configuration for Lenovo T410. --- lenovo/t410.nix | 77 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 lenovo/t410.nix diff --git a/lenovo/t410.nix b/lenovo/t410.nix new file mode 100644 index 00000000000..81fd1fcac88 --- /dev/null +++ b/lenovo/t410.nix @@ -0,0 +1,77 @@ +{ config, pkgs, ... }: + + boot = { + kernelParams = [ + # Kernel GPU Savings Options (NOTE i915 chipset only) + "drm.debug=0" "drm.vblankoffdelay=1" "i915.semaphores=1" "i915.modeset=1" + "i915.use_mmio_flip=1" "i915.powersave=1" "i915.enable_ips=1" + "i915.disable_power_well=1" "i915.enable_hangcheck=1" + "i915.enable_cmd_parser=1" "i915.fastboot=0" "i915.enable_ppgtt=1" + "i915.reset=0" "i915.lvds_use_ssc=0" "i915.enable_psr=0" "vblank_mode=0" + "i915.i915_enable_rc6=1" + ]; + blacklistedKernelModules = [ + # Kernel GPU Savings Options (NOTE i915 chipset only) + "sierra_net" "cdc_mbim" "cdc_ncm" "btusb" + ]; + }; + + hardware.cpu.intel.updateMicrocode = true; + + systemd.services.tune-powermanagement = { + description = "Tune Powermanagement"; + serviceConfig.Type = "oneshot"; + serviceConfig.RemainAfterExit = true; + wantedBy = [ "multi-user.target" ]; + unitConfig.RequiresMountsFor = "/sys"; + script = '' + echo '1500' > '/proc/sys/vm/dirty_writeback_centisecs' + echo '1' > '/sys/module/snd_hda_intel/parameters/power_save' + echo 'auto' > '/sys/bus/i2c/devices/i2c-0/device/power/control' + echo 'auto' > '/sys/bus/i2c/devices/i2c-1/device/power/control' + echo 'auto' > '/sys/bus/i2c/devices/i2c-2/device/power/control' + echo 'auto' > '/sys/bus/i2c/devices/i2c-3/device/power/control' + echo 'auto' > '/sys/bus/i2c/devices/i2c-4/device/power/control' + echo 'auto' > '/sys/bus/i2c/devices/i2c-5/device/power/control' + echo 'auto' > '/sys/bus/i2c/devices/i2c-6/device/power/control' + echo 'auto' > '/sys/bus/i2c/devices/i2c-7/device/power/control' + echo 'auto' > '/sys/bus/i2c/devices/i2c-8/device/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:00.0/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:02.0/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:16.0/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:16.3/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:19.0/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:1a.0/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:1b.0/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.0/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.1/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.3/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.4/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:1d.0/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:1e.0/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.0/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.2/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.3/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.6/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:03:00.0/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:0d:00.0/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:0d:00.1/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:ff:00.0/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:ff:00.1/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:ff:02.0/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:ff:02.1/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:ff:02.2/power/control' + echo 'auto' > '/sys/bus/pci/devices/0000:ff:02.3/power/control' + echo 'auto' > '/sys/bus/usb/devices/1-1.3/power/control' + echo 'min_power' > '/sys/class/scsi_host/host0/link_power_management_policy' + echo 'min_power' > '/sys/class/scsi_host/host1/link_power_management_policy' + echo 'min_power' > '/sys/class/scsi_host/host2/link_power_management_policy' + echo 'min_power' > '/sys/class/scsi_host/host3/link_power_management_policy' + echo 'min_power' > '/sys/class/scsi_host/host4/link_power_management_policy' + echo 'min_power' > '/sys/class/scsi_host/host5/link_power_management_policy' + /run/current-system/sw/bin/rmmod e1000e || true + ''; + # ${pkgs.ethtool}/bin/ethtool -s enp0s25 wol d || true + }; + +} From 8bf98661f4bdf63568ecf27afd205c6d8fe4602b Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Tue, 23 Feb 2016 18:32:53 +0100 Subject: [PATCH 009/274] add hardware-notes module for documentation Fixes #3 --- lib/hardware-notes.nix | 45 ++++++++++++++++++++++++++++++++++++++ supermicro/a1sri-2758f.nix | 20 ++++++++++++++--- 2 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 lib/hardware-notes.nix diff --git a/lib/hardware-notes.nix b/lib/hardware-notes.nix new file mode 100644 index 00000000000..4414ea3914e --- /dev/null +++ b/lib/hardware-notes.nix @@ -0,0 +1,45 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + # use tail recursion to prevent whitespace padding + mkLog = list: + let + head = builtins.head list; + tail = builtins.tail list; + in + '' + # ${head.title} + ${head.text}${if tail == [] then "" else "\n\n${mkLog tail}"} + ''; +in + +{ + + options = { + hardwareNotes = mkOption { + internal = true; + type = types.listOf types.optionSet; + options = { + title = mkOption { + type = types.str; + example = "Thunkpad-2000: increase self-destruct timeout"; + }; + text = mkOption { + type = types.str; + example = + '' + Increase security timeout at boot using platform managment + tool to prevent premature data loss. + ''; + }; + }; + }; + }; + + config = { + environment.etc."hardware-notes".text = mkLog config.hardwareNotes; + }; + +} diff --git a/supermicro/a1sri-2758f.nix b/supermicro/a1sri-2758f.nix index 3471704467f..b199bf16b56 100644 --- a/supermicro/a1sri-2758f.nix +++ b/supermicro/a1sri-2758f.nix @@ -6,11 +6,25 @@ { pkgs, ... }: { + imports = [ ../lib/hardware-notes.nix ]; + environment.systemPackages = [ pkgs.ipmitool ]; boot.kernelModules = [ "ipmi_devintf" "ipmi_si" ]; - # The Linux NIC driver seems to have faulty link state reporting - # that causes dhcpcd to release every few seconds, which is - # more annoying than not releasing when a cable is unplugged. networking.dhcpcd.extraConfig = "nolink"; + + hardwareNotes = + [ { title = "IPMI"; + text = "Load IPMI kernel modules and ipmitool to system environment."; + } + { title = "Nolink"; + text = + '' + Interface link state detection is disabled in dhcpcd because + the Linux driver seems to send erronous loss of link messages + that cause dhcpcd to release every few seconds, which is + more annoying than not releasing when a cable is unplugged. + ''; + } + ]; } From 13a1d5c0bdb22fc69774131c606c07a9272227fa Mon Sep 17 00:00:00 2001 From: Emery Date: Tue, 23 Feb 2016 19:19:18 +0100 Subject: [PATCH 010/274] usbarmory: move to /inversepath, host support --- .../usbarmory}/configuration.nix | 0 .../usbarmory}/customKernel.config | 0 inversepath/usbarmory/host.nix | 35 +++++++++++++++++++ .../usbarmory}/usbarmory_dts.patch | 0 4 files changed, 35 insertions(+) rename {usbarmory => inversepath/usbarmory}/configuration.nix (100%) rename {usbarmory => inversepath/usbarmory}/customKernel.config (100%) create mode 100644 inversepath/usbarmory/host.nix rename {usbarmory => inversepath/usbarmory}/usbarmory_dts.patch (100%) diff --git a/usbarmory/configuration.nix b/inversepath/usbarmory/configuration.nix similarity index 100% rename from usbarmory/configuration.nix rename to inversepath/usbarmory/configuration.nix diff --git a/usbarmory/customKernel.config b/inversepath/usbarmory/customKernel.config similarity index 100% rename from usbarmory/customKernel.config rename to inversepath/usbarmory/customKernel.config diff --git a/inversepath/usbarmory/host.nix b/inversepath/usbarmory/host.nix new file mode 100644 index 00000000000..eff7947075f --- /dev/null +++ b/inversepath/usbarmory/host.nix @@ -0,0 +1,35 @@ +# +# Module for hosting the USB Armory +# + +{ ... }: + +let + staticDevName = "armory0"; +in + +{ + imports = [ ../../lib/hardware-notes.nix ]; + + hardwareNotes = + [ { title = "USB Armory network interface support"; + text = + '' - rename the Armory USB network interface + - set Armory inteface ip to 10.0.0.2/24 + - enable NAT and forward Armory interface + - add the name 'armory' to /etc/hosts + ''; + } + ]; + + services.udev.extraRules = + ''SUBSYSTEM=="net", ACTION=="add", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a4a2", NAME="${staticDevName}"''; + # systemshit will probably still leave an a interface with a garbage name around + + networking = + { interfaces."${staticDevName}".ip4 = [{ address = "10.0.0.2"; prefixLength = 24; }]; + nat = { enable = true; internalInterfaces = [ staticDevName ]; }; + extraHosts = "10.0.0.1 armory"; + }; + +} diff --git a/usbarmory/usbarmory_dts.patch b/inversepath/usbarmory/usbarmory_dts.patch similarity index 100% rename from usbarmory/usbarmory_dts.patch rename to inversepath/usbarmory/usbarmory_dts.patch From 771087ca8876e84204dc364081100eed46dd6f76 Mon Sep 17 00:00:00 2001 From: Emery Date: Wed, 24 Feb 2016 19:41:24 +0100 Subject: [PATCH 011/274] lenovo/x220i-tablet Fixes https://github.com/NixOS/nixpkgs/issues/13173 Fixes https://github.com/NixOS/nixpkgs/issues/13174 --- lenovo/x220i-tablet.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 lenovo/x220i-tablet.nix diff --git a/lenovo/x220i-tablet.nix b/lenovo/x220i-tablet.nix new file mode 100644 index 00000000000..39b3072e4be --- /dev/null +++ b/lenovo/x220i-tablet.nix @@ -0,0 +1,14 @@ +{ config, pkgs, ... }: + +{ + # TPM chip countains a RNG + security.rngd.enable = true; + + boot = { + kernelModules = [ "tp_smapi" ]; + extraModulePackages = [ config.boot.kernelPackages.tp_smapi ]; + }; + + # TLP Linux Advanced Power Management + services.tlp.enable = true; +} From 0a3514de568ee2884dd642f497cae3740a3e29a4 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 26 Feb 2016 10:40:24 +0100 Subject: [PATCH 012/274] new kernelAtleast option at lib/kernel-version.nix Issues a warning when the kernel version is below a threshhold. --- lib/kernel-version.nix | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 lib/kernel-version.nix diff --git a/lib/kernel-version.nix b/lib/kernel-version.nix new file mode 100644 index 00000000000..99115a7f75e --- /dev/null +++ b/lib/kernel-version.nix @@ -0,0 +1,31 @@ +{ config, lib, ... }: +with lib; +let + cfg = config; +in +{ + options.kernelAtleast = mkOption { + type = types.listOf types.optionSet; + options = + [ { version = mkOption { + type = types.str; + example = "4.4"; + description = + "Issue warning when kernel version is below this number."; + }; + msg = mkOption { + type = types.str; + example = ""; + }; + } + ]; + }; + + config.warnings = builtins.concatLists (map + (x: if (builtins.compareVersions cfg.boot.kernelPackages.kernel.version x.version) == -1 + then [ "${x.msg} (${cfg.boot.kernelPackages.kernel.version} < ${x.version})" ] + else [ ] + ) cfg.kernelAtleast + ); + +} From caef1f56e99ba963254ff2bb30c9ea062d5f21d8 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 26 Feb 2016 11:29:48 +0100 Subject: [PATCH 013/274] import https://nixos.org/wiki/Raspberry_Pi_2 Fixes https://github.com/NixOS/nixpkgs/issues/13175 --- raspberry_pi/rpi2.nix | 58 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 raspberry_pi/rpi2.nix diff --git a/raspberry_pi/rpi2.nix b/raspberry_pi/rpi2.nix new file mode 100644 index 00000000000..5744885dc65 --- /dev/null +++ b/raspberry_pi/rpi2.nix @@ -0,0 +1,58 @@ +/** imported from https://nixos.org/wiki/Raspberry_Pi_2 ** + +# Status +The code in master as of June 2015 should be able to prepare a bootable NixOS for Raspberry PI 2. + +There are still some drawbacks: + +NixOS does not provide a /boot/config.txt (the FAT32 partition). +Making NixOS work in the Raspberry PI 2 is mainly the result of the recent work of ambro718, Dezgeg and viric (#nixos@irc.freenode.net). + +# Download +If you want to test, you can flash this 4GB SD image (DOS partition table + fat32 + ext4 rootfs): +magnet:?xt=urn:btih:0def3f6acb3bceddb22cb24098f58e40e2853ec2&dn=rpi2-nixos-4b09501f2-img.xz&tr=udp%3A%2F%2Fopen.demonii.com%3A1337&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80 + +Then you should be able to nixos-rebuild any configuration.nix changes. + +The image is the result of a "nixos-install" alone. No root password has been set, and it does not include a nixpkgs checkout or channel. + +In fact I (viric) created the FS into a NBD, not a real SD, to create this image. + +*/ + +{pkgs, config, ...}: + +{ + boot.consoleLogLevel = 7; + boot.loader.grub.enable = false; + boot.loader.generationsDir.enable = false; + boot.loader.raspberryPi.enable = true; + boot.loader.raspberryPi.version = 2; + boot.extraTTYs = [ "ttyAMA0" ]; + boot.kernelPackages = pkgs.linuxPackages_rpi; + boot.kernelParams = [ + #"coherent_pool=6M" + #"smsc95xx.turbo_mode=N" + "dwc_otg.lpm_enable=0" + "console=ttyAMA0,115200" + "rootwait" + #"console=tty1" + "elevator=deadline" + ]; + + # cpufrequtils doesn't build on ARM + powerManagement.enable = false; + + services.xserver.enable = false; + services.openssh.enable = true; + + services.nixosManual.enable = false; + + nixpkgs.config = { + platform = pkgs.platforms.raspberrypi2; + allowUnfree = true; + }; + + nix.buildCores = 4; + nix.binaryCaches = [ ]; +} \ No newline at end of file From d6f9447f9df9b8d3b8c296e4ed22ba2e830cc5cc Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 26 Feb 2016 11:38:21 +0100 Subject: [PATCH 014/274] import https://nixos.org/wiki/Samsung_NP900X3c Fixes https://github.com/NixOS/nixpkgs/issues/13171 --- samsung/np900x3c.nix | 13 ++++++ samsung/np900x3c.wiki | 94 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 samsung/np900x3c.nix create mode 100644 samsung/np900x3c.wiki diff --git a/samsung/np900x3c.nix b/samsung/np900x3c.nix new file mode 100644 index 00000000000..73d16bd6215 --- /dev/null +++ b/samsung/np900x3c.nix @@ -0,0 +1,13 @@ +{ lib, ... }: +with lib; +{ + imports = [ ../lib/kernel-version.nix ]; + + services.xserver.synaptics.enable = true; + + kernelAtleast = singleton + { version = "3.9"; + msg = "Runtime system freezes can be expected on Linux kernels prior to 3.9, probably because of bugs in intel video drivers."; + }; + +} \ No newline at end of file diff --git a/samsung/np900x3c.wiki b/samsung/np900x3c.wiki new file mode 100644 index 00000000000..e9fc58b8613 --- /dev/null +++ b/samsung/np900x3c.wiki @@ -0,0 +1,94 @@ += Overview = + +Most of the features seem to be working with Linux >= 3.9 + +== Hardware == + +* CPU Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz +* RAM 4 GB +* HDD 128GB SSD +* Screen 13.3-Inch Screen +* Graphics Intel HD Graphics 4000, Ivy bridge + += Configuration = + +Full configurations is in my +[https://raw.github.com/grwlf/nixpkgs/local/machines/samsung-np900x3c-v2.nix nixpkgs branch]. Note, it requires several local packages. + +=== Touchpad === + +Touchpad is detected as 'ETPS/2 Elantech Touchpad'. xf86-input-synaptics handles +it well. Corresponding config lines: + +
+  services.xserver = {
+    synaptics = {
+      enable = true;
+      accelFactor = "0.05";
+      maxSpeed = "10";
+      twoFingerScroll = true;
+      additionalOptions =
+        ''
+        MatchProduct "ETPS"
+        Option "FingerLow"                 "3"
+        Option "FingerHigh"                "5"
+        Option "FingerPress"               "30"
+        Option "MaxTapTime"                "100"
+        Option "MaxDoubleTapTime"          "150"
+        Option "FastTaps"                  "1"
+        Option "VertTwoFingerScroll"       "1"
+        Option "HorizTwoFingerScroll"      "1"
+        Option "TrackstickSpeed"           "0"
+        Option "LTCornerButton"            "3"
+        Option "LBCornerButton"            "2"
+        Option "CoastingFriction"          "20"
+        '';
+      };
+  };
+
+ +=== Wireless === + +System requires iwlwifi-6000g2b-6.ucode in order to work. I've extracted the +file from some debian package and placed it into /root/firmware. Corresponding +config settings: + +
+  hardware.firmware = [ "/root/firmware" ];
+
+ += Problems = +There are some. See + +* [http://ubuntuforums.org/showthread.php?t=1737086 Ubuntu thread] +* [http://bugzilla.kernel.org/show_bug.cgi?id=44161 Kernel.org bug] +* [http://jablonskis.org/2012/linux-and-samsung-series-laptop-9-fn-keys/ jablonskis.org] + +=== BIOS problems === +I had to disable SSD boot completely in order to boot from USB. Just changing boot priority didn't help. + +Fix: Update BIOS up to recent version + +=== Battery === +Battery charging/discharging indicator doesn't work good. + +Fix: Update BIOS up to recent version + +=== Lid === +Acpi thinks lid is always open +
+[ierton@greyblade:~]$ cat /proc/acpi/button/lid/LID0/state 
+state:      open
+
+ +Related [https://bugzilla.kernel.org/show_bug.cgi?id=44161 Kernel bug #44161] + +=== Multimedia keys === +* rfkill/fanless don't work +* volume up/down don't work +* brightness up/down work, but release is broken +* touchpad disable works + +Related discussion on +[http://jablonskis.org/2012/linux-and-samsung-series-laptop-9-fn-keys/ jablonskis.org] + From fe0e5b767e35eee3d2ebf0417e7bed1d62c06196 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 26 Feb 2016 11:42:57 +0100 Subject: [PATCH 015/274] import https://nixos.org/wiki/Microsoft_Surface_Pro_3 Fixes https://github.com/NixOS/nixpkgs/issues/13167 --- microsoft/surface_pro_3.nix | 8 +++++++ microsoft/surface_pro_3.wiki | 41 ++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 microsoft/surface_pro_3.nix create mode 100644 microsoft/surface_pro_3.wiki diff --git a/microsoft/surface_pro_3.nix b/microsoft/surface_pro_3.nix new file mode 100644 index 00000000000..48528f90c5c --- /dev/null +++ b/microsoft/surface_pro_3.nix @@ -0,0 +1,8 @@ +{ ... }: + +{ + # to use the type cover in the initrd + boot.kernelModules = [ "hid-microsoft" ]; + + networking.wireless.enable = true; +} diff --git a/microsoft/surface_pro_3.wiki b/microsoft/surface_pro_3.wiki new file mode 100644 index 00000000000..9ffdc559e18 --- /dev/null +++ b/microsoft/surface_pro_3.wiki @@ -0,0 +1,41 @@ +Work in progress. This is the setup for a dual-boot windows/NixOS. + +== Installation == + +Current requirements: +* USB stick +* Latest unstable minimal installation iso, I used [[https://nixos.org/releases/nixos/unstable/nixos-15.05pre61665.4c01e6d/nixos-minimal-15.05pre61665.4c01e6d-x86_64-linux.iso the 15.06-pre one]] +* (maybe) USB keyboard and therefore a USB hub +* WiFi SSID and password + +In the current installation iso, the kernel doesn't support the MS Type cover yet, so you need a USB keyboard for the initial install. Also note that at one point the keyboard wasn't working, and I couldn't see it in lsusb output. After a cold boot it worked fine. + +=== Steps === + +Preparation: +* Copy the ISO to the USB stick as explained [[https://nixos.org/nixos/manual/sec-installation.html#sec-booting-from-usb in the manual]]. Note that if you just dd the image onto the USB stick, it will boot without changes +* With Windows Disk Management, shrink the windows disk so you have room for your installation. Use the free space to create a new partition without a filesystem or drive letter. +* Check out [[https://github.com/cransom/surface-pro-3-nixos this expression and set of patches]] and add it to support newer versions of the Type Cover as well as enable the touch screen. + +* Reboot the Surface and furiously tap Esc until you end up in the BIOS screen. There, turn off secure boot (don't delete the keys), and change the boot order to USB + SSD. Save. +* You should now be in the NixOS installer +* Attach the USB stick and keyboard if the Type Cover doesn't work. The NixOS manual is at alt+F8 + +Installation: +* Using gdisk, print your partition table to find the empty partition you created. Find the EFI partition number (1 for me) and your new partition number (5 for me). +* Create your filesystem of choice on the partition, I picked btrfs: `mkfs.btrfs -L root /dev/disk/by-id/xxx-5` (xxx is the samsung ssd). Mount it on /mnt. +** With btrfs it's wise to put the nix store in its own subvolume: `btrfs subvol create /mnt/nix; btrfs subvol create /mnt/nix/store` +* We'll be using Gummiboot, which needs to access the EFI partition. `mkdir /mnt/boot; mount /dev/disk/by-id/xxx-1` +* Initialize your hardware configuration: `nixos-generate-config --root /mnt` +* Create your wifi credentials: `wpa_passphrase SSID PASS > /etc/wpa_supplicant.conf; cp /etc/wpa_supplicant.conf /mnt/etc`. Check that ifconfig gets an ip address. +* Edit /mnt/etc/configuration.nix, making sure that you have at least: + networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + + boot.kernelPackages = pkgs.linuxPackages_latest; + # be able to use the type cover in the initrd + boot.kernelModules = [ "hid-microsoft" ]; +* Install: `nixos-install` + +If this completes successfully, you should be able to reboot, remove the USB stick, and NixOS should come up. + +'''Note''': If using the hid-multitouch patch, you can boot windows as well as other profiles of NixOS without using a usb keyboard. From 088440bd65c9a55c79d938023c5e5fac4a41af1f Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 26 Feb 2016 11:46:42 +0100 Subject: [PATCH 016/274] Add tips and tricks section to README --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 98ae40844e7..f697a7b2dec 100644 --- a/README.md +++ b/README.md @@ -17,3 +17,8 @@ and performance configs can be declared in seperate modules. Because modules can only be tested with the appropriate hardware, quality assurance is up to **you**. + +## Simple tips and tricks + +### Disable PC speaker +```boot.blacklistedKernelModules = [ "pcspkr" ];``` From 8de044301082f245a79840377efb7c86bd202f11 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 26 Feb 2016 11:52:45 +0100 Subject: [PATCH 017/274] import https://nixos.org/wiki/ASUS_M60J-JX041V Fixes https://github.com/NixOS/nixpkgs/issues/13166 --- asus/m60j-jx041v.wiki | 98 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 asus/m60j-jx041v.wiki diff --git a/asus/m60j-jx041v.wiki b/asus/m60j-jx041v.wiki new file mode 100644 index 00000000000..51a0cd12edd --- /dev/null +++ b/asus/m60j-jx041v.wiki @@ -0,0 +1,98 @@ +This page is a work in progress. + += Overview = + +Most of the features seem to be working with Linux 2.6.32. + +== Hardware == + +* Ethernet: Attansic Technology Corp. Device 1063 (rev c0) +* Wireless: Intel Corporation Wifi Link 100 Series +* Bluetooth: +* Sound: Realtek ALC269 +* Video: nVidia GeForce GT 240M +* Video RAM: 1GB DDR3 +* CPU: Core i7 720 QM (4 core, 2 threads per core) +* RAM: 4 GB +* HDD: 2* 320 GB, 5200 rpm. +* Fingerprint Sensor. + +== Support == + +* Ethernet: Yes. +* Wireless: Yes. +* Bluetooth: Yes. +* Sound: Yes. +* Video: Yes. (dual screen working fine) +* Software Raid: Yes. +* Keyboard: some Function (Fn) keys are not recognized / mapped correctly. +* Fingerprint Sensor: Not tested. (listed by lshal) + +== Tests == + +* Video: +** Maximal Resolution: 1366x768 +** glxgears: 1859.8 FPS @ 1366x768 + += Configuration = + +You can see the configuration file specific to this computer at [https://svn.nixos.org/repos/nix/configurations/trunk/computer/asus/m60j/jx041v.nix configurations/computer/asus/m60j/jx041v.nix] + += Problems & Solutions = + +== No Ethernet == + +This problem appear if you are using an old kernel. + +
[root@nixos:]# lspci -v | sed -n '/Ethernet/ { :loop p; n; s/^$//; T loop; q}'
+07:00.0 Ethernet controller: Attansic Technology Corp. Device 1063 (rev c0)
+        ...
+        Kernel driver in use: atl1c
+        Kernel modules: atl1c
+
+ +While searching on the web you find that this ethernet device need the kernel module atl1e instead of atl1c. The following sources explain how to unpack & compile & install such module on usual distributions. As we are on a NixOS, things are a bit different. + +To follow the instruction you need to find a way to copy the module sources of AR81Family-linux-v1.0.0.10.tar.gz ([http://www.backtrack.it/~emgent/hackstuff/Attansic/ http://www.backtrack.it/~emgent/hackstuff/Attansic/]) on the targeted device. + +
+# avoid messing up your term
+[root@nixos:]# initctl stop dhclient
+# add dependencies in the environment
+[root@nixos:]# nix-env -i gcc gnumake
+[root@nixos:]# ln -s /nix/store/*-linux-$(uname -r)/lib /lib
+# unpack & compile
+[root@nixos:]# mkdir /tmp/AR81Family-linux
+[root@nixos:]# cp .../AR81Family-linux-v1.0.0.10.tar.gz .
+[root@nixos:]# yes y | tar xzf AR81Family-linux-v1.0.0.10.tar.gz
+[root@nixos:]# cd src
+[root@nixos:]# make
+# Replace the current module
+[root@nixos:]# rmmod atl1c
+[root@nixos:]# modprobe /tmp/AR81Family-linux/src/atl1e.ko
+# start fetching an IP address.
+[root@nixos:]# initctl start dhclient
+
+ +At the end, you end up with a working interface and the following result: + +
[root@nixos:]# lspci -v | sed -n '/Ethernet/ { :loop p; n; s/^$//; T loop; q}'
+07:00.0 Ethernet controller: Attansic Technology Corp. Device 1063 (rev c0)
+        ...
+        Kernel driver in use: atheros_eth
+        Kernel modules: atl1c
+
+ +Many reference to AR81Family-linux-v1.0.1.0.tar.gz can be found on the web, but the manufacturer links are broken. + +Sources: +* [http://platonic.techfiz.info/2009/10/25/ethernet-controller-attansic-technology-corp-device-1063-on-ubuntu/ http://platonic.techfiz.info/2009/10/25/ethernet-controller-attansic-technology-corp-device-1063-on-ubuntu/] + +== Grub == + +* Changing the boot sequence in the BIOS is changing the apparent mapping of hard-drives. Thus hd0 and hd1 are inverted in GRUB 2. +* The MBR is not restored by the recovery CDs. + +[[Category:Installation]] +[[Category:Hardware]] +[[Category:Laptops]] From 57ac96688731f64b7eca8d6b23ae45aa59ebc0bd Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 26 Feb 2016 11:59:36 +0100 Subject: [PATCH 018/274] import https://nixos.org/wiki/Acer_4810T Fixes https://github.com/NixOS/nixpkgs/issues/13168 --- acer/4810t.nix | 37 ++++++++++++++++ acer/4810t.wiki | 110 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 147 insertions(+) create mode 100644 acer/4810t.nix create mode 100644 acer/4810t.wiki diff --git a/acer/4810t.nix b/acer/4810t.nix new file mode 100644 index 00000000000..ce1091bd87b --- /dev/null +++ b/acer/4810t.nix @@ -0,0 +1,37 @@ +/* imported from https://nixos.org/wiki/Acer_4810T */ + +{ config, pkgs, lib, ... }: + +{ + # Make te network WLAN card (wlan0) firmware available + require = [ /nixos/modules/hardware/network/intel-5000.nix ]; + + boot = rec { + initrd.kernelModules = [ "ata_piix" ]; + kernelParams = [ + "apm=on" + "acpi=on" + "vga=0x317" + "video=vesafb:ywrap" + # Important, to disable Kernel Mode Setting for the graphics card + # This will allow backlight regulation + "nomodeset" + ]; + kernelModules = [ + "kvm-intel" + ]; + }; + + services = { + xserver = { + enable = true; + defaultDepth = 24; + videoDriver = "intel"; + autorun = true; + driSupport = false; + synaptics = { + enable = true; + dev = "/dev/input/event8"; + }; + }; +}; diff --git a/acer/4810t.wiki b/acer/4810t.wiki new file mode 100644 index 00000000000..0b045b6e4da --- /dev/null +++ b/acer/4810t.wiki @@ -0,0 +1,110 @@ += Overview = +* CPU: Intel Core 2 Solo U3500 @ 1.40GHz (speeds: 0.8, 1.2 and 1.4GHz), 3MB L2 +* Screen: 1366x768 LED + += BIOS versions = +* 1.10 - average ACPI temperature around 34°C, good GL playing +* 1.20 - average ACPI temperature around 39°C, good GL playing +* 1.31 - big slowdown in X windows from time to time, GL games with annoying slowdowns regularly + +The most recent BIOS updates (1.20 onwards) come with a DOS flasher; older come only with a windows flasher. I used a [http://www.pcengines.ch/freedos.htm freedos image] stored in a USB flash memory to boot freedos and flash the BIOS. + += Drivers = +All provided in linux 2.6.32 kernels. + +Linux 2.6.29 has problems at least with the wire ethernet card (Attansic Technology Corp. Device 1063). Loading and unloading the ethernet card driver module (atl1c) helps getting a working link, although it will change from eth0 to eth1, eth2, or another interface name. + +== lspci == + 00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07) + 00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) + 00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) + 00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03) + 00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03) + 00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03) + 00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03) + 00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03) + 00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03) + 00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03) + 00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03) + 00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03) + 00:1d.3 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03) + 00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03) + 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93) + 00:1f.0 ISA bridge: Intel Corporation ICH9M-E LPC Interface Controller (rev 03) + 00:1f.2 IDE interface: Intel Corporation ICH9M/M-E 2 port SATA IDE Controller (rev 03) + 00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03) + 00:1f.5 IDE interface: Intel Corporation ICH9M/M-E 2 port SATA IDE Controller (rev 03) + 00:1f.6 Signal processing controller: Intel Corporation 82801I (ICH9 Family) Thermal Subsystem (rev 03) + 01:00.0 Ethernet controller: Attansic Technology Corp. Device 1063 (rev c0) + 02:00.0 Network controller: Intel Corporation Wireless WiFi Link 5100 + += Configuration = + + { + # Make te network WLAN card (wlan0) firmware available + require = [ ./nixos/modules/hardware/network/intel-5000.nix ]; + + boot = rec { + initrd = { + kernelModules = [ "ata_piix" "reiserfs" ]; + }; + kernelParams = [ + "selinux=0" + "apm=on" + "acpi=on" + "vga=0x317" + "console=tty1" + "video=vesafb:ywrap" + # Important, to disable Kernel Mode Setting for the graphics card + # This will allow backlight regulation + "nomodeset" + ]; + kernelModules = [ + "acpi-cpufreq" + "cpufreq-ondemand" # not autoloaded in 2.6.32.2 + "kvm-intel" + ]; + resumeDevice = "8:2"; + extraKernelParams = ["resume=/dev/sda2"]; + kernelPackages = pkgs.kernelPackages_2_6_32; + postBootCommands = '' + echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + ''; + }; + + services = { + xserver = { + enable = true; + defaultDepth = 24; + videoDriver = "intel"; + exportConfiguration = true; + enableTCP = true; + autorun = true; + driSupport = false; + synaptics = { + enable = true; + dev = "/dev/input/event8"; + }; + }; + }; + += X settings = + +== Backlight == +Having disabled Kernel Mode Setting for the i915 kernel drm module (kernel parameter ''nomodeset''), use ''xrandr'' to set: + xrandr --output LVDS --set BACKLIGHT_CONTROL combination + xrandr --output LVDS --set BACKLIGHT 300 # ~1000, max light. + +If those steps make your mouse cursor not appear, switch to another VT, and then back to X, and it will come. + +== Synaptics pad == +I like the pad speed set by: + synclient MaxTapTime=0 MaxSpeed=1.12 MinSpeed=0.6 AccelFactor=0.001 VertEdgeScroll=1 +Install the ''xf86-input-synaptics-1.2.0'' for ''synclient'' to be in your PATH. + += Suspending and hibernating = +Usual pm-utils work, with pm-suspend and pm-hibernate. + +[[Category:Installation]] +[[Category:Hardware]] +[[Category:Laptops]] From afd33028e3d638d14e59a8bb38790ff4b68938dd Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 26 Feb 2016 12:03:28 +0100 Subject: [PATCH 019/274] import https://nixos.org/wiki/Acer_C720_Chromebook Fixes https://github.com/NixOS/nixpkgs/issues/13169 --- acer/c720.nix | 10 ++++++++++ acer/c720.wiki | 23 +++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 acer/c720.nix create mode 100644 acer/c720.wiki diff --git a/acer/c720.nix b/acer/c720.nix new file mode 100644 index 00000000000..483608925d6 --- /dev/null +++ b/acer/c720.nix @@ -0,0 +1,10 @@ +{ lib, ... }: +with lib; +{ + imports = singleton ../lib/kernerl-version.nix; + + kernelAtleast = singleton + { version = "3.18"; + msg = "Cypress APA touchpad supported added in Linux-3.17-rc1"; + }; +} diff --git a/acer/c720.wiki b/acer/c720.wiki new file mode 100644 index 00000000000..5200ab69c6c --- /dev/null +++ b/acer/c720.wiki @@ -0,0 +1,23 @@ += Overview = +* Processor: Intel Celeron 2955U @ 1.40GHz +* Network controller: Qualcomm Atheros AR9462 + += Configuration = +The C720 comes with a Cypress APA touchpad. Support for this touchpad was added in kernel 3.17-rc1. +In order to get the touchpad working CONFIG_CHROME_PLATFORMS needs to be enabled. + +For example, for touchpad support with the 3.18 kernel, the following should be added to /etc/nixos/configuration.nix: + + boot.kernelPackages = pkgs.linuxPackages_3_18; + nixpkgs.config.packageOverrides = pkgs: + { linux_3_18 = pkgs.linux_3_18.override { + extraConfig = + ''''''' + CHROME_PLATFORMS y + '''''''; + }; + }; + +[[Category:Installation]] +[[Category:Hardware]] +[[Category:Laptops]] From a667b3aa4f2f4466aff22c995e9c0f934399eae7 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 26 Feb 2016 12:06:00 +0100 Subject: [PATCH 020/274] import https://nixos.org/wiki/Airis_N990 Fixes https://github.com/NixOS/nixpkgs/issues/13170 --- airis/n990.nix | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 airis/n990.nix diff --git a/airis/n990.nix b/airis/n990.nix new file mode 100644 index 00000000000..b3056b7d0b4 --- /dev/null +++ b/airis/n990.nix @@ -0,0 +1,22 @@ +{ ... }: + +{ + boot = { + initrd.kernelModules = [ "pata_via" ]; + + kernelParams = [ + "apm=on" + "acpi=on" + "vga=0x317" # 1024x768 + "console=tty1" + "video=vesafb:ywrap" # Faster scroll + ]; + }; + + services.xserver = { + videoDriver = "unichrome"; + synaptics.enable = true; + }; + + networking.enableIntel2200BGFirmware = true; +} From f6629260e1d4f238d12de74bc56ebd4fe44c4fb4 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sat, 5 Mar 2016 11:04:24 -0800 Subject: [PATCH 021/274] Dell XPS 15 9550 --- dell/xps-15-9550.nix | 35 +++++++++++++++++++++++++++++++++++ dell/xps-15-9550.wiki | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 dell/xps-15-9550.nix create mode 100644 dell/xps-15-9550.wiki diff --git a/dell/xps-15-9550.nix b/dell/xps-15-9550.nix new file mode 100644 index 00000000000..ad6234c24e7 --- /dev/null +++ b/dell/xps-15-9550.nix @@ -0,0 +1,35 @@ +{ config, pkgs, ... }: + +{ + # BEGIN from generated hardware-configuration + imports = + [ + + ../lib/kernel-version.nix + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "rtsx_pci_sdmmc" ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + nix.maxJobs = 8; + # END from generated hardware-configuration + + # Use the gummiboot efi boot loader. (From default generated configuration.nix) + boot.loader.gummiboot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + # Honestly forget if needed or just better for touchpad. + # Would be nice to try libinput instead once nixos-unstable updates + services.xserver.synaptics.enable = true; + + # Intel Graphics confirmed not working at 4.1, confirmed working at {4.3, 4.4} + kernelAtleast = + [ { version = "4.2"; msg = "Intel Graphics confirmed not to work."; } + { version = "4.3"; msg = "Intel Graphics untested."; } + { version = "4.4"; msg = "Touchpad does not work, though the touchscreen still does"; } + ]; + + # To just use intel integrated graphics with Intel's open source driver + # hardware.nvidiaOptimus.disable = true; +} diff --git a/dell/xps-15-9550.wiki b/dell/xps-15-9550.wiki new file mode 100644 index 00000000000..1f695a60a0e --- /dev/null +++ b/dell/xps-15-9550.wiki @@ -0,0 +1,38 @@ += Dell XPS 15 9550 = + +Most of this I presume also applies to the XPS 13 1530, the 13" variant. + +== Tested Hardware == + +* CPU: Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz +* RAM: 16 GB +* HDD: 512 GiB SSD +* Screen: 15" 4k (3840✕2160) +* Graphics: NVIDIA Corporation GM107M, with Intel Graphics too. +* Input: Touchscreen and trackpad. + + +== Firmware Configuration == + +Not much tweaking of NixOS itself was needed. But we currently cannot automate the firmware setup, so this must be done by hand. + +=== Before installation === + +These settings are needed both for booting the final install, and installer itself. Therefore, they must be done first. + +* ''Disable Secure Boot (but keep UEFI Boot).'' Thakfully doing so is as easy as changing any other simple setting. + +* ''Disable Intel hardware RAID and use AHCI instead.'' Intel doesn't seem to provide a working linux driver for this. (If you just have SSD it's pointless and just slows things down needlessly anyways.) + + +=== After installation === + +* ''Add gummiboot to UEFI boot list.'' The (uneditable anyways) settings mapping drive UUIDs to HD* work fine. + +=== Optional === + +* ''Disable C-States.'' This is a processor idling thing. It seems to cause random crashes (Blank screen, no normal panic debug dump). Unfortunately, without it, the computer cannot be suspended. On the other hand, it doesn't seem to affect acpi's estimation of battery life when the computer is running with minimal load, but I haven't tested battery life in practice. I list it as optional as there's a tradeoff, and the crashes are rare enough one can probably get through installation just fine. + +* ''Update BIOS.'' According to Reddit, this helps with battery life. + +* ''Update Intel's Thunderbolt firmware.'' Without this, the Thunderbolt port will only work as power source, and not transfer data. From 862456cfd5ff0926a29a5beceac007f27155e537 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Sat, 5 Mar 2016 11:32:34 -0800 Subject: [PATCH 022/274] Comment out generated configuration for now, best to just regenerate it --- dell/xps-15-9550.nix | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/dell/xps-15-9550.nix b/dell/xps-15-9550.nix index ad6234c24e7..f7d09277916 100644 --- a/dell/xps-15-9550.nix +++ b/dell/xps-15-9550.nix @@ -1,19 +1,24 @@ { config, pkgs, ... }: { - # BEGIN from generated hardware-configuration imports = - [ - - ../lib/kernel-version.nix + [ ../lib/kernel-version.nix ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "rtsx_pci_sdmmc" ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - nix.maxJobs = 8; - # END from generated hardware-configuration + ## BEGIN from generated hardware-configuration + ## Probably better to just use a freshly generated hardware.configuration.nix + ## than this, but including for reference. + #imports = + # [ + # + # ]; + # + #boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "rtsx_pci_sdmmc" ]; + #boot.kernelModules = [ "kvm-intel" ]; + #boot.extraModulePackages = [ ]; + # + #nix.maxJobs = 8; + ## END from generated hardware-configuration # Use the gummiboot efi boot loader. (From default generated configuration.nix) boot.loader.gummiboot.enable = true; From 74c8b025cd56f465d52f0cf597c1bf386eea7247 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 23 Mar 2016 13:39:24 -0700 Subject: [PATCH 023/274] Better to use libinput than synaptics --- dell/xps-15-9550.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dell/xps-15-9550.nix b/dell/xps-15-9550.nix index f7d09277916..20aad2b8462 100644 --- a/dell/xps-15-9550.nix +++ b/dell/xps-15-9550.nix @@ -25,8 +25,8 @@ boot.loader.efi.canTouchEfiVariables = true; # Honestly forget if needed or just better for touchpad. - # Would be nice to try libinput instead once nixos-unstable updates - services.xserver.synaptics.enable = true; + # Synaptics also works, but doesn't have working palm and thumb detection. + services.xserver.libinput.enable = true; # Intel Graphics confirmed not working at 4.1, confirmed working at {4.3, 4.4} kernelAtleast = From 5a74a39cab7d5da5ad56f632e99f49b1d9a581b3 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Fri, 8 Apr 2016 16:27:04 +0200 Subject: [PATCH 024/274] buggy drivers fixed on a1sri-2758f --- supermicro/a1sri-2758f.nix | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/supermicro/a1sri-2758f.nix b/supermicro/a1sri-2758f.nix index b199bf16b56..c16c093936e 100644 --- a/supermicro/a1sri-2758f.nix +++ b/supermicro/a1sri-2758f.nix @@ -3,28 +3,18 @@ # This board contains a TPM header, but you must supply your own module. # -{ pkgs, ... }: +{ pkgs, lib, ... }: { - imports = [ ../lib/hardware-notes.nix ]; + imports = [ ../lib/kernel-version.nix ]; environment.systemPackages = [ pkgs.ipmitool ]; boot.kernelModules = [ "ipmi_devintf" "ipmi_si" ]; - networking.dhcpcd.extraConfig = "nolink"; - - hardwareNotes = - [ { title = "IPMI"; - text = "Load IPMI kernel modules and ipmitool to system environment."; - } - { title = "Nolink"; - text = - '' - Interface link state detection is disabled in dhcpcd because - the Linux driver seems to send erronous loss of link messages - that cause dhcpcd to release every few seconds, which is - more annoying than not releasing when a cable is unplugged. - ''; - } - ]; + kernelAtleast = lib.singleton + { version = "4.4"; + msg = + "ethernet driver may be buggy on older kernels, "+ + ''try 'networking.dhcpcd.extraConfig = "nolink";' if you encounter loss of link problems''; + }; } From 0d7971f57f72c7cb915c32032761da81f983c3c2 Mon Sep 17 00:00:00 2001 From: Hannu Hartikainen Date: Thu, 21 Apr 2016 14:38:40 +0300 Subject: [PATCH 025/274] Thinkpad X220i: configure more hardware Here's a patch that shows how to add support for - TrackPoint - (alternatively) better touchpad support - volume/mute buttons - active hard-drive protection - fingerprint reader I've been using these options for a couple of days on a non-tablet X220i. See https://github.com/dancek/dotfiles/blob/master/nixos/thinkpad-x220i/configuration.nix --- lenovo/x220i-tablet.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/lenovo/x220i-tablet.nix b/lenovo/x220i-tablet.nix index 39b3072e4be..7ea8d735b5c 100644 --- a/lenovo/x220i-tablet.nix +++ b/lenovo/x220i-tablet.nix @@ -11,4 +11,23 @@ # TLP Linux Advanced Power Management services.tlp.enable = true; + + # hard disk protection if the laptop falls + services.hdapsd.enable = true; + + # trackpoint support (touchpad disabled in this config) + hardware.trackpoint.enable = true; + hardware.trackpoint.emulateWheel = true; + + # alternatively, touchpad with two-finger scrolling + #services.xserver.libinput.enable = true; + + # enable volume control buttons + sound.enableMediaKeys = true; + + # fingerprint reader: login and unlock with fingerprint (if you add one with `fprintd-enroll`) + #services.fprintd.enable = true; + #security.pam.services.login.fprintAuth = true; + #security.pam.services.xscreensaver.fprintAuth = true; + # similarly for other PAM providers } From a2b20351e0557192f7be9c40fb5ead04e9fa9dfc Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 3 Jun 2016 16:07:56 -0700 Subject: [PATCH 026/274] s/gummiboot/systemd-boot -- fixes warnings on unstable --- dell/xps-15-9550.nix | 4 ++-- dell/xps-15-9550.wiki | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dell/xps-15-9550.nix b/dell/xps-15-9550.nix index 20aad2b8462..ac935acc5be 100644 --- a/dell/xps-15-9550.nix +++ b/dell/xps-15-9550.nix @@ -20,8 +20,8 @@ #nix.maxJobs = 8; ## END from generated hardware-configuration - # Use the gummiboot efi boot loader. (From default generated configuration.nix) - boot.loader.gummiboot.enable = true; + # Use the systemd-boot efi boot loader. (From default generated configuration.nix) + boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; # Honestly forget if needed or just better for touchpad. diff --git a/dell/xps-15-9550.wiki b/dell/xps-15-9550.wiki index 1f695a60a0e..d67395587a9 100644 --- a/dell/xps-15-9550.wiki +++ b/dell/xps-15-9550.wiki @@ -27,7 +27,7 @@ These settings are needed both for booting the final install, and installer itse === After installation === -* ''Add gummiboot to UEFI boot list.'' The (uneditable anyways) settings mapping drive UUIDs to HD* work fine. +* ''Add systemd-boot to UEFI boot list.'' The (uneditable anyways) settings mapping drive UUIDs to HD* work fine. === Optional === From 123b0a9846b837278f7cd7821fb38fa2f0662e53 Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Sat, 9 Jul 2016 11:36:19 +0200 Subject: [PATCH 027/274] lenovo/t460s.nix (#13) --- lenovo/t460s.nix | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 lenovo/t460s.nix diff --git a/lenovo/t460s.nix b/lenovo/t460s.nix new file mode 100644 index 00000000000..ee0f9ba6163 --- /dev/null +++ b/lenovo/t460s.nix @@ -0,0 +1,30 @@ +{ config, pkgs, ... }: + +{ + imports = + [ ../lib/kernel-version.nix + ]; + + ## BEGIN from generated hardware-configuration + ## Probably better to just use a freshly generated hardware.configuration.nix + ## than this, but including for reference. + # boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + # boot.kernelModules = [ "kvm-intel" ]; + # boot.extraModulePackages = [ ]; + # + # + # nix.maxJobs = lib.mkDefault 4; + ## END from generated hardware-configuration + + # Use the gummiboot efi boot loader. (From default generated configuration.nix) + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + # https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_T460s + kernelAtleast = [ + { version = "4.5.1"; msg = "The physical mouse buttons works incorrectly."; } + { version = "4.6"; msg = "Suspending the T460s by closing the lid when running on battery causes the machine to freeze up entirely."; } + ]; + + hardware.enableAllFirmware = true; +} From 5b3c112a91e92d5e030915447000e4d9facea018 Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Fri, 5 Aug 2016 11:47:24 +0200 Subject: [PATCH 028/274] lenovo/t460s: add middle button config + comments (#14) --- lenovo/t460s.nix | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/lenovo/t460s.nix b/lenovo/t460s.nix index ee0f9ba6163..4aaed1445e3 100644 --- a/lenovo/t460s.nix +++ b/lenovo/t460s.nix @@ -26,5 +26,34 @@ { version = "4.6"; msg = "Suspending the T460s by closing the lid when running on battery causes the machine to freeze up entirely."; } ]; + # For the wifi (intel iwlwifi) hardware.enableAllFirmware = true; + + # For the screen. I don't know what to do with this information, but + # the hiDPI support is far from perfect (as of July 2016): + + # Resolution: 2560 x 1440 px + # Size: 12.2" × 6.86" (30.99cm × 17.43cm) + # DPI: 209.8 + # Dot Pitch: 0.1211mm + # Aspect Ratio: 16 × 9 (1.78:1) + # Pixel Count: 3,686,400 + # Megapixels: 3.69MP + + # Use libinput to let the physical middle button be used to scroll + # with the trackpoint + services.xserver = { + libinput.enable = true; + synaptics.enable = false; + + config = '' + Section "InputClass" + Identifier "Enable libinput for TrackPoint" + MatchIsPointer "on" + Driver "libinput" + Option "ScrollMethod" "button" + Option "ScrollButton" "8" + EndSection + ''; + }; } From bc241aeec7bb78ad7b6362c8324f194a5696e64b Mon Sep 17 00:00:00 2001 From: Stephen Whitmore Date: Fri, 5 Aug 2016 02:48:33 -0700 Subject: [PATCH 029/274] Add Lenovo x140e laptop. (#17) --- lenovo/x140e.nix | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 lenovo/x140e.nix diff --git a/lenovo/x140e.nix b/lenovo/x140e.nix new file mode 100644 index 00000000000..f825f44f197 --- /dev/null +++ b/lenovo/x140e.nix @@ -0,0 +1,26 @@ +{ config, lib, pkgs, ... }: + +{ + boot = { + # wireless + kernelModules = [ "kvm-amd" "wl" ]; + extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; + + # audio device + extraModprobeConfig = '' + options snd_hda_intel enable=0,1 + ''; + }; + + # video card + services.xserver.videoDrivers = ["ati"]; + + # trackpad (touchpad disabled) + hardware.trackpoint = { + enable = true; + emulateWheel = true; + }; + + # media keys + sound.enableMediaKeys = true; +} From cfd63d3b3e15fd440701dbbd25d57effe379b87d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B0=D0=BD=D0=B8=D0=BB=D0=BE=20=D0=93=D0=BB=D0=B8?= =?UTF-8?q?=D0=BD=D1=81=D1=8C=D0=BA=D0=B8=D0=B9=20=28Danylo=20Hlynskyi=29?= Date: Wed, 21 Sep 2016 12:33:54 +0300 Subject: [PATCH 030/274] add Lenovo IdeaPad Z510 with suspend fix (#18) --- lenovo/z510.nix | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 lenovo/z510.nix diff --git a/lenovo/z510.nix b/lenovo/z510.nix new file mode 100644 index 00000000000..f1f5416b5be --- /dev/null +++ b/lenovo/z510.nix @@ -0,0 +1,8 @@ +{ config, pkgs, ... }: +{ + hardware.cpu.intel.updateMicrocode = true; + + # see https://github.com/NixOS/nixpkgs/issues/18356 + # found buggy driver with method https://wiki.ubuntu.com/DebuggingKernelSuspend + boot.blacklistedKernelModules = [ "nouveau" ]; +} From f51cdd05356c2169dd2e31be96d487752603dd33 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Thu, 20 Oct 2016 14:28:23 -0400 Subject: [PATCH 031/274] Add .gitignore adapted from NixPkgs --- .gitignore | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000000..2151b35ff51 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +*~ +,* +.*.swp +.*.swo +result +result-* +.version-suffix + +.DS_Store From e5cc44520fecf4b257f33cd6acf615d528c2a110 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Thu, 20 Oct 2016 14:53:52 -0400 Subject: [PATCH 032/274] Apple MacBook Pro 10,1 --- apple/macbook-pro-10-1.nix | 41 +++++++++++++++++++++++++++++++++++++ apple/macbook-pro-10-1.wiki | 9 ++++++++ 2 files changed, 50 insertions(+) create mode 100644 apple/macbook-pro-10-1.nix create mode 100644 apple/macbook-pro-10-1.wiki diff --git a/apple/macbook-pro-10-1.nix b/apple/macbook-pro-10-1.nix new file mode 100644 index 00000000000..f9ba24de4ec --- /dev/null +++ b/apple/macbook-pro-10-1.nix @@ -0,0 +1,41 @@ +{ config, pkgs, ... }: + +{ + imports = + [ ../lib/kernel-version.nix + ]; + + ## BEGIN from generated hardware-configuration + ## Probably better to just use a freshly generated hardware.configuration.nix + ## than this, but including for reference. + #imports = + # [ + # ]; + # + #boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "sd_mod" "sdhci_pci" ]; + #boot.kernelModules = [ "kvm-intel" "wl" ]; + #boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; + # + #nix.maxJobs = lib.mkDefault 8; + ## END from generated hardware-configuration + + # Use the systemd-boot efi boot loader. (From default generated configuration.nix) + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + # I use this but not sure whether its needed. + # Right click does *NOT* work + services.xserver.libinput.enable = true; + + kernelAtleast = + [ { version = "4.7"; msg = "Broadcom WiFi confirmed not to work."; } + ]; + + # Couldn't get X to work with nvidia + # Also, PTYs don't work after X/nvidia starts + services.xserver.videoDrivers = [ "nvidia" ]; + hardware.opengl.driSupport32Bit = true; + + # Seems to improve battery life *and* keep the CPU cooler + services.mbpfan.enable = true; +} diff --git a/apple/macbook-pro-10-1.wiki b/apple/macbook-pro-10-1.wiki new file mode 100644 index 00000000000..149b30e6ed2 --- /dev/null +++ b/apple/macbook-pro-10-1.wiki @@ -0,0 +1,9 @@ += Apple MacBook Pro 10,1 = + +I presume the associated configuration also will work with to other 10,x models. + +If you don't have an Ethernet adapter, make sure your NixOS installer has a sufficiently modern kernel or you will be stuck without internet and unable to installer. + +Note that (with NixPkgs circa late October 2016) Linux 4.8.1 does not work: everything will boot through X, but then manually-run commands accessing peripherals (nmcli, lspci, etc) will hang inexplicably. + +Thankfully no tweaking of the BIOS or similar was needed. Do note that if your MacOS partition is encrypted, you will have an easier time shrinking it from within MacOS, but this is standard advice. From 6874b73d558267db0056d7f406a411b0f2954913 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Czapli=C5=84ski?= Date: Fri, 24 Mar 2017 17:43:31 +0100 Subject: [PATCH 033/274] add guide for running NixOS as Hyper-V guest --- microsoft/hyper-v-guest.md | 60 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 microsoft/hyper-v-guest.md diff --git a/microsoft/hyper-v-guest.md b/microsoft/hyper-v-guest.md new file mode 100644 index 00000000000..3faa258e851 --- /dev/null +++ b/microsoft/hyper-v-guest.md @@ -0,0 +1,60 @@ +This is a setup for installing NixOS in Hyper-V as a guest. + +I don't have details handy anymore on the detailed steps I had to do on the Windows host +(there's no NixWindows yet, unfortunately...), so you'll have to try googling that yourself, e.g. something like +"linux on hyper-v" or "ubuntu on hyper-v". (You're welcome to send PRs with improvements of this guide.) +Below, I'm providing only the info with what to do on the NixOS side of things. + +## Installation ## + +I basically followed the [guide for NixOS on VirtualBox](https://nixos.org/wiki/Installing_NixOS_in_a_VirtualBox_guest). +However, some additional changes in `/etc/nixos/configuration.nix` were required to really make it work +(I don't include them as a .nix file, as they must be done **before `nixos-install`**, and I'm not sure how to proceed +with cloning the nixos-hardware repo at this stage): + + # REQUIRED - see: https://github.com/nixos/nixpkgs/issues/9899 + boot.initrd.kernelModules = ["hv_vmbus" "hv_storvsc"]; + + # OPTIONAL - use 800x600 resolution for text console, to make it easy to fit on screen + boot.kernelParams = ["video=hyperv_fb:800x600"]; # https://askubuntu.com/a/399960 + + # UNKNOWN - not sure if below are needed; were suggested for VirtualBox and I used them + boot.loader.grub.device = "/dev/sda"; + boot.initrd.checkJournalingFS = false; + +## Shared folder ## + +To share a folder between Windows host and Linux/NixOS guest, the typical solution seems to be to make a folder "shared" +on Windows, then access it via Samba from NixOS. +On the Windows host, I had to make an additional virtual switch in Hyper-V Manager, with mode "internal". +Then in properties of the virtual network card on Windows host (attached to the virtual switch), I +changed the IP to a fixed 10.0.0.100 (mask 255.255.255.240). I also added a special purpose user on the host, with some +long randomly generated password, to act as Samba credentials for NixOS. +To test that it works, I used the following commands: + + $ nix-env -iA nixos.samba + $ smbclient -L //10.0.0.100 -U shares-guest%ReplaceWithSomeLongRandomlyGeneratedPassword + Domain=[DESKTOP-ABCD123] OS=[Windows 10 Pro 14393] Server=[Windows 10 Pro 6.3] + + Sharename Type Comment + --------- ---- ------- + ADMIN$ Disk Administracja zdalna + C$ Disk Domyślny udział + IPC$ IPC Zdalne wywołanie IPC + shared-space Disk + Connection to 10.0.0.100 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND) + NetBIOS over TCP disabled -- no workgroup available + + $ nix-env -e samba + +Then I added the following lines in `/etc/nixos/configuration.nix`: + + # Client for shared folder on Windows Hyper-V host + # Based on: nixpkgs.git/nixos/tests/samba.nix + fileSystems."/vm-share" = { + fsType = "cifs"; + device = "//10.0.0.100/shared-space"; + options = [ "username=shares-guest" "password=ReplaceWithSomeLongRandomlyGeneratedPassword" ]; + }; + networking.interfaces.eth1.ip4 = [{address="10.0.0.101"; prefixLength=28;}]; + From 54e7857eaf82bf824ad8d21eadef470c897a642f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Czapli=C5=84ski?= Date: Fri, 24 Mar 2017 18:05:08 +0100 Subject: [PATCH 034/274] microsoft/hyper-v: add forgotten overcommit_memory --- microsoft/hyper-v-guest.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/microsoft/hyper-v-guest.md b/microsoft/hyper-v-guest.md index 3faa258e851..f396214e09f 100644 --- a/microsoft/hyper-v-guest.md +++ b/microsoft/hyper-v-guest.md @@ -15,8 +15,11 @@ with cloning the nixos-hardware repo at this stage): # REQUIRED - see: https://github.com/nixos/nixpkgs/issues/9899 boot.initrd.kernelModules = ["hv_vmbus" "hv_storvsc"]; - # OPTIONAL - use 800x600 resolution for text console, to make it easy to fit on screen + # RECOMMENDED + # - use 800x600 resolution for text console, to make it easy to fit on screen boot.kernelParams = ["video=hyperv_fb:800x600"]; # https://askubuntu.com/a/399960 + # - avoid a problem with `nix-env -i` running out of memory + boot.kernel.sysctl."vm.overcommit_memory" = "1"; # https://github.com/NixOS/nix/issues/421 # UNKNOWN - not sure if below are needed; were suggested for VirtualBox and I used them boot.loader.grub.device = "/dev/sda"; From 3e5b9169cedc84ede8fd8ff3d4b0f28c3f3de72b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 11 May 2017 11:29:37 +0100 Subject: [PATCH 035/274] add recommend xorg driver for lenovo x250 --- lenovo/x250.nix | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 lenovo/x250.nix diff --git a/lenovo/x250.nix b/lenovo/x250.nix new file mode 100644 index 00000000000..345e388a23b --- /dev/null +++ b/lenovo/x250.nix @@ -0,0 +1,6 @@ +{ config, pkgs, ... }: + +{ + # modesetting driver leads to freezes with newer kernel at the moment (> 4.4) + services.xserver.videoDrivers = [ "intel" ]; +} From 68e007ae7768711dc2a68f4399a01ec8f5a3ab9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 11 May 2017 11:38:39 +0100 Subject: [PATCH 036/274] x250: enable wheel emulation --- lenovo/x250.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lenovo/x250.nix b/lenovo/x250.nix index 345e388a23b..40d1fb1edff 100644 --- a/lenovo/x250.nix +++ b/lenovo/x250.nix @@ -3,4 +3,7 @@ { # modesetting driver leads to freezes with newer kernel at the moment (> 4.4) services.xserver.videoDrivers = [ "intel" ]; + + services.xserver.libinput.enable = true; + hardware.trackpoint.emulateWheel = true; } From 744f289978f78fed123a48b4e88efd06c9caf83b Mon Sep 17 00:00:00 2001 From: Stani Pintjuk Date: Sat, 17 Jun 2017 15:56:16 +0200 Subject: [PATCH 037/274] Add module for ASUS Wireless-AC1300 dongle --- asus/wireless-ac1300.nix | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 asus/wireless-ac1300.nix diff --git a/asus/wireless-ac1300.nix b/asus/wireless-ac1300.nix new file mode 100644 index 00000000000..c60632a943f --- /dev/null +++ b/asus/wireless-ac1300.nix @@ -0,0 +1,6 @@ +# Use this module if you use a realtek 18812au based wifi dongle, like ASUS Wireless-AC1300 +{ pkgs, ... }: +{ + boot.extraModulePackages = [ pkgs.linuxPackages.rtl8812au ]; + boot.kernelModules = [ "8812au" ]; +} From ecbb9c15c30af316fa263ba16a6f35dd78b37222 Mon Sep 17 00:00:00 2001 From: Ruben Maher Date: Wed, 5 Jul 2017 08:46:22 +0930 Subject: [PATCH 038/274] rpi2.nix: pkgs.platforms.raspberrypi2 is no longer correct --- raspberry_pi/rpi2.nix | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/raspberry_pi/rpi2.nix b/raspberry_pi/rpi2.nix index 5744885dc65..897871eb76e 100644 --- a/raspberry_pi/rpi2.nix +++ b/raspberry_pi/rpi2.nix @@ -20,7 +20,7 @@ In fact I (viric) created the FS into a NBD, not a real SD, to create this image */ -{pkgs, config, ...}: +{ pkgs, config, lib, ...}: { boot.consoleLogLevel = 7; @@ -49,10 +49,16 @@ In fact I (viric) created the FS into a NBD, not a real SD, to create this image services.nixosManual.enable = false; nixpkgs.config = { - platform = pkgs.platforms.raspberrypi2; + # Since https://github.com/NixOS/nixpkgs/commit/f0b634c7e838cdd65ac6f73933c99af3f38d0fa8 + nixpkgs.config.platform = lib.systems.platforms.raspberrypi2; + # Earlier than that, use this: + # platform = pkgs.platforms.raspberrypi2; + # Also be aware of this issue if you're encountering infinite recursion: + # https://github.com/NixOS/nixpkgs/issues/24170 + allowUnfree = true; }; nix.buildCores = 4; nix.binaryCaches = [ ]; -} \ No newline at end of file +} From ae18b6af0fa2a244b2e5932b40885ae4b46abff7 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 3 Sep 2017 23:25:33 +0200 Subject: [PATCH 039/274] Initialize general.nix; merge defaults into all ThinkPad configurations --- lenovo/general.nix | 10 ++++++++++ lenovo/t410.nix | 2 ++ lenovo/t440p.nix | 2 ++ lenovo/t460s.nix | 11 +---------- lenovo/x140e.nix | 8 ++------ lenovo/x220i-tablet.nix | 6 ++---- lenovo/x250.nix | 3 ++- lenovo/z510.nix | 3 +++ 8 files changed, 24 insertions(+), 21 deletions(-) create mode 100644 lenovo/general.nix diff --git a/lenovo/general.nix b/lenovo/general.nix new file mode 100644 index 00000000000..51d506032e0 --- /dev/null +++ b/lenovo/general.nix @@ -0,0 +1,10 @@ +{ lib, ... }: + +with lib; + +{ + hardware.trackpoint = mkDefault { + enable = true; + emulateWheel = true; + }; +} diff --git a/lenovo/t410.nix b/lenovo/t410.nix index 912ae66d181..56e49cb1ef3 100644 --- a/lenovo/t410.nix +++ b/lenovo/t410.nix @@ -1,6 +1,8 @@ { config, pkgs, ... }: { + imports = [ ./general.nix ]; + boot = { kernelParams = [ # Kernel GPU Savings Options (NOTE i915 chipset only) diff --git a/lenovo/t440p.nix b/lenovo/t440p.nix index 47f5f66387b..af4e7643b13 100644 --- a/lenovo/t440p.nix +++ b/lenovo/t440p.nix @@ -1,6 +1,8 @@ { config, pkgs, ... }: { + imports = [ ./general.nix ]; + boot = { extraModprobeConfig = '' options bbswitch use_acpi_to_detect_card_state=1 diff --git a/lenovo/t460s.nix b/lenovo/t460s.nix index 4aaed1445e3..da7995610dc 100644 --- a/lenovo/t460s.nix +++ b/lenovo/t460s.nix @@ -3,6 +3,7 @@ { imports = [ ../lib/kernel-version.nix + ./general.nix ]; ## BEGIN from generated hardware-configuration @@ -45,15 +46,5 @@ services.xserver = { libinput.enable = true; synaptics.enable = false; - - config = '' - Section "InputClass" - Identifier "Enable libinput for TrackPoint" - MatchIsPointer "on" - Driver "libinput" - Option "ScrollMethod" "button" - Option "ScrollButton" "8" - EndSection - ''; }; } diff --git a/lenovo/x140e.nix b/lenovo/x140e.nix index f825f44f197..897d473e42a 100644 --- a/lenovo/x140e.nix +++ b/lenovo/x140e.nix @@ -1,6 +1,8 @@ { config, lib, pkgs, ... }: { + imports = [ ./general.nix ]; + boot = { # wireless kernelModules = [ "kvm-amd" "wl" ]; @@ -15,12 +17,6 @@ # video card services.xserver.videoDrivers = ["ati"]; - # trackpad (touchpad disabled) - hardware.trackpoint = { - enable = true; - emulateWheel = true; - }; - # media keys sound.enableMediaKeys = true; } diff --git a/lenovo/x220i-tablet.nix b/lenovo/x220i-tablet.nix index 7ea8d735b5c..700c87cc680 100644 --- a/lenovo/x220i-tablet.nix +++ b/lenovo/x220i-tablet.nix @@ -1,6 +1,8 @@ { config, pkgs, ... }: { + imports = [ ./general.nix ]; + # TPM chip countains a RNG security.rngd.enable = true; @@ -15,10 +17,6 @@ # hard disk protection if the laptop falls services.hdapsd.enable = true; - # trackpoint support (touchpad disabled in this config) - hardware.trackpoint.enable = true; - hardware.trackpoint.emulateWheel = true; - # alternatively, touchpad with two-finger scrolling #services.xserver.libinput.enable = true; diff --git a/lenovo/x250.nix b/lenovo/x250.nix index 40d1fb1edff..52a44265b3e 100644 --- a/lenovo/x250.nix +++ b/lenovo/x250.nix @@ -1,9 +1,10 @@ { config, pkgs, ... }: { + imports = [ ./general.nix ]; + # modesetting driver leads to freezes with newer kernel at the moment (> 4.4) services.xserver.videoDrivers = [ "intel" ]; services.xserver.libinput.enable = true; - hardware.trackpoint.emulateWheel = true; } diff --git a/lenovo/z510.nix b/lenovo/z510.nix index f1f5416b5be..4c45cac8f67 100644 --- a/lenovo/z510.nix +++ b/lenovo/z510.nix @@ -1,3 +1,6 @@ +# NOTE: this doesn't inherit from the `general.nix` +# as z510 is not a ThinkPad + { config, pkgs, ... }: { hardware.cpu.intel.updateMicrocode = true; From 7d130c00612ec0ed80586285e030dc9e0e8513ff Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 3 Sep 2017 23:27:33 +0200 Subject: [PATCH 040/274] `hardware.enableAllFirmware = true;` for intel iwlwifi --- lenovo/general.nix | 2 ++ lenovo/t460s.nix | 3 --- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/lenovo/general.nix b/lenovo/general.nix index 51d506032e0..c64566babdf 100644 --- a/lenovo/general.nix +++ b/lenovo/general.nix @@ -7,4 +7,6 @@ with lib; enable = true; emulateWheel = true; }; + + hardware.enableAllFirmware = true; } diff --git a/lenovo/t460s.nix b/lenovo/t460s.nix index da7995610dc..9d68cfdec83 100644 --- a/lenovo/t460s.nix +++ b/lenovo/t460s.nix @@ -27,9 +27,6 @@ { version = "4.6"; msg = "Suspending the T460s by closing the lid when running on battery causes the machine to freeze up entirely."; } ]; - # For the wifi (intel iwlwifi) - hardware.enableAllFirmware = true; - # For the screen. I don't know what to do with this information, but # the hiDPI support is far from perfect (as of July 2016): From a2e55b93adf6d19d6d7f6cc831224997de84d7dc Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 3 Sep 2017 23:28:34 +0200 Subject: [PATCH 041/274] `services.tlp.enable = true;` for power management --- lenovo/general.nix | 1 + lenovo/x220i-tablet.nix | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/lenovo/general.nix b/lenovo/general.nix index c64566babdf..0afdaafe022 100644 --- a/lenovo/general.nix +++ b/lenovo/general.nix @@ -9,4 +9,5 @@ with lib; }; hardware.enableAllFirmware = true; + services.tlp.enable = true; } diff --git a/lenovo/x220i-tablet.nix b/lenovo/x220i-tablet.nix index 700c87cc680..068baa852ec 100644 --- a/lenovo/x220i-tablet.nix +++ b/lenovo/x220i-tablet.nix @@ -11,9 +11,6 @@ extraModulePackages = [ config.boot.kernelPackages.tp_smapi ]; }; - # TLP Linux Advanced Power Management - services.tlp.enable = true; - # hard disk protection if the laptop falls services.hdapsd.enable = true; From ed46b99315a10254dfa4753423b45c1782465647 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 3 Sep 2017 23:31:08 +0200 Subject: [PATCH 042/274] Use `libinput` as touchpad driver The recommended driver is libinput, furthermore the packaging of synaptics is officially deprecated in NixOS: https://github.com/NixOS/nixpkgs/commit/9d2777a5a5f861a727d09c3ecdeffd8c72c143b7 --- lenovo/general.nix | 5 +++++ lenovo/t460s.nix | 7 ------- lenovo/x220i-tablet.nix | 3 --- lenovo/x250.nix | 2 -- 4 files changed, 5 insertions(+), 12 deletions(-) diff --git a/lenovo/general.nix b/lenovo/general.nix index 0afdaafe022..f539cc2a546 100644 --- a/lenovo/general.nix +++ b/lenovo/general.nix @@ -10,4 +10,9 @@ with lib; hardware.enableAllFirmware = true; services.tlp.enable = true; + + services.xserver = { + synaptics.enable = false; + libinput.enable = true; + }; } diff --git a/lenovo/t460s.nix b/lenovo/t460s.nix index 9d68cfdec83..a274b374e95 100644 --- a/lenovo/t460s.nix +++ b/lenovo/t460s.nix @@ -37,11 +37,4 @@ # Aspect Ratio: 16 × 9 (1.78:1) # Pixel Count: 3,686,400 # Megapixels: 3.69MP - - # Use libinput to let the physical middle button be used to scroll - # with the trackpoint - services.xserver = { - libinput.enable = true; - synaptics.enable = false; - }; } diff --git a/lenovo/x220i-tablet.nix b/lenovo/x220i-tablet.nix index 068baa852ec..3c729baa670 100644 --- a/lenovo/x220i-tablet.nix +++ b/lenovo/x220i-tablet.nix @@ -14,9 +14,6 @@ # hard disk protection if the laptop falls services.hdapsd.enable = true; - # alternatively, touchpad with two-finger scrolling - #services.xserver.libinput.enable = true; - # enable volume control buttons sound.enableMediaKeys = true; diff --git a/lenovo/x250.nix b/lenovo/x250.nix index 52a44265b3e..8ab1aa598ce 100644 --- a/lenovo/x250.nix +++ b/lenovo/x250.nix @@ -5,6 +5,4 @@ # modesetting driver leads to freezes with newer kernel at the moment (> 4.4) services.xserver.videoDrivers = [ "intel" ]; - - services.xserver.libinput.enable = true; } From d977cf26de7f1b0ffe3cff39b1c2801aac0e695b Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 3 Sep 2017 23:34:57 +0200 Subject: [PATCH 043/274] Segregate `lenovo/` subdir into `thinkpad` and `ideapad` directories There are several significant differences between ThinkPads and the other Lenovo models, so this structure must be more precise --- lenovo/{ => ideapad}/z510.nix | 0 lenovo/{ => thinkpad}/general.nix | 0 lenovo/{ => thinkpad}/t410.nix | 0 lenovo/{ => thinkpad}/t440p.nix | 0 lenovo/{ => thinkpad}/t460s.nix | 0 lenovo/{ => thinkpad}/x140e.nix | 0 lenovo/{ => thinkpad}/x220i-tablet.nix | 0 lenovo/{ => thinkpad}/x250.nix | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename lenovo/{ => ideapad}/z510.nix (100%) rename lenovo/{ => thinkpad}/general.nix (100%) rename lenovo/{ => thinkpad}/t410.nix (100%) rename lenovo/{ => thinkpad}/t440p.nix (100%) rename lenovo/{ => thinkpad}/t460s.nix (100%) rename lenovo/{ => thinkpad}/x140e.nix (100%) rename lenovo/{ => thinkpad}/x220i-tablet.nix (100%) rename lenovo/{ => thinkpad}/x250.nix (100%) diff --git a/lenovo/z510.nix b/lenovo/ideapad/z510.nix similarity index 100% rename from lenovo/z510.nix rename to lenovo/ideapad/z510.nix diff --git a/lenovo/general.nix b/lenovo/thinkpad/general.nix similarity index 100% rename from lenovo/general.nix rename to lenovo/thinkpad/general.nix diff --git a/lenovo/t410.nix b/lenovo/thinkpad/t410.nix similarity index 100% rename from lenovo/t410.nix rename to lenovo/thinkpad/t410.nix diff --git a/lenovo/t440p.nix b/lenovo/thinkpad/t440p.nix similarity index 100% rename from lenovo/t440p.nix rename to lenovo/thinkpad/t440p.nix diff --git a/lenovo/t460s.nix b/lenovo/thinkpad/t460s.nix similarity index 100% rename from lenovo/t460s.nix rename to lenovo/thinkpad/t460s.nix diff --git a/lenovo/x140e.nix b/lenovo/thinkpad/x140e.nix similarity index 100% rename from lenovo/x140e.nix rename to lenovo/thinkpad/x140e.nix diff --git a/lenovo/x220i-tablet.nix b/lenovo/thinkpad/x220i-tablet.nix similarity index 100% rename from lenovo/x220i-tablet.nix rename to lenovo/thinkpad/x220i-tablet.nix diff --git a/lenovo/x250.nix b/lenovo/thinkpad/x250.nix similarity index 100% rename from lenovo/x250.nix rename to lenovo/thinkpad/x250.nix From 5340bd39d174c55b1d5fc17d410cebb54ad6bd5b Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Wed, 6 Sep 2017 09:45:30 +0200 Subject: [PATCH 044/274] Don't enable non-dedistributable firmware by default --- lenovo/thinkpad/general.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lenovo/thinkpad/general.nix b/lenovo/thinkpad/general.nix index f539cc2a546..628e5ab5e74 100644 --- a/lenovo/thinkpad/general.nix +++ b/lenovo/thinkpad/general.nix @@ -8,7 +8,7 @@ with lib; emulateWheel = true; }; - hardware.enableAllFirmware = true; + hardware.enableRedistributableFirmware = mkDefault true; services.tlp.enable = true; services.xserver = { From 0116223524393e40518c62e5616bf918d9338bd7 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Wed, 6 Sep 2017 09:49:11 +0200 Subject: [PATCH 045/274] Add `pkgs.acpi` to gather battery status information --- lenovo/thinkpad/general.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lenovo/thinkpad/general.nix b/lenovo/thinkpad/general.nix index 628e5ab5e74..7b6e8eb41e9 100644 --- a/lenovo/thinkpad/general.nix +++ b/lenovo/thinkpad/general.nix @@ -1,4 +1,4 @@ -{ lib, ... }: +{ pkgs, lib, ... }: with lib; @@ -15,4 +15,6 @@ with lib; synaptics.enable = false; libinput.enable = true; }; + + environment.systemPackages = [ pkgs.acpi ]; } From 356ebeaaf77f2019c0c5d6756ec8ded4cabd1353 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Wed, 6 Sep 2017 10:01:01 +0200 Subject: [PATCH 046/274] Introduce `general-intel.nix` for defaults with Intel CPU The x1xx series relies on a AMD CPU, but all other (currently supported) ThinkPads use an Intel CPU, so `general-intel.nix` is responsible for all Intel defaults. --- lenovo/thinkpad/general-intel.nix | 6 ++++++ lenovo/thinkpad/t410.nix | 2 +- lenovo/thinkpad/t440p.nix | 4 ++-- lenovo/thinkpad/t460s.nix | 2 +- lenovo/thinkpad/x220i-tablet.nix | 2 +- lenovo/thinkpad/x250.nix | 5 +---- 6 files changed, 12 insertions(+), 9 deletions(-) create mode 100644 lenovo/thinkpad/general-intel.nix diff --git a/lenovo/thinkpad/general-intel.nix b/lenovo/thinkpad/general-intel.nix new file mode 100644 index 00000000000..5aeec181ae0 --- /dev/null +++ b/lenovo/thinkpad/general-intel.nix @@ -0,0 +1,6 @@ +{ ... }: + +{ + boot.kernelModules = mkDefault [ "kvm-intel" ]; + services.xserver.videoDrivers = [ "intel" ]; +} diff --git a/lenovo/thinkpad/t410.nix b/lenovo/thinkpad/t410.nix index 56e49cb1ef3..5737cc691aa 100644 --- a/lenovo/thinkpad/t410.nix +++ b/lenovo/thinkpad/t410.nix @@ -1,7 +1,7 @@ { config, pkgs, ... }: { - imports = [ ./general.nix ]; + imports = [ ./general-intel.nix ]; boot = { kernelParams = [ diff --git a/lenovo/thinkpad/t440p.nix b/lenovo/thinkpad/t440p.nix index af4e7643b13..4d96bbb2c58 100644 --- a/lenovo/thinkpad/t440p.nix +++ b/lenovo/thinkpad/t440p.nix @@ -1,12 +1,12 @@ { config, pkgs, ... }: { - imports = [ ./general.nix ]; + imports = [ ./general-intel.nix ]; boot = { extraModprobeConfig = '' options bbswitch use_acpi_to_detect_card_state=1 ''; - kernelModules = [ "kvm-intel" "tpm-rng" ]; + kernelModules = [ "tpm-rng" ]; }; } diff --git a/lenovo/thinkpad/t460s.nix b/lenovo/thinkpad/t460s.nix index a274b374e95..d6f2ba3d506 100644 --- a/lenovo/thinkpad/t460s.nix +++ b/lenovo/thinkpad/t460s.nix @@ -3,7 +3,7 @@ { imports = [ ../lib/kernel-version.nix - ./general.nix + ./general-intel.nix ]; ## BEGIN from generated hardware-configuration diff --git a/lenovo/thinkpad/x220i-tablet.nix b/lenovo/thinkpad/x220i-tablet.nix index 3c729baa670..65a4a3d29c2 100644 --- a/lenovo/thinkpad/x220i-tablet.nix +++ b/lenovo/thinkpad/x220i-tablet.nix @@ -1,7 +1,7 @@ { config, pkgs, ... }: { - imports = [ ./general.nix ]; + imports = [ ./general-intel.nix ]; # TPM chip countains a RNG security.rngd.enable = true; diff --git a/lenovo/thinkpad/x250.nix b/lenovo/thinkpad/x250.nix index 8ab1aa598ce..200327f9c92 100644 --- a/lenovo/thinkpad/x250.nix +++ b/lenovo/thinkpad/x250.nix @@ -1,8 +1,5 @@ { config, pkgs, ... }: { - imports = [ ./general.nix ]; - - # modesetting driver leads to freezes with newer kernel at the moment (> 4.4) - services.xserver.videoDrivers = [ "intel" ]; + imports = [ ./general-intel.nix ]; } From 348f0466b524987d9310d7ecf5df5fac0dc372be Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Thu, 21 Sep 2017 00:09:48 +0200 Subject: [PATCH 047/274] x250 can be configured using all defaults --- lenovo/thinkpad/x250.nix | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 lenovo/thinkpad/x250.nix diff --git a/lenovo/thinkpad/x250.nix b/lenovo/thinkpad/x250.nix deleted file mode 100644 index 200327f9c92..00000000000 --- a/lenovo/thinkpad/x250.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ config, pkgs, ... }: - -{ - imports = [ ./general-intel.nix ]; -} From 12f5a724cec2b7fcd69ac2d1e7320a24c2d434aa Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Thu, 21 Sep 2017 00:11:34 +0200 Subject: [PATCH 048/274] `sound.enableMediaKeys` can be used on all ThinkPads --- lenovo/thinkpad/general.nix | 2 ++ lenovo/thinkpad/x140e.nix | 3 --- lenovo/thinkpad/x220i-tablet.nix | 3 --- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/lenovo/thinkpad/general.nix b/lenovo/thinkpad/general.nix index 7b6e8eb41e9..0c0e9252dc4 100644 --- a/lenovo/thinkpad/general.nix +++ b/lenovo/thinkpad/general.nix @@ -17,4 +17,6 @@ with lib; }; environment.systemPackages = [ pkgs.acpi ]; + + sound.enableMediaKeys = true; } diff --git a/lenovo/thinkpad/x140e.nix b/lenovo/thinkpad/x140e.nix index 897d473e42a..df1f7f30e57 100644 --- a/lenovo/thinkpad/x140e.nix +++ b/lenovo/thinkpad/x140e.nix @@ -16,7 +16,4 @@ # video card services.xserver.videoDrivers = ["ati"]; - - # media keys - sound.enableMediaKeys = true; } diff --git a/lenovo/thinkpad/x220i-tablet.nix b/lenovo/thinkpad/x220i-tablet.nix index 65a4a3d29c2..c87df3ff754 100644 --- a/lenovo/thinkpad/x220i-tablet.nix +++ b/lenovo/thinkpad/x220i-tablet.nix @@ -14,9 +14,6 @@ # hard disk protection if the laptop falls services.hdapsd.enable = true; - # enable volume control buttons - sound.enableMediaKeys = true; - # fingerprint reader: login and unlock with fingerprint (if you add one with `fprintd-enroll`) #services.fprintd.enable = true; #security.pam.services.login.fprintAuth = true; From 7f194802c5a5b6be828eb4fc952d84ac5e84fe17 Mon Sep 17 00:00:00 2001 From: Tom Hunger Date: Sun, 24 Sep 2017 15:19:52 +0100 Subject: [PATCH 049/274] Add file for macbook pro 12,1 with suspend fix. --- apple/macbook-pro-12-1.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 apple/macbook-pro-12-1.nix diff --git a/apple/macbook-pro-12-1.nix b/apple/macbook-pro-12-1.nix new file mode 100644 index 00000000000..c755ce00e7c --- /dev/null +++ b/apple/macbook-pro-12-1.nix @@ -0,0 +1,17 @@ +{ config, lib, pkgs, ... }: +{ + imports = + [ + + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + # The USB subsystem wakes up the MBP directly after suspend if + # we don't disable it. + services.udev.extraRules = '' + SUBSYSTEM=="pci", KERNEL=="0000:00:14.0", ATTR{power/wakeup}="disabled" + ''; +} From a0e35e53069bd0026165adaf0d6e1a1b8542384e Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Thu, 19 Oct 2017 13:56:33 +0200 Subject: [PATCH 050/274] Use `mkDefault` to avoid make override easier --- lenovo/thinkpad/general.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lenovo/thinkpad/general.nix b/lenovo/thinkpad/general.nix index 0c0e9252dc4..71db23a4a2d 100644 --- a/lenovo/thinkpad/general.nix +++ b/lenovo/thinkpad/general.nix @@ -11,12 +11,12 @@ with lib; hardware.enableRedistributableFirmware = mkDefault true; services.tlp.enable = true; - services.xserver = { + services.xserver = mkDefault { synaptics.enable = false; libinput.enable = true; }; environment.systemPackages = [ pkgs.acpi ]; - sound.enableMediaKeys = true; + sound.enableMediaKeys = mkDefault true; } From 440088677b4e6f9527466cbc5b02abf2bf3f863d Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 22 Dec 2017 02:56:28 +0000 Subject: [PATCH 051/274] lenovo: minor cosmetic changes --- lenovo/ideapad/z510.nix | 6 ++---- lenovo/thinkpad/general-intel.nix | 2 -- lenovo/thinkpad/general.nix | 6 ++++-- lenovo/thinkpad/t410.nix | 21 ++++++++++++++++----- lenovo/thinkpad/t460s.nix | 8 ++++---- lenovo/thinkpad/x140e.nix | 2 +- lenovo/thinkpad/x220i-tablet.nix | 2 +- 7 files changed, 28 insertions(+), 19 deletions(-) diff --git a/lenovo/ideapad/z510.nix b/lenovo/ideapad/z510.nix index 4c45cac8f67..6cc6dc6c17c 100644 --- a/lenovo/ideapad/z510.nix +++ b/lenovo/ideapad/z510.nix @@ -1,10 +1,8 @@ -# NOTE: this doesn't inherit from the `general.nix` -# as z510 is not a ThinkPad - { config, pkgs, ... }: + { hardware.cpu.intel.updateMicrocode = true; - + # see https://github.com/NixOS/nixpkgs/issues/18356 # found buggy driver with method https://wiki.ubuntu.com/DebuggingKernelSuspend boot.blacklistedKernelModules = [ "nouveau" ]; diff --git a/lenovo/thinkpad/general-intel.nix b/lenovo/thinkpad/general-intel.nix index 5aeec181ae0..5b941247785 100644 --- a/lenovo/thinkpad/general-intel.nix +++ b/lenovo/thinkpad/general-intel.nix @@ -1,5 +1,3 @@ -{ ... }: - { boot.kernelModules = mkDefault [ "kvm-intel" ]; services.xserver.videoDrivers = [ "intel" ]; diff --git a/lenovo/thinkpad/general.nix b/lenovo/thinkpad/general.nix index 71db23a4a2d..00f3c3ab232 100644 --- a/lenovo/thinkpad/general.nix +++ b/lenovo/thinkpad/general.nix @@ -1,6 +1,8 @@ -{ pkgs, lib, ... }: +{ lib, pkgs, ... }: -with lib; +let + inherit (lib) mkDefault; +in { hardware.trackpoint = mkDefault { diff --git a/lenovo/thinkpad/t410.nix b/lenovo/thinkpad/t410.nix index 5737cc691aa..53c731f8c2d 100644 --- a/lenovo/thinkpad/t410.nix +++ b/lenovo/thinkpad/t410.nix @@ -6,11 +6,22 @@ boot = { kernelParams = [ # Kernel GPU Savings Options (NOTE i915 chipset only) - "drm.debug=0" "drm.vblankoffdelay=1" "i915.semaphores=1" "i915.modeset=1" - "i915.use_mmio_flip=1" "i915.powersave=1" "i915.enable_ips=1" - "i915.disable_power_well=1" "i915.enable_hangcheck=1" - "i915.enable_cmd_parser=1" "i915.fastboot=0" "i915.enable_ppgtt=1" - "i915.reset=0" "i915.lvds_use_ssc=0" "i915.enable_psr=0" "vblank_mode=0" + "drm.debug=0" + "drm.vblankoffdelay=1" + "i915.semaphores=1" + "i915.modeset=1" + "i915.use_mmio_flip=1" + "i915.powersave=1" + "i915.enable_ips=1" + "i915.disable_power_well=1" + "i915.enable_hangcheck=1" + "i915.enable_cmd_parser=1" + "i915.fastboot=0" + "i915.enable_ppgtt=1" + "i915.reset=0" + "i915.lvds_use_ssc=0" + "i915.enable_psr=0" + "vblank_mode=0" "i915.i915_enable_rc6=1" ]; blacklistedKernelModules = [ diff --git a/lenovo/thinkpad/t460s.nix b/lenovo/thinkpad/t460s.nix index d6f2ba3d506..dc09fd2e131 100644 --- a/lenovo/thinkpad/t460s.nix +++ b/lenovo/thinkpad/t460s.nix @@ -1,10 +1,10 @@ { config, pkgs, ... }: { - imports = - [ ../lib/kernel-version.nix - ./general-intel.nix - ]; + imports = [ + ../lib/kernel-version.nix + ./general-intel.nix + ]; ## BEGIN from generated hardware-configuration ## Probably better to just use a freshly generated hardware.configuration.nix diff --git a/lenovo/thinkpad/x140e.nix b/lenovo/thinkpad/x140e.nix index df1f7f30e57..efa51067498 100644 --- a/lenovo/thinkpad/x140e.nix +++ b/lenovo/thinkpad/x140e.nix @@ -15,5 +15,5 @@ }; # video card - services.xserver.videoDrivers = ["ati"]; + services.xserver.videoDrivers = [ "ati" ]; } diff --git a/lenovo/thinkpad/x220i-tablet.nix b/lenovo/thinkpad/x220i-tablet.nix index c87df3ff754..9f9638a140d 100644 --- a/lenovo/thinkpad/x220i-tablet.nix +++ b/lenovo/thinkpad/x220i-tablet.nix @@ -8,7 +8,7 @@ boot = { kernelModules = [ "tp_smapi" ]; - extraModulePackages = [ config.boot.kernelPackages.tp_smapi ]; + extraModulePackages = with config.boot.kernelPackages; [ tp_smapi ]; }; # hard disk protection if the laptop falls From a6f8e4bbc0bd2e1e98590545d5fd3929d4dc55e0 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 22 Dec 2017 03:02:07 +0000 Subject: [PATCH 052/274] thinkpad: remove various assumptions * hardware.trackpoint.emulateWheel = true; is very biased, this module is only for ThinkPads anyway, so default value should be used * All options that should be overridable (e.g. services.tlp.enable) * Hardware profile should not pull in stuff into system environment unless it's hardware-specific (pkgs.acpi is not) * sound.mediaKeys clashes with DE, e.g. Xfce handling sound keys * Drop redundant synaptics.enable = false; --- lenovo/thinkpad/general.nix | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/lenovo/thinkpad/general.nix b/lenovo/thinkpad/general.nix index 00f3c3ab232..cb800012c37 100644 --- a/lenovo/thinkpad/general.nix +++ b/lenovo/thinkpad/general.nix @@ -5,20 +5,7 @@ let in { - hardware.trackpoint = mkDefault { - enable = true; - emulateWheel = true; - }; - - hardware.enableRedistributableFirmware = mkDefault true; - services.tlp.enable = true; - - services.xserver = mkDefault { - synaptics.enable = false; - libinput.enable = true; - }; - - environment.systemPackages = [ pkgs.acpi ]; - - sound.enableMediaKeys = mkDefault true; + hardware.trackpoint.enable = mkDefault true; + services.tlp.enable = mkDefault true; + services.xserver.libinput.enable = mkDefault true; } From d4688911b7856e69368d4d20e27bf9fb6e4d8d9c Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 22 Dec 2017 13:33:54 +0300 Subject: [PATCH 053/274] treewide: drop hardware-configuration.nix boilerplate (#28) hardware-configuration.nix is still relied upon for hard drive configuration, and it handles variations of hardware (custom configurations, subrevisions). --- apple/macbook-pro-10-1.nix | 14 -------------- dell/xps-15-9550.nix | 15 --------------- lenovo/thinkpad/t460s.nix | 11 ----------- 3 files changed, 40 deletions(-) diff --git a/apple/macbook-pro-10-1.nix b/apple/macbook-pro-10-1.nix index f9ba24de4ec..797404eddcf 100644 --- a/apple/macbook-pro-10-1.nix +++ b/apple/macbook-pro-10-1.nix @@ -5,20 +5,6 @@ [ ../lib/kernel-version.nix ]; - ## BEGIN from generated hardware-configuration - ## Probably better to just use a freshly generated hardware.configuration.nix - ## than this, but including for reference. - #imports = - # [ - # ]; - # - #boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usbhid" "sd_mod" "sdhci_pci" ]; - #boot.kernelModules = [ "kvm-intel" "wl" ]; - #boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; - # - #nix.maxJobs = lib.mkDefault 8; - ## END from generated hardware-configuration - # Use the systemd-boot efi boot loader. (From default generated configuration.nix) boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; diff --git a/dell/xps-15-9550.nix b/dell/xps-15-9550.nix index ac935acc5be..04f71742258 100644 --- a/dell/xps-15-9550.nix +++ b/dell/xps-15-9550.nix @@ -5,21 +5,6 @@ [ ../lib/kernel-version.nix ]; - ## BEGIN from generated hardware-configuration - ## Probably better to just use a freshly generated hardware.configuration.nix - ## than this, but including for reference. - #imports = - # [ - # - # ]; - # - #boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "rtsx_pci_sdmmc" ]; - #boot.kernelModules = [ "kvm-intel" ]; - #boot.extraModulePackages = [ ]; - # - #nix.maxJobs = 8; - ## END from generated hardware-configuration - # Use the systemd-boot efi boot loader. (From default generated configuration.nix) boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; diff --git a/lenovo/thinkpad/t460s.nix b/lenovo/thinkpad/t460s.nix index d6f2ba3d506..fbcdef7a457 100644 --- a/lenovo/thinkpad/t460s.nix +++ b/lenovo/thinkpad/t460s.nix @@ -6,17 +6,6 @@ ./general-intel.nix ]; - ## BEGIN from generated hardware-configuration - ## Probably better to just use a freshly generated hardware.configuration.nix - ## than this, but including for reference. - # boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; - # boot.kernelModules = [ "kvm-intel" ]; - # boot.extraModulePackages = [ ]; - # - # - # nix.maxJobs = lib.mkDefault 4; - ## END from generated hardware-configuration - # Use the gummiboot efi boot loader. (From default generated configuration.nix) boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; From 3c9f432a7146115b2d0b6200c4c19101c29caaba Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 22 Dec 2017 20:17:00 +0300 Subject: [PATCH 054/274] treewide: modules -> profiles, separate dirs, list in README (#29) Enforce proper naming: all paths are lowercase and hyphen-separated, if there's a line of models (aspire, macbook-pro, thinkpad) it becomes a subdirectory. Documentation for profiles is moved to README files in respective directories. Add an Org mode table that lists all available profiles and their paths. Instead of fetching repo locally, use a Nix channel. Making hardware profiles read-only should improve quality and amount of participation long-term. --- README.md | 24 ---------- README.org | 47 +++++++++++++++++++ acer/{4810t.wiki => aspire/4810t/README.wiki} | 0 acer/{4810t.nix => aspire/4810t/default.nix} | 0 acer/{c720.wiki => c720/README.wiki} | 0 acer/{c720.nix => c720/default.nix} | 0 airis/{n990.nix => n990/default.nix} | 0 .../10-1/README.wiki} | 0 .../10-1/default.nix} | 0 .../12-1/default.nix} | 0 .../README.wiki} | 0 asus/wireless-ac1300.nix | 2 + .../15-9550/README.wiki} | 0 .../15-9550/default.nix} | 0 .../{configuration.nix => default.nix} | 0 lenovo/ideapad/{z510.nix => z510/default.nix} | 0 lenovo/thinkpad/{general.nix => common.nix} | 0 .../thinkpad/{general-intel.nix => intel.nix} | 0 .../thinkpad/{t410.nix => t410/default.nix} | 2 +- .../thinkpad/{t440p.nix => t440p/default.nix} | 2 +- .../thinkpad/{t460s.nix => t460s/default.nix} | 0 .../thinkpad/{x140e.nix => x140e/default.nix} | 2 +- .../{x220i-tablet.nix => x220/default.nix} | 2 +- .../{hyper-v-guest.md => hyper-v/README.md} | 0 .../3/README.wiki} | 0 .../3/default.nix} | 0 .../rpi2.nix => raspberry-pi/2/default.nix | 0 .../{np900x3c.wiki => np900x3c/README.wiki} | 0 .../{np900x3c.nix => np900x3c/default.nix} | 0 .../default.nix} | 0 .../{x10sll-f.nix => x10sll-f/default.nix} | 0 31 files changed, 53 insertions(+), 28 deletions(-) delete mode 100644 README.md create mode 100644 README.org rename acer/{4810t.wiki => aspire/4810t/README.wiki} (100%) rename acer/{4810t.nix => aspire/4810t/default.nix} (100%) rename acer/{c720.wiki => c720/README.wiki} (100%) rename acer/{c720.nix => c720/default.nix} (100%) rename airis/{n990.nix => n990/default.nix} (100%) rename apple/{macbook-pro-10-1.wiki => macbook-pro/10-1/README.wiki} (100%) rename apple/{macbook-pro-10-1.nix => macbook-pro/10-1/default.nix} (100%) rename apple/{macbook-pro-12-1.nix => macbook-pro/12-1/default.nix} (100%) rename asus/{m60j-jx041v.wiki => m60j-jx041v/README.wiki} (100%) rename dell/{xps-15-9550.wiki => xps/15-9550/README.wiki} (100%) rename dell/{xps-15-9550.nix => xps/15-9550/default.nix} (100%) rename inversepath/usbarmory/{configuration.nix => default.nix} (100%) rename lenovo/ideapad/{z510.nix => z510/default.nix} (100%) rename lenovo/thinkpad/{general.nix => common.nix} (100%) rename lenovo/thinkpad/{general-intel.nix => intel.nix} (100%) rename lenovo/thinkpad/{t410.nix => t410/default.nix} (99%) rename lenovo/thinkpad/{t440p.nix => t440p/default.nix} (82%) rename lenovo/thinkpad/{t460s.nix => t460s/default.nix} (100%) rename lenovo/thinkpad/{x140e.nix => x140e/default.nix} (91%) rename lenovo/thinkpad/{x220i-tablet.nix => x220/default.nix} (93%) rename microsoft/{hyper-v-guest.md => hyper-v/README.md} (100%) rename microsoft/{surface_pro_3.wiki => surface-pro/3/README.wiki} (100%) rename microsoft/{surface_pro_3.nix => surface-pro/3/default.nix} (100%) rename raspberry_pi/rpi2.nix => raspberry-pi/2/default.nix (100%) rename samsung/{np900x3c.wiki => np900x3c/README.wiki} (100%) rename samsung/{np900x3c.nix => np900x3c/default.nix} (100%) rename supermicro/{a1sri-2758f.nix => a1sri-2758f/default.nix} (100%) rename supermicro/{x10sll-f.nix => x10sll-f/default.nix} (100%) diff --git a/README.md b/README.md deleted file mode 100644 index f697a7b2dec..00000000000 --- a/README.md +++ /dev/null @@ -1,24 +0,0 @@ -A collection of NixOS modules covering hardware quirks. - -## Usage -The simplest way to use this repo for now is to clone locally and include by path: -``` nix -{ config, pkgs, ... }: - -{ - imports = - [ /home/user/nixos-hardware/acme/thunkpad-2000.nix ]; -} -``` - -Modules should favor usability and stability, so performance hacks -should be activated by an additional a NixOS option or conservative -and performance configs can be declared in seperate modules. - -Because modules can only be tested with the appropriate hardware, -quality assurance is up to **you**. - -## Simple tips and tricks - -### Disable PC speaker -```boot.blacklistedKernelModules = [ "pcspkr" ];``` diff --git a/README.org b/README.org new file mode 100644 index 00000000000..97df02cd317 --- /dev/null +++ b/README.org @@ -0,0 +1,47 @@ +NixOS profiles covering hardware quirks. + +Add a new channel: + + : $ sudo nix-channel --add https://github.com/NixOS/nixos-hardware/archive/master.tar.gz nixos-hardware + : $ sudo nix-channel --update nixos-hardware + +Then add an appropriate profile path to ~imports~ in +~/etc/nixos/configuration.nix~. Currently available profiles: + +| Model | Path | +|---------------------------+--------------------------------------------| +| Acer Aspire 4810T | ~~ | +| Acer C720 | ~~ | +| Airis N990 | ~~ | +| Apple MacBook Pro 10,1 | ~~ | +| Apple MacBook Pro 12,1 | ~~ | +| Dell XPS 15 9550 | ~~ | +| Inverse Path USB armory | ~~ | +| Lenovo IdeaPad Z510 | ~~ | +| Lenovo ThinkPad T410 | ~~ | +| Lenovo ThinkPad T440p | ~~ | +| Lenovo ThinkPad T460s | ~~ | +| Lenovo ThinkPad X140e | ~~ | +| Lenovo ThinkPad X220 | ~~ | +| Microsoft Surface Pro 3 | ~~ | +| Raspberry Pi 2 | ~~ | +| Samsung Series 9 NP900X3C | ~~ | +| Supermicro A1SRi-2758F | ~~ | +| Supermicro X10SLL-F | ~~ | + +For example, to enable ThinkPad X220 profile, your ~imports~ should look like: + + : imports = [ ./hardware-configuration.nix ]; + +Profiles should favor usability and stability, so performance hacks should be +activated by an additional NixOS option or conservative and performance configs +can be declared in seperate profiles. + +Because profiles can only be tested with the appropriate hardware, quality +assurance is up to *you*. + +** Simple tips and tricks + +*** Disable PC speaker + + : boot.blacklistedKernelModules = [ "pcspkr" ]; diff --git a/acer/4810t.wiki b/acer/aspire/4810t/README.wiki similarity index 100% rename from acer/4810t.wiki rename to acer/aspire/4810t/README.wiki diff --git a/acer/4810t.nix b/acer/aspire/4810t/default.nix similarity index 100% rename from acer/4810t.nix rename to acer/aspire/4810t/default.nix diff --git a/acer/c720.wiki b/acer/c720/README.wiki similarity index 100% rename from acer/c720.wiki rename to acer/c720/README.wiki diff --git a/acer/c720.nix b/acer/c720/default.nix similarity index 100% rename from acer/c720.nix rename to acer/c720/default.nix diff --git a/airis/n990.nix b/airis/n990/default.nix similarity index 100% rename from airis/n990.nix rename to airis/n990/default.nix diff --git a/apple/macbook-pro-10-1.wiki b/apple/macbook-pro/10-1/README.wiki similarity index 100% rename from apple/macbook-pro-10-1.wiki rename to apple/macbook-pro/10-1/README.wiki diff --git a/apple/macbook-pro-10-1.nix b/apple/macbook-pro/10-1/default.nix similarity index 100% rename from apple/macbook-pro-10-1.nix rename to apple/macbook-pro/10-1/default.nix diff --git a/apple/macbook-pro-12-1.nix b/apple/macbook-pro/12-1/default.nix similarity index 100% rename from apple/macbook-pro-12-1.nix rename to apple/macbook-pro/12-1/default.nix diff --git a/asus/m60j-jx041v.wiki b/asus/m60j-jx041v/README.wiki similarity index 100% rename from asus/m60j-jx041v.wiki rename to asus/m60j-jx041v/README.wiki diff --git a/asus/wireless-ac1300.nix b/asus/wireless-ac1300.nix index c60632a943f..a3122a78a46 100644 --- a/asus/wireless-ac1300.nix +++ b/asus/wireless-ac1300.nix @@ -1,5 +1,7 @@ # Use this module if you use a realtek 18812au based wifi dongle, like ASUS Wireless-AC1300 + { pkgs, ... }: + { boot.extraModulePackages = [ pkgs.linuxPackages.rtl8812au ]; boot.kernelModules = [ "8812au" ]; diff --git a/dell/xps-15-9550.wiki b/dell/xps/15-9550/README.wiki similarity index 100% rename from dell/xps-15-9550.wiki rename to dell/xps/15-9550/README.wiki diff --git a/dell/xps-15-9550.nix b/dell/xps/15-9550/default.nix similarity index 100% rename from dell/xps-15-9550.nix rename to dell/xps/15-9550/default.nix diff --git a/inversepath/usbarmory/configuration.nix b/inversepath/usbarmory/default.nix similarity index 100% rename from inversepath/usbarmory/configuration.nix rename to inversepath/usbarmory/default.nix diff --git a/lenovo/ideapad/z510.nix b/lenovo/ideapad/z510/default.nix similarity index 100% rename from lenovo/ideapad/z510.nix rename to lenovo/ideapad/z510/default.nix diff --git a/lenovo/thinkpad/general.nix b/lenovo/thinkpad/common.nix similarity index 100% rename from lenovo/thinkpad/general.nix rename to lenovo/thinkpad/common.nix diff --git a/lenovo/thinkpad/general-intel.nix b/lenovo/thinkpad/intel.nix similarity index 100% rename from lenovo/thinkpad/general-intel.nix rename to lenovo/thinkpad/intel.nix diff --git a/lenovo/thinkpad/t410.nix b/lenovo/thinkpad/t410/default.nix similarity index 99% rename from lenovo/thinkpad/t410.nix rename to lenovo/thinkpad/t410/default.nix index 53c731f8c2d..53d5515c77c 100644 --- a/lenovo/thinkpad/t410.nix +++ b/lenovo/thinkpad/t410/default.nix @@ -1,7 +1,7 @@ { config, pkgs, ... }: { - imports = [ ./general-intel.nix ]; + imports = [ ../intel.nix ]; boot = { kernelParams = [ diff --git a/lenovo/thinkpad/t440p.nix b/lenovo/thinkpad/t440p/default.nix similarity index 82% rename from lenovo/thinkpad/t440p.nix rename to lenovo/thinkpad/t440p/default.nix index 4d96bbb2c58..5c8699dffbe 100644 --- a/lenovo/thinkpad/t440p.nix +++ b/lenovo/thinkpad/t440p/default.nix @@ -1,7 +1,7 @@ { config, pkgs, ... }: { - imports = [ ./general-intel.nix ]; + imports = [ ../intel.nix ]; boot = { extraModprobeConfig = '' diff --git a/lenovo/thinkpad/t460s.nix b/lenovo/thinkpad/t460s/default.nix similarity index 100% rename from lenovo/thinkpad/t460s.nix rename to lenovo/thinkpad/t460s/default.nix diff --git a/lenovo/thinkpad/x140e.nix b/lenovo/thinkpad/x140e/default.nix similarity index 91% rename from lenovo/thinkpad/x140e.nix rename to lenovo/thinkpad/x140e/default.nix index efa51067498..a6fb02a9e88 100644 --- a/lenovo/thinkpad/x140e.nix +++ b/lenovo/thinkpad/x140e/default.nix @@ -1,7 +1,7 @@ { config, lib, pkgs, ... }: { - imports = [ ./general.nix ]; + imports = [ ../common.nix ]; boot = { # wireless diff --git a/lenovo/thinkpad/x220i-tablet.nix b/lenovo/thinkpad/x220/default.nix similarity index 93% rename from lenovo/thinkpad/x220i-tablet.nix rename to lenovo/thinkpad/x220/default.nix index 9f9638a140d..3a9e99b4b34 100644 --- a/lenovo/thinkpad/x220i-tablet.nix +++ b/lenovo/thinkpad/x220/default.nix @@ -1,7 +1,7 @@ { config, pkgs, ... }: { - imports = [ ./general-intel.nix ]; + imports = [ ../intel.nix ]; # TPM chip countains a RNG security.rngd.enable = true; diff --git a/microsoft/hyper-v-guest.md b/microsoft/hyper-v/README.md similarity index 100% rename from microsoft/hyper-v-guest.md rename to microsoft/hyper-v/README.md diff --git a/microsoft/surface_pro_3.wiki b/microsoft/surface-pro/3/README.wiki similarity index 100% rename from microsoft/surface_pro_3.wiki rename to microsoft/surface-pro/3/README.wiki diff --git a/microsoft/surface_pro_3.nix b/microsoft/surface-pro/3/default.nix similarity index 100% rename from microsoft/surface_pro_3.nix rename to microsoft/surface-pro/3/default.nix diff --git a/raspberry_pi/rpi2.nix b/raspberry-pi/2/default.nix similarity index 100% rename from raspberry_pi/rpi2.nix rename to raspberry-pi/2/default.nix diff --git a/samsung/np900x3c.wiki b/samsung/np900x3c/README.wiki similarity index 100% rename from samsung/np900x3c.wiki rename to samsung/np900x3c/README.wiki diff --git a/samsung/np900x3c.nix b/samsung/np900x3c/default.nix similarity index 100% rename from samsung/np900x3c.nix rename to samsung/np900x3c/default.nix diff --git a/supermicro/a1sri-2758f.nix b/supermicro/a1sri-2758f/default.nix similarity index 100% rename from supermicro/a1sri-2758f.nix rename to supermicro/a1sri-2758f/default.nix diff --git a/supermicro/x10sll-f.nix b/supermicro/x10sll-f/default.nix similarity index 100% rename from supermicro/x10sll-f.nix rename to supermicro/x10sll-f/default.nix From b8ab6ab37f2510990f35ea7594df7f8d7167df8f Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 00:46:26 +0000 Subject: [PATCH 055/274] thinkpad/intel: drop mkDefault, fixes #33 --- lenovo/thinkpad/intel.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lenovo/thinkpad/intel.nix b/lenovo/thinkpad/intel.nix index 5b941247785..32d95948709 100644 --- a/lenovo/thinkpad/intel.nix +++ b/lenovo/thinkpad/intel.nix @@ -1,4 +1,4 @@ { - boot.kernelModules = mkDefault [ "kvm-intel" ]; + boot.kernelModules = [ "kvm-intel" ]; services.xserver.videoDrivers = [ "intel" ]; } From 1133ce7d83825cf14cb95b4ffab64882d830072e Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 22 Dec 2017 17:15:09 +0000 Subject: [PATCH 056/274] x220: drop security.rngd.enable = true, it's by default --- lenovo/thinkpad/x220/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/lenovo/thinkpad/x220/default.nix b/lenovo/thinkpad/x220/default.nix index 3a9e99b4b34..44f1175e221 100644 --- a/lenovo/thinkpad/x220/default.nix +++ b/lenovo/thinkpad/x220/default.nix @@ -3,9 +3,6 @@ { imports = [ ../intel.nix ]; - # TPM chip countains a RNG - security.rngd.enable = true; - boot = { kernelModules = [ "tp_smapi" ]; extraModulePackages = with config.boot.kernelPackages; [ tp_smapi ]; From ee47d3147827f7888c9edf75873e52c913e052a0 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 22 Dec 2017 17:15:52 +0000 Subject: [PATCH 057/274] thinkpad: enable tp_smapi on all ThinkPads --- lenovo/thinkpad/common.nix | 5 +++++ lenovo/thinkpad/x220/default.nix | 5 ----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lenovo/thinkpad/common.nix b/lenovo/thinkpad/common.nix index cb800012c37..e51a5751241 100644 --- a/lenovo/thinkpad/common.nix +++ b/lenovo/thinkpad/common.nix @@ -5,6 +5,11 @@ let in { + boot = { + kernelModules = [ "tp_smapi" ]; + extraModulePackages = with config.boot.kernelPackages; [ tp_smapi ]; + }; + hardware.trackpoint.enable = mkDefault true; services.tlp.enable = mkDefault true; services.xserver.libinput.enable = mkDefault true; diff --git a/lenovo/thinkpad/x220/default.nix b/lenovo/thinkpad/x220/default.nix index 44f1175e221..2a506d0d9b0 100644 --- a/lenovo/thinkpad/x220/default.nix +++ b/lenovo/thinkpad/x220/default.nix @@ -3,11 +3,6 @@ { imports = [ ../intel.nix ]; - boot = { - kernelModules = [ "tp_smapi" ]; - extraModulePackages = with config.boot.kernelPackages; [ tp_smapi ]; - }; - # hard disk protection if the laptop falls services.hdapsd.enable = true; From 1bb559377262403fbe35e05072bd9807a9ce38f7 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 22 Dec 2017 17:53:15 +0000 Subject: [PATCH 058/274] t410: drop i915 warning --- lenovo/thinkpad/t410/default.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/lenovo/thinkpad/t410/default.nix b/lenovo/thinkpad/t410/default.nix index 53d5515c77c..581d9012eea 100644 --- a/lenovo/thinkpad/t410/default.nix +++ b/lenovo/thinkpad/t410/default.nix @@ -5,7 +5,6 @@ boot = { kernelParams = [ - # Kernel GPU Savings Options (NOTE i915 chipset only) "drm.debug=0" "drm.vblankoffdelay=1" "i915.semaphores=1" @@ -25,7 +24,6 @@ "i915.i915_enable_rc6=1" ]; blacklistedKernelModules = [ - # Kernel GPU Savings Options (NOTE i915 chipset only) "sierra_net" "cdc_mbim" "cdc_ncm" "btusb" ]; }; From 0c17d72838e5994a60ec06e42223a6449ee741b8 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 22 Dec 2017 17:49:09 +0000 Subject: [PATCH 059/274] thinkpad: drop intel.nix, explicit services.xserver.videoDrivers Kernel modules are already generated with nixos-generate-config. --- lenovo/thinkpad/intel.nix | 4 ---- lenovo/thinkpad/t410/default.nix | 3 +-- lenovo/thinkpad/t440p/default.nix | 4 ++-- lenovo/thinkpad/t460s/default.nix | 3 ++- 4 files changed, 5 insertions(+), 9 deletions(-) delete mode 100644 lenovo/thinkpad/intel.nix diff --git a/lenovo/thinkpad/intel.nix b/lenovo/thinkpad/intel.nix deleted file mode 100644 index 32d95948709..00000000000 --- a/lenovo/thinkpad/intel.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ - boot.kernelModules = [ "kvm-intel" ]; - services.xserver.videoDrivers = [ "intel" ]; -} diff --git a/lenovo/thinkpad/t410/default.nix b/lenovo/thinkpad/t410/default.nix index 581d9012eea..6fe10b43984 100644 --- a/lenovo/thinkpad/t410/default.nix +++ b/lenovo/thinkpad/t410/default.nix @@ -1,8 +1,6 @@ { config, pkgs, ... }: { - imports = [ ../intel.nix ]; - boot = { kernelParams = [ "drm.debug=0" @@ -86,4 +84,5 @@ # ${pkgs.ethtool}/bin/ethtool -s enp0s25 wol d || true }; + services.xserver.videoDrivers = [ "intel" ]; } diff --git a/lenovo/thinkpad/t440p/default.nix b/lenovo/thinkpad/t440p/default.nix index 5c8699dffbe..2342f6da237 100644 --- a/lenovo/thinkpad/t440p/default.nix +++ b/lenovo/thinkpad/t440p/default.nix @@ -1,12 +1,12 @@ { config, pkgs, ... }: { - imports = [ ../intel.nix ]; - boot = { extraModprobeConfig = '' options bbswitch use_acpi_to_detect_card_state=1 ''; kernelModules = [ "tpm-rng" ]; }; + + services.xserver.videoDrivers = [ "intel" ]; } diff --git a/lenovo/thinkpad/t460s/default.nix b/lenovo/thinkpad/t460s/default.nix index 4255dddef72..aca2b40bcb1 100644 --- a/lenovo/thinkpad/t460s/default.nix +++ b/lenovo/thinkpad/t460s/default.nix @@ -3,7 +3,6 @@ { imports = [ ../lib/kernel-version.nix - ./general-intel.nix ]; # Use the gummiboot efi boot loader. (From default generated configuration.nix) @@ -26,4 +25,6 @@ # Aspect Ratio: 16 × 9 (1.78:1) # Pixel Count: 3,686,400 # Megapixels: 3.69MP + + services.xserver.videoDrivers = [ "intel" ]; } From 67cd7af6be9cc4ece9622e2f6db2f211ff261f0e Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 01:13:08 +0000 Subject: [PATCH 060/274] thinkpad: common.nix -> default.nix + fixup after intel.nix drop --- lenovo/thinkpad/{common.nix => default.nix} | 0 lenovo/thinkpad/t410/default.nix | 2 ++ lenovo/thinkpad/t440p/default.nix | 2 ++ lenovo/thinkpad/t460s/default.nix | 1 + lenovo/thinkpad/x140e/default.nix | 2 +- lenovo/thinkpad/x220/default.nix | 4 +++- 6 files changed, 9 insertions(+), 2 deletions(-) rename lenovo/thinkpad/{common.nix => default.nix} (100%) diff --git a/lenovo/thinkpad/common.nix b/lenovo/thinkpad/default.nix similarity index 100% rename from lenovo/thinkpad/common.nix rename to lenovo/thinkpad/default.nix diff --git a/lenovo/thinkpad/t410/default.nix b/lenovo/thinkpad/t410/default.nix index 6fe10b43984..3dbc4e596c3 100644 --- a/lenovo/thinkpad/t410/default.nix +++ b/lenovo/thinkpad/t410/default.nix @@ -1,6 +1,8 @@ { config, pkgs, ... }: { + imports = [ ../. ]; + boot = { kernelParams = [ "drm.debug=0" diff --git a/lenovo/thinkpad/t440p/default.nix b/lenovo/thinkpad/t440p/default.nix index 2342f6da237..262638adba1 100644 --- a/lenovo/thinkpad/t440p/default.nix +++ b/lenovo/thinkpad/t440p/default.nix @@ -1,6 +1,8 @@ { config, pkgs, ... }: { + imports = [ ../. ]; + boot = { extraModprobeConfig = '' options bbswitch use_acpi_to_detect_card_state=1 diff --git a/lenovo/thinkpad/t460s/default.nix b/lenovo/thinkpad/t460s/default.nix index aca2b40bcb1..3e51709bd2b 100644 --- a/lenovo/thinkpad/t460s/default.nix +++ b/lenovo/thinkpad/t460s/default.nix @@ -2,6 +2,7 @@ { imports = [ + ../. ../lib/kernel-version.nix ]; diff --git a/lenovo/thinkpad/x140e/default.nix b/lenovo/thinkpad/x140e/default.nix index a6fb02a9e88..38f34608a3d 100644 --- a/lenovo/thinkpad/x140e/default.nix +++ b/lenovo/thinkpad/x140e/default.nix @@ -1,7 +1,7 @@ { config, lib, pkgs, ... }: { - imports = [ ../common.nix ]; + imports = [ ../. ]; boot = { # wireless diff --git a/lenovo/thinkpad/x220/default.nix b/lenovo/thinkpad/x220/default.nix index 2a506d0d9b0..81fec064967 100644 --- a/lenovo/thinkpad/x220/default.nix +++ b/lenovo/thinkpad/x220/default.nix @@ -1,7 +1,7 @@ { config, pkgs, ... }: { - imports = [ ../intel.nix ]; + imports = [ ../. ]; # hard disk protection if the laptop falls services.hdapsd.enable = true; @@ -11,4 +11,6 @@ #security.pam.services.login.fprintAuth = true; #security.pam.services.xscreensaver.fprintAuth = true; # similarly for other PAM providers + + services.xserver.videoDrivers = [ "intel" ]; } From fcb9d76ead20fe9ff7cbed64e88672166e48d355 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 01:20:36 +0000 Subject: [PATCH 061/274] thinkpad: use lib.mkDefault on all unmergable options --- lenovo/thinkpad/default.nix | 10 +++------- lenovo/thinkpad/t410/default.nix | 4 ++-- lenovo/thinkpad/t440p/default.nix | 4 ++-- lenovo/thinkpad/t460s/default.nix | 6 +++--- lenovo/thinkpad/x140e/default.nix | 2 +- lenovo/thinkpad/x220/default.nix | 4 ++-- 6 files changed, 13 insertions(+), 17 deletions(-) diff --git a/lenovo/thinkpad/default.nix b/lenovo/thinkpad/default.nix index e51a5751241..aba9596d410 100644 --- a/lenovo/thinkpad/default.nix +++ b/lenovo/thinkpad/default.nix @@ -1,16 +1,12 @@ { lib, pkgs, ... }: -let - inherit (lib) mkDefault; -in - { boot = { kernelModules = [ "tp_smapi" ]; extraModulePackages = with config.boot.kernelPackages; [ tp_smapi ]; }; - hardware.trackpoint.enable = mkDefault true; - services.tlp.enable = mkDefault true; - services.xserver.libinput.enable = mkDefault true; + hardware.trackpoint.enable = lib.mkDefault true; + services.tlp.enable = lib.mkDefault true; + services.xserver.libinput.enable = lib.mkDefault true; } diff --git a/lenovo/thinkpad/t410/default.nix b/lenovo/thinkpad/t410/default.nix index 3dbc4e596c3..b7a765dc36a 100644 --- a/lenovo/thinkpad/t410/default.nix +++ b/lenovo/thinkpad/t410/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: { imports = [ ../. ]; @@ -28,7 +28,7 @@ ]; }; - hardware.cpu.intel.updateMicrocode = true; + hardware.cpu.intel.updateMicrocode = lib.mkDefault true; systemd.services.tune-powermanagement = { description = "Tune Powermanagement"; diff --git a/lenovo/thinkpad/t440p/default.nix b/lenovo/thinkpad/t440p/default.nix index 262638adba1..ddf6bd8ae9d 100644 --- a/lenovo/thinkpad/t440p/default.nix +++ b/lenovo/thinkpad/t440p/default.nix @@ -1,10 +1,10 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: { imports = [ ../. ]; boot = { - extraModprobeConfig = '' + extraModprobeConfig = lib.mkDefault '' options bbswitch use_acpi_to_detect_card_state=1 ''; kernelModules = [ "tpm-rng" ]; diff --git a/lenovo/thinkpad/t460s/default.nix b/lenovo/thinkpad/t460s/default.nix index 3e51709bd2b..039b6a47ecc 100644 --- a/lenovo/thinkpad/t460s/default.nix +++ b/lenovo/thinkpad/t460s/default.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: { imports = [ @@ -7,8 +7,8 @@ ]; # Use the gummiboot efi boot loader. (From default generated configuration.nix) - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; + boot.loader.systemd-boot.enable = lib.mkDefault true; + boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; # https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_T460s kernelAtleast = [ diff --git a/lenovo/thinkpad/x140e/default.nix b/lenovo/thinkpad/x140e/default.nix index 38f34608a3d..31b0bb3b72d 100644 --- a/lenovo/thinkpad/x140e/default.nix +++ b/lenovo/thinkpad/x140e/default.nix @@ -9,7 +9,7 @@ extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; # audio device - extraModprobeConfig = '' + extraModprobeConfig = lib.mkDefault '' options snd_hda_intel enable=0,1 ''; }; diff --git a/lenovo/thinkpad/x220/default.nix b/lenovo/thinkpad/x220/default.nix index 81fec064967..285d13e58be 100644 --- a/lenovo/thinkpad/x220/default.nix +++ b/lenovo/thinkpad/x220/default.nix @@ -1,10 +1,10 @@ -{ config, pkgs, ... }: +{ config, lib, pkgs, ... }: { imports = [ ../. ]; # hard disk protection if the laptop falls - services.hdapsd.enable = true; + services.hdapsd.enable = lib.mkDefault true; # fingerprint reader: login and unlock with fingerprint (if you add one with `fprintd-enroll`) #services.fprintd.enable = true; From 7810833d2d61319c8b1cf2abe043e1a8645035ce Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 01:22:48 +0000 Subject: [PATCH 062/274] t410: drop POWERTOP-like script in favor of services.tlp.enable tlp does the same thing, but dynamically, depending on whether power adapter is connected. It is also much more portable than this script. Direct replacement would be `powerManagement.powertop.enable`. --- lenovo/thinkpad/t410/default.nix | 56 -------------------------------- 1 file changed, 56 deletions(-) diff --git a/lenovo/thinkpad/t410/default.nix b/lenovo/thinkpad/t410/default.nix index b7a765dc36a..ec8cbc7f90a 100644 --- a/lenovo/thinkpad/t410/default.nix +++ b/lenovo/thinkpad/t410/default.nix @@ -30,61 +30,5 @@ hardware.cpu.intel.updateMicrocode = lib.mkDefault true; - systemd.services.tune-powermanagement = { - description = "Tune Powermanagement"; - serviceConfig.Type = "oneshot"; - serviceConfig.RemainAfterExit = true; - wantedBy = [ "multi-user.target" ]; - unitConfig.RequiresMountsFor = "/sys"; - script = '' - echo '1500' > '/proc/sys/vm/dirty_writeback_centisecs' - echo '1' > '/sys/module/snd_hda_intel/parameters/power_save' - echo 'auto' > '/sys/bus/i2c/devices/i2c-0/device/power/control' - echo 'auto' > '/sys/bus/i2c/devices/i2c-1/device/power/control' - echo 'auto' > '/sys/bus/i2c/devices/i2c-2/device/power/control' - echo 'auto' > '/sys/bus/i2c/devices/i2c-3/device/power/control' - echo 'auto' > '/sys/bus/i2c/devices/i2c-4/device/power/control' - echo 'auto' > '/sys/bus/i2c/devices/i2c-5/device/power/control' - echo 'auto' > '/sys/bus/i2c/devices/i2c-6/device/power/control' - echo 'auto' > '/sys/bus/i2c/devices/i2c-7/device/power/control' - echo 'auto' > '/sys/bus/i2c/devices/i2c-8/device/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:00.0/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:02.0/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:16.0/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:16.3/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:19.0/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:1a.0/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:1b.0/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.0/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.1/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.3/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:1c.4/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:1d.0/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:1e.0/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.0/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.2/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.3/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:00:1f.6/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:03:00.0/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:0d:00.0/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:0d:00.1/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:ff:00.0/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:ff:00.1/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:ff:02.0/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:ff:02.1/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:ff:02.2/power/control' - echo 'auto' > '/sys/bus/pci/devices/0000:ff:02.3/power/control' - echo 'auto' > '/sys/bus/usb/devices/1-1.3/power/control' - echo 'min_power' > '/sys/class/scsi_host/host0/link_power_management_policy' - echo 'min_power' > '/sys/class/scsi_host/host1/link_power_management_policy' - echo 'min_power' > '/sys/class/scsi_host/host2/link_power_management_policy' - echo 'min_power' > '/sys/class/scsi_host/host3/link_power_management_policy' - echo 'min_power' > '/sys/class/scsi_host/host4/link_power_management_policy' - echo 'min_power' > '/sys/class/scsi_host/host5/link_power_management_policy' - /run/current-system/sw/bin/rmmod e1000e || true - ''; - # ${pkgs.ethtool}/bin/ethtool -s enp0s25 wol d || true - }; - services.xserver.videoDrivers = [ "intel" ]; } From 0c51ed4b80179d07c1ab1c8f18a5267677b24f2e Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 01:28:22 +0000 Subject: [PATCH 063/274] x140e: drop options generated with nixos-generate-config --- lenovo/thinkpad/x140e/default.nix | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/lenovo/thinkpad/x140e/default.nix b/lenovo/thinkpad/x140e/default.nix index 31b0bb3b72d..81f67addcd8 100644 --- a/lenovo/thinkpad/x140e/default.nix +++ b/lenovo/thinkpad/x140e/default.nix @@ -3,17 +3,9 @@ { imports = [ ../. ]; - boot = { - # wireless - kernelModules = [ "kvm-amd" "wl" ]; - extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; + boot.extraModprobeConfig = lib.mkDefault '' + options snd_hda_intel enable=0,1 + ''; - # audio device - extraModprobeConfig = lib.mkDefault '' - options snd_hda_intel enable=0,1 - ''; - }; - - # video card services.xserver.videoDrivers = [ "ati" ]; } From 1b81e4e476343aafa85753ce6c5c061203c713d6 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 02:34:44 +0000 Subject: [PATCH 064/274] asus/wireless-ac1300: use config.boot.kernelPackages --- asus/wireless-ac1300.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/asus/wireless-ac1300.nix b/asus/wireless-ac1300.nix index a3122a78a46..39aa1c7f89d 100644 --- a/asus/wireless-ac1300.nix +++ b/asus/wireless-ac1300.nix @@ -3,6 +3,6 @@ { pkgs, ... }: { - boot.extraModulePackages = [ pkgs.linuxPackages.rtl8812au ]; + boot.extraModulePackages = with config.boot.kernelPackages; [ rtl8812au ]; boot.kernelModules = [ "8812au" ]; } From 9609c900f9d57668a56b978b9a8e6e965ca558ca Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 03:38:17 +0000 Subject: [PATCH 065/274] apple: add services.mbpfan.enable --- apple/default.nix | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 apple/default.nix diff --git a/apple/default.nix b/apple/default.nix new file mode 100644 index 00000000000..6fa8e5de705 --- /dev/null +++ b/apple/default.nix @@ -0,0 +1,5 @@ +{ lib, ... }: + +{ + services.mbpfan.enable = lib.mkDefault true; +} From e4639aa028bdf16cea8785420ef7878ac3c98f1d Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 11:10:07 +0000 Subject: [PATCH 066/274] thinkpad: add missing `config` --- lenovo/thinkpad/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lenovo/thinkpad/default.nix b/lenovo/thinkpad/default.nix index aba9596d410..03d9dff02e3 100644 --- a/lenovo/thinkpad/default.nix +++ b/lenovo/thinkpad/default.nix @@ -1,4 +1,4 @@ -{ lib, pkgs, ... }: +{ config, lib, pkgs, ... }: { boot = { From 2951a4f4b0b33ae266d0cd98f693023c6ed99577 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 11:17:39 +0000 Subject: [PATCH 067/274] thinkpad: move fprintd comment from X220 to parent profile --- lenovo/thinkpad/default.nix | 3 +++ lenovo/thinkpad/x220/default.nix | 7 ------- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/lenovo/thinkpad/default.nix b/lenovo/thinkpad/default.nix index 03d9dff02e3..9b82b8b2c9f 100644 --- a/lenovo/thinkpad/default.nix +++ b/lenovo/thinkpad/default.nix @@ -9,4 +9,7 @@ hardware.trackpoint.enable = lib.mkDefault true; services.tlp.enable = lib.mkDefault true; services.xserver.libinput.enable = lib.mkDefault true; + + # Fingerprint reader: login and unlock with fingerprint (if you add one with `fprintd-enroll`) + # services.fprintd.enable = true; } diff --git a/lenovo/thinkpad/x220/default.nix b/lenovo/thinkpad/x220/default.nix index 285d13e58be..d3e723dc461 100644 --- a/lenovo/thinkpad/x220/default.nix +++ b/lenovo/thinkpad/x220/default.nix @@ -5,12 +5,5 @@ # hard disk protection if the laptop falls services.hdapsd.enable = lib.mkDefault true; - - # fingerprint reader: login and unlock with fingerprint (if you add one with `fprintd-enroll`) - #services.fprintd.enable = true; - #security.pam.services.login.fprintAuth = true; - #security.pam.services.xscreensaver.fprintAuth = true; - # similarly for other PAM providers - services.xserver.videoDrivers = [ "intel" ]; } From fc9b7ae0024066130c9cc3b699e8b103e7c21d62 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 11:44:48 +0000 Subject: [PATCH 068/274] tests: add evaluation/build test --- tests/build-test.nix | 10 ++++++++++ tests/build-test.sh | 8 ++++++++ 2 files changed, 18 insertions(+) create mode 100644 tests/build-test.nix create mode 100755 tests/build-test.sh diff --git a/tests/build-test.nix b/tests/build-test.nix new file mode 100644 index 00000000000..936259f3ee9 --- /dev/null +++ b/tests/build-test.nix @@ -0,0 +1,10 @@ +{ + imports = [ ]; + + boot.loader.systemd-boot.enable = true; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/00000000-0000-0000-0000-000000000000"; + fsType = "btrfs"; + }; +} diff --git a/tests/build-test.sh b/tests/build-test.sh new file mode 100755 index 00000000000..bd762a5d74d --- /dev/null +++ b/tests/build-test.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +cd $(dirname $0) + +for profile in $(find .. -name \*.nix); do + echo $profile >&2 + nixos-rebuild -I nixos-config=build-test.nix -I nixos-hardware-profile=$profile dry-build +done From 097d47e3f80f3a24462669a05696065128773bdb Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 11:50:06 +0000 Subject: [PATCH 069/274] c720: drop kernel notes for unsupported kernel versions --- acer/c720/default.nix | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/acer/c720/default.nix b/acer/c720/default.nix index 483608925d6..0967ef424bc 100644 --- a/acer/c720/default.nix +++ b/acer/c720/default.nix @@ -1,10 +1 @@ -{ lib, ... }: -with lib; -{ - imports = singleton ../lib/kernerl-version.nix; - - kernelAtleast = singleton - { version = "3.18"; - msg = "Cypress APA touchpad supported added in Linux-3.17-rc1"; - }; -} +{} From 667b1d8eb9c23d1de433d71caea5648a5acabadb Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 11:59:21 +0000 Subject: [PATCH 070/274] 4810t: fix evaluation, clean up --- acer/aspire/4810t/default.nix | 48 ++++++++++++++--------------------- 1 file changed, 19 insertions(+), 29 deletions(-) diff --git a/acer/aspire/4810t/default.nix b/acer/aspire/4810t/default.nix index ce1091bd87b..b984623347d 100644 --- a/acer/aspire/4810t/default.nix +++ b/acer/aspire/4810t/default.nix @@ -1,37 +1,27 @@ -/* imported from https://nixos.org/wiki/Acer_4810T */ - -{ config, pkgs, lib, ... }: - { - # Make te network WLAN card (wlan0) firmware available - require = [ /nixos/modules/hardware/network/intel-5000.nix ]; - - boot = rec { - initrd.kernelModules = [ "ata_piix" ]; - kernelParams = [ + boot = { + initrd.kernelModules = [ "ata_piix" ]; + kernelParams = [ "apm=on" "acpi=on" - "vga=0x317" + "vga=0x317" "video=vesafb:ywrap" # Important, to disable Kernel Mode Setting for the graphics card # This will allow backlight regulation "nomodeset" - ]; - kernelModules = [ - "kvm-intel" - ]; - }; - - services = { - xserver = { - enable = true; - defaultDepth = 24; - videoDriver = "intel"; - autorun = true; - driSupport = false; - synaptics = { - enable = true; - dev = "/dev/input/event8"; - }; + ]; }; -}; + + hardware.opengl.driSupport = false; + + services.xserver = { + enable = true; + defaultDepth = 24; + videoDriver = "intel"; + autorun = true; + synaptics = { + enable = true; + dev = "/dev/input/event8"; + }; + }; +} From dd87817ffc7c60929949183cdf9dc88c96e4bdb6 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 12:04:23 +0000 Subject: [PATCH 071/274] airis/n990: fix evaluation --- airis/n990/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/airis/n990/default.nix b/airis/n990/default.nix index b3056b7d0b4..7c45d2a2b3d 100644 --- a/airis/n990/default.nix +++ b/airis/n990/default.nix @@ -1,4 +1,4 @@ -{ ... }: +{ lib, pkgs, ... }: { boot = { @@ -13,10 +13,10 @@ ]; }; - services.xserver = { - videoDriver = "unichrome"; - synaptics.enable = true; - }; + hardware.firmware = with pkgs; [ intel2200BGFirmware ]; - networking.enableIntel2200BGFirmware = true; + services.xserver = { + synaptics.enable = lib.mkDefault true; + videoDrivers = [ "unichrome" ]; + }; } From a8b7b6ffe5813545e289404e504a21e2222f7ab5 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 12:13:25 +0000 Subject: [PATCH 072/274] apple/macbook-pro/10-1: fix evaluation, drop old kernel notes --- apple/macbook-pro/10-1/default.nix | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/apple/macbook-pro/10-1/default.nix b/apple/macbook-pro/10-1/default.nix index 797404eddcf..85921b47ba3 100644 --- a/apple/macbook-pro/10-1/default.nix +++ b/apple/macbook-pro/10-1/default.nix @@ -1,27 +1,16 @@ -{ config, pkgs, ... }: +{ lib, pkgs, ... }: { - imports = - [ ../lib/kernel-version.nix - ]; + imports = [ ../. ]; - # Use the systemd-boot efi boot loader. (From default generated configuration.nix) boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; - # I use this but not sure whether its needed. - # Right click does *NOT* work - services.xserver.libinput.enable = true; - - kernelAtleast = - [ { version = "4.7"; msg = "Broadcom WiFi confirmed not to work."; } - ]; - - # Couldn't get X to work with nvidia - # Also, PTYs don't work after X/nvidia starts - services.xserver.videoDrivers = [ "nvidia" ]; hardware.opengl.driSupport32Bit = true; - # Seems to improve battery life *and* keep the CPU cooler - services.mbpfan.enable = true; + services.xserver = { + libinput.enable = lib.mkDefault true; + # TODO: we should not enable unfree drivers + videoDrivers = [ "nvidia" ]; + }; } From cbe052c49e80ccb27d2573e9dc9e7bbc6df4a0a4 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 12:16:10 +0000 Subject: [PATCH 073/274] apple/macbook-pro/12-1: clean up --- apple/macbook-pro/12-1/default.nix | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/apple/macbook-pro/12-1/default.nix b/apple/macbook-pro/12-1/default.nix index c755ce00e7c..78a7d6faf82 100644 --- a/apple/macbook-pro/12-1/default.nix +++ b/apple/macbook-pro/12-1/default.nix @@ -1,17 +1,12 @@ -{ config, lib, pkgs, ... }: +{ lib, ... }: + { - imports = - [ - - ]; + imports = [ + + ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; - - # The USB subsystem wakes up the MBP directly after suspend if - # we don't disable it. - services.udev.extraRules = '' + # USB subsystem wakes up MBP right after suspend unless we disable it. + services.udev.extraRules = lib.mkDefault '' SUBSYSTEM=="pci", KERNEL=="0000:00:14.0", ATTR{power/wakeup}="disabled" ''; } From 63b3836fcf0ff03b5f96b173f5c06710f08b2c3e Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 12:17:37 +0000 Subject: [PATCH 074/274] apple: use global apple profile (for mbpfan) --- apple/macbook-pro/10-1/default.nix | 2 +- apple/macbook-pro/12-1/default.nix | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/apple/macbook-pro/10-1/default.nix b/apple/macbook-pro/10-1/default.nix index 85921b47ba3..c2fa79f571c 100644 --- a/apple/macbook-pro/10-1/default.nix +++ b/apple/macbook-pro/10-1/default.nix @@ -1,7 +1,7 @@ { lib, pkgs, ... }: { - imports = [ ../. ]; + imports = [ ../../. ]; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; diff --git a/apple/macbook-pro/12-1/default.nix b/apple/macbook-pro/12-1/default.nix index 78a7d6faf82..63c36db6472 100644 --- a/apple/macbook-pro/12-1/default.nix +++ b/apple/macbook-pro/12-1/default.nix @@ -2,6 +2,7 @@ { imports = [ + ../../. ]; From 0344137b57a5429a8ac49557be38a806ed30ba3b Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 12:30:41 +0000 Subject: [PATCH 075/274] dell/xps/15-9550: fix evaluation, drop old kernel notes --- dell/xps/15-9550/default.nix | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/dell/xps/15-9550/default.nix b/dell/xps/15-9550/default.nix index 04f71742258..e0bb70058ab 100644 --- a/dell/xps/15-9550/default.nix +++ b/dell/xps/15-9550/default.nix @@ -1,25 +1,11 @@ -{ config, pkgs, ... }: +{ lib, ... }: { - imports = - [ ../lib/kernel-version.nix - ]; + boot.loader.systemd-boot.enable = lib.mkDefault true; + boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; - # Use the systemd-boot efi boot loader. (From default generated configuration.nix) - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - # Honestly forget if needed or just better for touchpad. - # Synaptics also works, but doesn't have working palm and thumb detection. - services.xserver.libinput.enable = true; - - # Intel Graphics confirmed not working at 4.1, confirmed working at {4.3, 4.4} - kernelAtleast = - [ { version = "4.2"; msg = "Intel Graphics confirmed not to work."; } - { version = "4.3"; msg = "Intel Graphics untested."; } - { version = "4.4"; msg = "Touchpad does not work, though the touchscreen still does"; } - ]; - - # To just use intel integrated graphics with Intel's open source driver + # To just use Intel integrated graphics with Intel's open source driver # hardware.nvidiaOptimus.disable = true; + + services.xserver.libinput.enable = lib.mkDefault true; } From f62ead1ce0874c3773fb8d762e5de3b336e8c4ac Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 12:34:24 +0000 Subject: [PATCH 076/274] samsung/np900x3c: fix evaluation, drop old kernel notes --- samsung/np900x3c/default.nix | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/samsung/np900x3c/default.nix b/samsung/np900x3c/default.nix index 73d16bd6215..8f19af57303 100644 --- a/samsung/np900x3c/default.nix +++ b/samsung/np900x3c/default.nix @@ -1,13 +1,5 @@ { lib, ... }: -with lib; + { - imports = [ ../lib/kernel-version.nix ]; - - services.xserver.synaptics.enable = true; - - kernelAtleast = singleton - { version = "3.9"; - msg = "Runtime system freezes can be expected on Linux kernels prior to 3.9, probably because of bugs in intel video drivers."; - }; - -} \ No newline at end of file + services.xserver.synaptics.enable = lib.mkDefault true; +} From 95c8873c41ef57d820b027e16db0709c050579e1 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 12:35:46 +0000 Subject: [PATCH 077/274] supermicro/a1sri-2758f: fix evaluation, drop old kernel notes --- supermicro/a1sri-2758f/default.nix | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/supermicro/a1sri-2758f/default.nix b/supermicro/a1sri-2758f/default.nix index c16c093936e..3ffdc0c6e6d 100644 --- a/supermicro/a1sri-2758f/default.nix +++ b/supermicro/a1sri-2758f/default.nix @@ -1,20 +1,9 @@ # http://www.supermicro.com/products/motherboard/Atom/X10/A1SRi-2758F.cfm -# # This board contains a TPM header, but you must supply your own module. -# -{ pkgs, lib, ... }: +{ pkgs, ... }: { - imports = [ ../lib/kernel-version.nix ]; - - environment.systemPackages = [ pkgs.ipmitool ]; boot.kernelModules = [ "ipmi_devintf" "ipmi_si" ]; - - kernelAtleast = lib.singleton - { version = "4.4"; - msg = - "ethernet driver may be buggy on older kernels, "+ - ''try 'networking.dhcpcd.extraConfig = "nolink";' if you encounter loss of link problems''; - }; + environment.systemPackages = [ pkgs.ipmitool ]; } From 721741b0c79b190259e415ea1606ced6744ee199 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 12:37:08 +0000 Subject: [PATCH 078/274] lenovo/thinkpad/t460s: fix evaluation, drop old kernel notes --- lenovo/thinkpad/t460s/default.nix | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/lenovo/thinkpad/t460s/default.nix b/lenovo/thinkpad/t460s/default.nix index 039b6a47ecc..ffe6ec33c00 100644 --- a/lenovo/thinkpad/t460s/default.nix +++ b/lenovo/thinkpad/t460s/default.nix @@ -1,31 +1,11 @@ { config, lib, pkgs, ... }: { - imports = [ - ../. - ../lib/kernel-version.nix - ]; + imports = [ ../. ]; # Use the gummiboot efi boot loader. (From default generated configuration.nix) boot.loader.systemd-boot.enable = lib.mkDefault true; boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; - # https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_T460s - kernelAtleast = [ - { version = "4.5.1"; msg = "The physical mouse buttons works incorrectly."; } - { version = "4.6"; msg = "Suspending the T460s by closing the lid when running on battery causes the machine to freeze up entirely."; } - ]; - - # For the screen. I don't know what to do with this information, but - # the hiDPI support is far from perfect (as of July 2016): - - # Resolution: 2560 x 1440 px - # Size: 12.2" × 6.86" (30.99cm × 17.43cm) - # DPI: 209.8 - # Dot Pitch: 0.1211mm - # Aspect Ratio: 16 × 9 (1.78:1) - # Pixel Count: 3,686,400 - # Megapixels: 3.69MP - services.xserver.videoDrivers = [ "intel" ]; } From bf86fda74c243c435f7fc3bfd755252c0780e68f Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 13:10:02 +0000 Subject: [PATCH 079/274] tests/build-test: allowBroken, allowUnfree allowUnfree is set to true for evaluation purposes only. --- tests/build-test.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/build-test.nix b/tests/build-test.nix index 936259f3ee9..e946b0bbef5 100644 --- a/tests/build-test.nix +++ b/tests/build-test.nix @@ -7,4 +7,9 @@ device = "/dev/disk/by-uuid/00000000-0000-0000-0000-000000000000"; fsType = "btrfs"; }; + + nixpkgs.config = { + allowBroken = true; + allowUnfree = true; + }; } From e1806b4c1bd647c181993ab332c8e47b47b66cce Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 16:11:44 +0300 Subject: [PATCH 080/274] lib: drop, fixes #16 (#37) Hardware notes are seemingly less useful than a README, and kernelAtLeast option, while potentially useful: a) is not used anywhere in the tree at the moment, b) doesn't properly work when there are multiple elements in the list, c) assumes that there are no degradations ever. --- lib/hardware-notes.nix | 45 ------------------------------------------ lib/kernel-version.nix | 31 ----------------------------- 2 files changed, 76 deletions(-) delete mode 100644 lib/hardware-notes.nix delete mode 100644 lib/kernel-version.nix diff --git a/lib/hardware-notes.nix b/lib/hardware-notes.nix deleted file mode 100644 index 4414ea3914e..00000000000 --- a/lib/hardware-notes.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - # use tail recursion to prevent whitespace padding - mkLog = list: - let - head = builtins.head list; - tail = builtins.tail list; - in - '' - # ${head.title} - ${head.text}${if tail == [] then "" else "\n\n${mkLog tail}"} - ''; -in - -{ - - options = { - hardwareNotes = mkOption { - internal = true; - type = types.listOf types.optionSet; - options = { - title = mkOption { - type = types.str; - example = "Thunkpad-2000: increase self-destruct timeout"; - }; - text = mkOption { - type = types.str; - example = - '' - Increase security timeout at boot using platform managment - tool to prevent premature data loss. - ''; - }; - }; - }; - }; - - config = { - environment.etc."hardware-notes".text = mkLog config.hardwareNotes; - }; - -} diff --git a/lib/kernel-version.nix b/lib/kernel-version.nix deleted file mode 100644 index 99115a7f75e..00000000000 --- a/lib/kernel-version.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ config, lib, ... }: -with lib; -let - cfg = config; -in -{ - options.kernelAtleast = mkOption { - type = types.listOf types.optionSet; - options = - [ { version = mkOption { - type = types.str; - example = "4.4"; - description = - "Issue warning when kernel version is below this number."; - }; - msg = mkOption { - type = types.str; - example = ""; - }; - } - ]; - }; - - config.warnings = builtins.concatLists (map - (x: if (builtins.compareVersions cfg.boot.kernelPackages.kernel.version x.version) == -1 - then [ "${x.msg} (${cfg.boot.kernelPackages.kernel.version} < ${x.version})" ] - else [ ] - ) cfg.kernelAtleast - ); - -} From b8afb99c1613987e93fe8f54548631f524187baa Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 13:26:11 +0000 Subject: [PATCH 081/274] README: drop inversepath/usbarmory from the table --- README.org | 1 - 1 file changed, 1 deletion(-) diff --git a/README.org b/README.org index 97df02cd317..a8d551ac19c 100644 --- a/README.org +++ b/README.org @@ -16,7 +16,6 @@ Then add an appropriate profile path to ~imports~ in | Apple MacBook Pro 10,1 | ~~ | | Apple MacBook Pro 12,1 | ~~ | | Dell XPS 15 9550 | ~~ | -| Inverse Path USB armory | ~~ | | Lenovo IdeaPad Z510 | ~~ | | Lenovo ThinkPad T410 | ~~ | | Lenovo ThinkPad T440p | ~~ | From f6526819a03d99854dfed3bddeb28176c81a5859 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 13:29:41 +0000 Subject: [PATCH 082/274] tests/build-test: rename to eval-test --- tests/{build-test.nix => eval-test.nix} | 0 tests/{build-test.sh => eval-test.sh} | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename tests/{build-test.nix => eval-test.nix} (100%) rename tests/{build-test.sh => eval-test.sh} (51%) diff --git a/tests/build-test.nix b/tests/eval-test.nix similarity index 100% rename from tests/build-test.nix rename to tests/eval-test.nix diff --git a/tests/build-test.sh b/tests/eval-test.sh similarity index 51% rename from tests/build-test.sh rename to tests/eval-test.sh index bd762a5d74d..d3eb3a1594b 100755 --- a/tests/build-test.sh +++ b/tests/eval-test.sh @@ -4,5 +4,5 @@ cd $(dirname $0) for profile in $(find .. -name \*.nix); do echo $profile >&2 - nixos-rebuild -I nixos-config=build-test.nix -I nixos-hardware-profile=$profile dry-build + nixos-rebuild -I nixos-config=eval-test.nix -I nixos-hardware-profile=$profile dry-build done From a95291d21d589156580f8bfdbed6190756a8f3ca Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 13:34:49 +0000 Subject: [PATCH 083/274] asus/wireless-ac1300: fix evaluation --- asus/wireless-ac1300.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/asus/wireless-ac1300.nix b/asus/wireless-ac1300.nix index 39aa1c7f89d..6e9b815a0eb 100644 --- a/asus/wireless-ac1300.nix +++ b/asus/wireless-ac1300.nix @@ -1,6 +1,4 @@ -# Use this module if you use a realtek 18812au based wifi dongle, like ASUS Wireless-AC1300 - -{ pkgs, ... }: +{ config, ... }: { boot.extraModulePackages = with config.boot.kernelPackages; [ rtl8812au ]; From f35389f4690e297c8f3cc0229f213aaaecc882b1 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 13:57:47 +0000 Subject: [PATCH 084/274] tests/eval-test: exit on failed evaluation, skip some paths --- tests/eval-test.sh | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/tests/eval-test.sh b/tests/eval-test.sh index d3eb3a1594b..72d634199d8 100755 --- a/tests/eval-test.sh +++ b/tests/eval-test.sh @@ -1,8 +1,27 @@ #!/bin/sh -cd $(dirname $0) +cd $(dirname $0)/.. -for profile in $(find .. -name \*.nix); do - echo $profile >&2 - nixos-rebuild -I nixos-config=eval-test.nix -I nixos-hardware-profile=$profile dry-build +skip_paths=( + ./inversepath/usbarmory/* + ./tests/* +) + +find=(find . -name *.nix) + +for path in ${skip_paths[@]}; do + find+=(-not -path $path) +done + +for profile in `${find[@]}`; do + echo evaluating $profile >&2 + + nixos-rebuild \ + -I nixos-config=tests/eval-test.nix \ + -I nixos-hardware-profile=$profile \ + dry-build + + if [ $? -ne 0 ]; then + exit 1 + fi done From 4570276556eb917caa75be07004ded895ea06041 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 14:12:06 +0000 Subject: [PATCH 085/274] inversepath/usbarmory: drop inappropriate comment --- inversepath/usbarmory/host.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/inversepath/usbarmory/host.nix b/inversepath/usbarmory/host.nix index eff7947075f..87d4d954d30 100644 --- a/inversepath/usbarmory/host.nix +++ b/inversepath/usbarmory/host.nix @@ -24,12 +24,11 @@ in services.udev.extraRules = ''SUBSYSTEM=="net", ACTION=="add", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a4a2", NAME="${staticDevName}"''; - # systemshit will probably still leave an a interface with a garbage name around networking = { interfaces."${staticDevName}".ip4 = [{ address = "10.0.0.2"; prefixLength = 24; }]; nat = { enable = true; internalInterfaces = [ staticDevName ]; }; extraHosts = "10.0.0.1 armory"; }; - + } From f31e4afea549646a5085aec95796a9f04036c3e1 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 14:19:38 +0000 Subject: [PATCH 086/274] apple/macbook-pro/10-1: elaborate more on NVidia driver --- apple/macbook-pro/10-1/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apple/macbook-pro/10-1/default.nix b/apple/macbook-pro/10-1/default.nix index c2fa79f571c..0fa8a2f4bc2 100644 --- a/apple/macbook-pro/10-1/default.nix +++ b/apple/macbook-pro/10-1/default.nix @@ -10,7 +10,9 @@ services.xserver = { libinput.enable = lib.mkDefault true; + # TODO: we should not enable unfree drivers + # when there is an alternative (i.e. nouveau) videoDrivers = [ "nvidia" ]; }; } From a74c9bdaf8ca2b1e5496db4fbd5780e84b5f4db0 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 14:57:53 +0000 Subject: [PATCH 087/274] acer/c720: drop empty profile --- README.org | 1 - acer/c720/README.wiki | 23 ----------------------- acer/c720/default.nix | 1 - 3 files changed, 25 deletions(-) delete mode 100644 acer/c720/README.wiki delete mode 100644 acer/c720/default.nix diff --git a/README.org b/README.org index a8d551ac19c..8f8c0eea5e8 100644 --- a/README.org +++ b/README.org @@ -11,7 +11,6 @@ Then add an appropriate profile path to ~imports~ in | Model | Path | |---------------------------+--------------------------------------------| | Acer Aspire 4810T | ~~ | -| Acer C720 | ~~ | | Airis N990 | ~~ | | Apple MacBook Pro 10,1 | ~~ | | Apple MacBook Pro 12,1 | ~~ | diff --git a/acer/c720/README.wiki b/acer/c720/README.wiki deleted file mode 100644 index 5200ab69c6c..00000000000 --- a/acer/c720/README.wiki +++ /dev/null @@ -1,23 +0,0 @@ -= Overview = -* Processor: Intel Celeron 2955U @ 1.40GHz -* Network controller: Qualcomm Atheros AR9462 - -= Configuration = -The C720 comes with a Cypress APA touchpad. Support for this touchpad was added in kernel 3.17-rc1. -In order to get the touchpad working CONFIG_CHROME_PLATFORMS needs to be enabled. - -For example, for touchpad support with the 3.18 kernel, the following should be added to /etc/nixos/configuration.nix: - - boot.kernelPackages = pkgs.linuxPackages_3_18; - nixpkgs.config.packageOverrides = pkgs: - { linux_3_18 = pkgs.linux_3_18.override { - extraConfig = - ''''''' - CHROME_PLATFORMS y - '''''''; - }; - }; - -[[Category:Installation]] -[[Category:Hardware]] -[[Category:Laptops]] diff --git a/acer/c720/default.nix b/acer/c720/default.nix deleted file mode 100644 index 0967ef424bc..00000000000 --- a/acer/c720/default.nix +++ /dev/null @@ -1 +0,0 @@ -{} From 3743ae21f52ce986c3a091f29eff13749a3a342f Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 15:13:25 +0000 Subject: [PATCH 088/274] treewide: only ever set unmergable options via lib.mkDefault Also extract documentation from raspberry-pi/2/ profile. --- acer/aspire/4810t/default.nix | 12 +++-- lenovo/ideapad/z510/default.nix | 7 ++- microsoft/surface-pro/3/default.nix | 4 +- raspberry-pi/2/README.txt | 19 +++++++ raspberry-pi/2/default.nix | 84 +++++++++-------------------- supermicro/x10sll-f/default.nix | 4 +- 6 files changed, 58 insertions(+), 72 deletions(-) create mode 100644 raspberry-pi/2/README.txt diff --git a/acer/aspire/4810t/default.nix b/acer/aspire/4810t/default.nix index b984623347d..ed0e923a85c 100644 --- a/acer/aspire/4810t/default.nix +++ b/acer/aspire/4810t/default.nix @@ -1,3 +1,5 @@ +{ lib, ... }: + { boot = { initrd.kernelModules = [ "ata_piix" ]; @@ -15,12 +17,12 @@ hardware.opengl.driSupport = false; services.xserver = { - enable = true; - defaultDepth = 24; - videoDriver = "intel"; - autorun = true; + enable = lib.mkDefault true; + defaultDepth = lib.mkDefault 24; + videoDrivers = [ "intel" ]; + autorun = lib.mkDefault true; synaptics = { - enable = true; + enable = lib.mkDefault true; dev = "/dev/input/event8"; }; }; diff --git a/lenovo/ideapad/z510/default.nix b/lenovo/ideapad/z510/default.nix index 6cc6dc6c17c..4c8edf38f21 100644 --- a/lenovo/ideapad/z510/default.nix +++ b/lenovo/ideapad/z510/default.nix @@ -1,9 +1,8 @@ -{ config, pkgs, ... }: +{ lib, ... }: { - hardware.cpu.intel.updateMicrocode = true; + hardware.cpu.intel.updateMicrocode = lib.mkDefault true; - # see https://github.com/NixOS/nixpkgs/issues/18356 - # found buggy driver with method https://wiki.ubuntu.com/DebuggingKernelSuspend + # https://github.com/NixOS/nixpkgs/issues/18356 boot.blacklistedKernelModules = [ "nouveau" ]; } diff --git a/microsoft/surface-pro/3/default.nix b/microsoft/surface-pro/3/default.nix index 48528f90c5c..70442e654e9 100644 --- a/microsoft/surface-pro/3/default.nix +++ b/microsoft/surface-pro/3/default.nix @@ -1,8 +1,8 @@ -{ ... }: +{ lib, ... }: { # to use the type cover in the initrd boot.kernelModules = [ "hid-microsoft" ]; - networking.wireless.enable = true; + networking.wireless.enable = lib.mkDefault true; } diff --git a/raspberry-pi/2/README.txt b/raspberry-pi/2/README.txt new file mode 100644 index 00000000000..49f661fae7a --- /dev/null +++ b/raspberry-pi/2/README.txt @@ -0,0 +1,19 @@ +imported from https://nixos.org/wiki/Raspberry_Pi_2 ** + +# Status +The code in master as of June 2015 should be able to prepare a bootable NixOS for Raspberry PI 2. + +There are still some drawbacks: + +NixOS does not provide a /boot/config.txt (the FAT32 partition). +Making NixOS work in the Raspberry PI 2 is mainly the result of the recent work of ambro718, Dezgeg and viric (#nixos@irc.freenode.net). + +# Download +If you want to test, you can flash this 4GB SD image (DOS partition table + fat32 + ext4 rootfs): +magnet:?xt=urn:btih:0def3f6acb3bceddb22cb24098f58e40e2853ec2&dn=rpi2-nixos-4b09501f2-img.xz&tr=udp%3A%2F%2Fopen.demonii.com%3A1337&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80 + +Then you should be able to nixos-rebuild any configuration.nix changes. + +The image is the result of a "nixos-install" alone. No root password has been set, and it does not include a nixpkgs checkout or channel. + +In fact I (viric) created the FS into a NBD, not a real SD, to create this image. diff --git a/raspberry-pi/2/default.nix b/raspberry-pi/2/default.nix index 897871eb76e..bc9ca2ab0c2 100644 --- a/raspberry-pi/2/default.nix +++ b/raspberry-pi/2/default.nix @@ -1,64 +1,32 @@ -/** imported from https://nixos.org/wiki/Raspberry_Pi_2 ** - -# Status -The code in master as of June 2015 should be able to prepare a bootable NixOS for Raspberry PI 2. - -There are still some drawbacks: - -NixOS does not provide a /boot/config.txt (the FAT32 partition). -Making NixOS work in the Raspberry PI 2 is mainly the result of the recent work of ambro718, Dezgeg and viric (#nixos@irc.freenode.net). - -# Download -If you want to test, you can flash this 4GB SD image (DOS partition table + fat32 + ext4 rootfs): -magnet:?xt=urn:btih:0def3f6acb3bceddb22cb24098f58e40e2853ec2&dn=rpi2-nixos-4b09501f2-img.xz&tr=udp%3A%2F%2Fopen.demonii.com%3A1337&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80 - -Then you should be able to nixos-rebuild any configuration.nix changes. - -The image is the result of a "nixos-install" alone. No root password has been set, and it does not include a nixpkgs checkout or channel. - -In fact I (viric) created the FS into a NBD, not a real SD, to create this image. - -*/ - -{ pkgs, config, lib, ...}: +{ lib, pkgs, ...}: { - boot.consoleLogLevel = 7; - boot.loader.grub.enable = false; - boot.loader.generationsDir.enable = false; - boot.loader.raspberryPi.enable = true; - boot.loader.raspberryPi.version = 2; - boot.extraTTYs = [ "ttyAMA0" ]; - boot.kernelPackages = pkgs.linuxPackages_rpi; - boot.kernelParams = [ - #"coherent_pool=6M" - #"smsc95xx.turbo_mode=N" - "dwc_otg.lpm_enable=0" - "console=ttyAMA0,115200" - "rootwait" - #"console=tty1" - "elevator=deadline" - ]; - - # cpufrequtils doesn't build on ARM - powerManagement.enable = false; - - services.xserver.enable = false; - services.openssh.enable = true; - - services.nixosManual.enable = false; - - nixpkgs.config = { - # Since https://github.com/NixOS/nixpkgs/commit/f0b634c7e838cdd65ac6f73933c99af3f38d0fa8 - nixpkgs.config.platform = lib.systems.platforms.raspberrypi2; - # Earlier than that, use this: - # platform = pkgs.platforms.raspberrypi2; - # Also be aware of this issue if you're encountering infinite recursion: - # https://github.com/NixOS/nixpkgs/issues/24170 - - allowUnfree = true; + boot = { + consoleLogLevel = lib.mkDefault 7; + extraTTYs = [ "ttyAMA0" ]; + kernelPackages = lib.mkDefault pkgs.linuxPackages_rpi; + kernelParams = [ + "dwc_otg.lpm_enable=0" + "console=ttyAMA0,115200" + "rootwait" + "elevator=deadline" + ]; + loader = { + grub.enable = lib.mkDefault false; + generationsDir.enable = lib.mkDefault false; + raspberryPi = { + enable = lib.mkDefault true; + version = lib.mkDefault 2; + }; + }; }; nix.buildCores = 4; - nix.binaryCaches = [ ]; + + nixpkgs.config.platform = lib.systems.platforms.raspberrypi2; + + # cpufrequtils doesn't build on ARM + powerManagement.enable = lib.mkDefault false; + + services.openssh.enable = lib.mkDefault true; } diff --git a/supermicro/x10sll-f/default.nix b/supermicro/x10sll-f/default.nix index f60e6cf6fa0..10c6cc01603 100644 --- a/supermicro/x10sll-f/default.nix +++ b/supermicro/x10sll-f/default.nix @@ -1,9 +1,7 @@ { config, pkgs, ... }: { - environment.systemPackages = with pkgs; [ - ipmitool - ]; + environment.systemPackages = with pkgs; [ ipmitool ]; boot.kernelModules = [ "jc42" "ipmi_devintf" "ipmi_si" "tpm_rng" ]; From 08e080ae11656ce0e2d6422ac19285e82b5f70a1 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 15:26:31 +0000 Subject: [PATCH 089/274] thinkpad: only enable tp_smapi on compatible ThinkPads, closes #36 --- lenovo/thinkpad/default.nix | 7 +------ lenovo/thinkpad/t410/default.nix | 2 +- lenovo/thinkpad/tp-smapi.nix | 11 +++++++++++ lenovo/thinkpad/x220/default.nix | 2 +- 4 files changed, 14 insertions(+), 8 deletions(-) create mode 100644 lenovo/thinkpad/tp-smapi.nix diff --git a/lenovo/thinkpad/default.nix b/lenovo/thinkpad/default.nix index 9b82b8b2c9f..ae9804b6718 100644 --- a/lenovo/thinkpad/default.nix +++ b/lenovo/thinkpad/default.nix @@ -1,11 +1,6 @@ -{ config, lib, pkgs, ... }: +{ lib, pkgs, ... }: { - boot = { - kernelModules = [ "tp_smapi" ]; - extraModulePackages = with config.boot.kernelPackages; [ tp_smapi ]; - }; - hardware.trackpoint.enable = lib.mkDefault true; services.tlp.enable = lib.mkDefault true; services.xserver.libinput.enable = lib.mkDefault true; diff --git a/lenovo/thinkpad/t410/default.nix b/lenovo/thinkpad/t410/default.nix index ec8cbc7f90a..568d9e65c57 100644 --- a/lenovo/thinkpad/t410/default.nix +++ b/lenovo/thinkpad/t410/default.nix @@ -1,7 +1,7 @@ { config, lib, pkgs, ... }: { - imports = [ ../. ]; + imports = [ ../. ../tp-smapi.nix ]; boot = { kernelParams = [ diff --git a/lenovo/thinkpad/tp-smapi.nix b/lenovo/thinkpad/tp-smapi.nix new file mode 100644 index 00000000000..451dd28ece0 --- /dev/null +++ b/lenovo/thinkpad/tp-smapi.nix @@ -0,0 +1,11 @@ +# tp_smapi works on ThinkPads made before 2013. See compat table: +# https://www.thinkwiki.org/wiki/Tp_smapi#Model-specific_status + +{ config, ... }: + +{ + boot = { + kernelModules = [ "tp_smapi" ]; + extraModulePackages = with config.boot.kernelPackages; [ tp_smapi ]; + }; +} diff --git a/lenovo/thinkpad/x220/default.nix b/lenovo/thinkpad/x220/default.nix index d3e723dc461..efa67fc6a82 100644 --- a/lenovo/thinkpad/x220/default.nix +++ b/lenovo/thinkpad/x220/default.nix @@ -1,7 +1,7 @@ { config, lib, pkgs, ... }: { - imports = [ ../. ]; + imports = [ ../. ../tp-smapi.nix ]; # hard disk protection if the laptop falls services.hdapsd.enable = lib.mkDefault true; From a433fd730f65e427513883865e0610c0a4c519c6 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 17:21:43 +0000 Subject: [PATCH 090/274] inversepath/usbarmory: fix evaluation --- inversepath/usbarmory/README.txt | 6 + inversepath/usbarmory/customKernel.config | 3195 ----------------- inversepath/usbarmory/default.nix | 89 +- inversepath/usbarmory/host.nix | 43 +- inversepath/usbarmory/kernel.config | 995 +++++ inversepath/usbarmory/kernel.nix | 20 + ...sbarmory_dts.patch => usbarmory-dts.patch} | 0 tests/eval-test.sh | 11 +- 8 files changed, 1073 insertions(+), 3286 deletions(-) create mode 100644 inversepath/usbarmory/README.txt delete mode 100644 inversepath/usbarmory/customKernel.config create mode 100644 inversepath/usbarmory/kernel.config create mode 100644 inversepath/usbarmory/kernel.nix rename inversepath/usbarmory/{usbarmory_dts.patch => usbarmory-dts.patch} (100%) diff --git a/inversepath/usbarmory/README.txt b/inversepath/usbarmory/README.txt new file mode 100644 index 00000000000..31922a8d751 --- /dev/null +++ b/inversepath/usbarmory/README.txt @@ -0,0 +1,6 @@ +USB Armory network interface support + +- rename the Armory USB network interface +- set Armory inteface ip to 10.0.0.2/24 +- enable NAT and forward Armory interface +- add the name 'armory' to /etc/hosts diff --git a/inversepath/usbarmory/customKernel.config b/inversepath/usbarmory/customKernel.config deleted file mode 100644 index 5c6b47fe835..00000000000 --- a/inversepath/usbarmory/customKernel.config +++ /dev/null @@ -1,3195 +0,0 @@ -# -# Automatically generated file; DO NOT EDIT. -# Linux/arm 4.4.0 Kernel Configuration -# -CONFIG_ARM=y -CONFIG_ARM_HAS_SG_CHAIN=y -CONFIG_MIGHT_HAVE_PCI=y -CONFIG_SYS_SUPPORTS_APM_EMULATION=y -CONFIG_HAVE_PROC_CPU=y -CONFIG_STACKTRACE_SUPPORT=y -CONFIG_HAVE_LATENCYTOP_SUPPORT=y -CONFIG_LOCKDEP_SUPPORT=y -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_RWSEM_XCHGADD_ALGORITHM=y -CONFIG_FIX_EARLYCON_MEM=y -CONFIG_GENERIC_HWEIGHT=y -CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_ARCH_SUPPORTS_UPROBES=y -CONFIG_VECTORS_BASE=0xffff0000 -CONFIG_ARM_PATCH_PHYS_VIRT=y -CONFIG_GENERIC_BUG=y -CONFIG_PGTABLE_LEVELS=2 -CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" -CONFIG_IRQ_WORK=y -CONFIG_BUILDTIME_EXTABLE_SORT=y - -# -# General setup -# -CONFIG_DMIID=y -CONFIG_BROKEN_ON_SMP=y -CONFIG_INIT_ENV_ARG_LIMIT=32 -CONFIG_CROSS_COMPILE="" -# CONFIG_COMPILE_TEST is not set -CONFIG_LOCALVERSION="" -CONFIG_LOCALVERSION_AUTO=y -CONFIG_HAVE_KERNEL_GZIP=y -CONFIG_HAVE_KERNEL_LZMA=y -CONFIG_HAVE_KERNEL_XZ=y -CONFIG_HAVE_KERNEL_LZO=y -CONFIG_HAVE_KERNEL_LZ4=y -CONFIG_KERNEL_GZIP=y -# CONFIG_KERNEL_LZMA is not set -# CONFIG_KERNEL_XZ is not set -# CONFIG_KERNEL_LZO is not set -# CONFIG_KERNEL_LZ4 is not set -CONFIG_DEFAULT_HOSTNAME="usbarmory" -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y -# CONFIG_POSIX_MQUEUE is not set -CONFIG_CROSS_MEMORY_ATTACH=y -CONFIG_FHANDLE=y -CONFIG_USELIB=y -CONFIG_AUDIT=y -CONFIG_HAVE_ARCH_AUDITSYSCALL=y - -# -# IRQ subsystem -# -CONFIG_GENERIC_IRQ_PROBE=y -CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_IRQ_SHOW_LEVEL=y -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_GENERIC_IRQ_CHIP=y -CONFIG_IRQ_DOMAIN=y -CONFIG_HANDLE_DOMAIN_IRQ=y -# CONFIG_IRQ_DOMAIN_DEBUG is not set -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_SPARSE_IRQ=y -CONFIG_GENERIC_CLOCKEVENTS=y - -# -# Timers subsystem -# -CONFIG_TICK_ONESHOT=y -CONFIG_NO_HZ_COMMON=y -# CONFIG_HZ_PERIODIC is not set -CONFIG_NO_HZ_IDLE=y -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y - -# -# CPU/Task time and stats accounting -# -CONFIG_TICK_CPU_ACCOUNTING=y -# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set -# CONFIG_IRQ_TIME_ACCOUNTING is not set -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_TASKSTATS is not set - -# -# RCU Subsystem -# -CONFIG_PREEMPT_RCU=y -# CONFIG_RCU_EXPERT is not set -CONFIG_SRCU=y -# CONFIG_TASKS_RCU is not set -CONFIG_RCU_STALL_COMMON=y -# CONFIG_TREE_RCU_TRACE is not set -# CONFIG_RCU_EXPEDITE_BOOT is not set -CONFIG_BUILD_BIN2C=y -CONFIG_IKCONFIG=m -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_GENERIC_SCHED_CLOCK=y -CONFIG_CGROUPS=y -# CONFIG_CGROUP_DEBUG is not set -# CONFIG_CGROUP_FREEZER is not set -# CONFIG_CGROUP_PIDS is not set -# CONFIG_CGROUP_DEVICE is not set -# CONFIG_CPUSETS is not set -# CONFIG_CGROUP_CPUACCT is not set -# CONFIG_MEMCG is not set -# CONFIG_CGROUP_SCHED is not set -# CONFIG_BLK_CGROUP is not set -# CONFIG_CHECKPOINT_RESTORE is not set -CONFIG_NAMESPACES=y -CONFIG_UTS_NS=y -CONFIG_IPC_NS=y -# CONFIG_USER_NS is not set -CONFIG_PID_NS=y -CONFIG_NET_NS=y -# CONFIG_SCHED_AUTOGROUP is not set -# CONFIG_SYSFS_DEPRECATED is not set -# CONFIG_RELAY is not set -CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="" -CONFIG_RD_GZIP=y -# CONFIG_RD_BZIP2 is not set -# CONFIG_RD_LZMA is not set -# CONFIG_RD_XZ is not set -# CONFIG_RD_LZO is not set -# CONFIG_RD_LZ4 is not set -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_SYSCTL=y -CONFIG_ANON_INODES=y -CONFIG_HAVE_UID16=y -CONFIG_BPF=y -CONFIG_EXPERT=y -CONFIG_UID16=y -CONFIG_MULTIUSER=y -# CONFIG_SGETMASK_SYSCALL is not set -CONFIG_SYSFS_SYSCALL=y -CONFIG_SYSCTL_SYSCALL=y -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_ALL is not set -CONFIG_PRINTK=y -CONFIG_BUG=y -CONFIG_ELF_CORE=y -CONFIG_BASE_FULL=y -CONFIG_FUTEX=y -CONFIG_EPOLL=y -CONFIG_SIGNALFD=y -CONFIG_TIMERFD=y -CONFIG_EVENTFD=y -# CONFIG_BPF_SYSCALL is not set -CONFIG_SHMEM=y -CONFIG_AIO=y -CONFIG_ADVISE_SYSCALLS=y -# CONFIG_USERFAULTFD is not set -CONFIG_MEMBARRIER=y -CONFIG_EMBEDDED=y -CONFIG_HAVE_PERF_EVENTS=y -CONFIG_PERF_USE_VMALLOC=y - -# -# Kernel Performance Events And Counters -# -# CONFIG_PERF_EVENTS is not set -CONFIG_VM_EVENT_COUNTERS=y -# CONFIG_SLUB_DEBUG is not set -CONFIG_COMPAT_BRK=y -# CONFIG_SLAB is not set -CONFIG_SLUB=y -# CONFIG_SLOB is not set -# CONFIG_SYSTEM_DATA_VERIFICATION is not set -# CONFIG_PROFILING is not set -CONFIG_HAVE_OPROFILE=y -# CONFIG_KPROBES is not set -CONFIG_JUMP_LABEL=y -# CONFIG_STATIC_KEYS_SELFTEST is not set -# CONFIG_UPROBES is not set -# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set -CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y -CONFIG_ARCH_USE_BUILTIN_BSWAP=y -CONFIG_HAVE_KPROBES=y -CONFIG_HAVE_KRETPROBES=y -CONFIG_HAVE_OPTPROBES=y -CONFIG_HAVE_ARCH_TRACEHOOK=y -CONFIG_HAVE_DMA_ATTRS=y -CONFIG_HAVE_DMA_CONTIGUOUS=y -CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_GENERIC_IDLE_POLL_SETUP=y -CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y -CONFIG_HAVE_CLK=y -CONFIG_HAVE_DMA_API_DEBUG=y -CONFIG_HAVE_PERF_REGS=y -CONFIG_HAVE_PERF_USER_STACK_DUMP=y -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y -CONFIG_HAVE_ARCH_SECCOMP_FILTER=y -CONFIG_SECCOMP_FILTER=y -CONFIG_HAVE_CC_STACKPROTECTOR=y -# CONFIG_CC_STACKPROTECTOR is not set -CONFIG_CC_STACKPROTECTOR_NONE=y -# CONFIG_CC_STACKPROTECTOR_REGULAR is not set -# CONFIG_CC_STACKPROTECTOR_STRONG is not set -CONFIG_HAVE_CONTEXT_TRACKING=y -CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y -CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y -CONFIG_HAVE_MOD_ARCH_SPECIFIC=y -CONFIG_MODULES_USE_ELF_REL=y -CONFIG_ARCH_HAS_ELF_RANDOMIZE=y -CONFIG_CLONE_BACKWARDS=y -CONFIG_OLD_SIGSUSPEND3=y -CONFIG_OLD_SIGACTION=y - -# -# GCOV-based kernel profiling -# -# CONFIG_GCOV_KERNEL is not set -CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y -CONFIG_HAVE_GENERIC_DMA_COHERENT=y -CONFIG_RT_MUTEXES=y -CONFIG_BASE_SMALL=0 -CONFIG_MODULES=y -# CONFIG_MODULE_FORCE_LOAD is not set -CONFIG_MODULE_UNLOAD=y -CONFIG_MODULE_FORCE_UNLOAD=y -CONFIG_MODVERSIONS=y -# CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_MODULE_SIG is not set -# CONFIG_MODULE_COMPRESS is not set -CONFIG_BLOCK=y -CONFIG_LBDAF=y -# CONFIG_BLK_DEV_BSG is not set -# CONFIG_BLK_DEV_BSGLIB is not set -# CONFIG_BLK_DEV_INTEGRITY is not set -CONFIG_BLK_CMDLINE_PARSER=y - -# -# Partition Types -# -CONFIG_PARTITION_ADVANCED=y -# CONFIG_ACORN_PARTITION is not set -# CONFIG_AIX_PARTITION is not set -# CONFIG_OSF_PARTITION is not set -# CONFIG_AMIGA_PARTITION is not set -# CONFIG_ATARI_PARTITION is not set -# CONFIG_MAC_PARTITION is not set -CONFIG_MSDOS_PARTITION=y -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_MINIX_SUBPARTITION is not set -# CONFIG_SOLARIS_X86_PARTITION is not set -# CONFIG_UNIXWARE_DISKLABEL is not set -# CONFIG_LDM_PARTITION is not set -# CONFIG_SGI_PARTITION is not set -# CONFIG_ULTRIX_PARTITION is not set -# CONFIG_SUN_PARTITION is not set -# CONFIG_KARMA_PARTITION is not set -CONFIG_EFI_PARTITION=y -# CONFIG_SYSV68_PARTITION is not set -CONFIG_CMDLINE_PARTITION=y - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -CONFIG_IOSCHED_DEADLINE=m -CONFIG_IOSCHED_CFQ=m -CONFIG_DEFAULT_NOOP=y -CONFIG_DEFAULT_IOSCHED="noop" -CONFIG_ASN1=m -CONFIG_UNINLINE_SPIN_UNLOCK=y -CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y -CONFIG_FREEZER=y - -# -# System Type -# -CONFIG_MMU=y -CONFIG_ARCH_MULTIPLATFORM=y -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_GEMINI is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_EP93XX is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_IOP13XX is not set -# CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set -# CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_DOVE is not set -# CONFIG_ARCH_MV78XX0 is not set -# CONFIG_ARCH_ORION5X is not set -# CONFIG_ARCH_MMP is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_W90X900 is not set -# CONFIG_ARCH_LPC32XX is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C24XX is not set -# CONFIG_ARCH_S3C64XX is not set -# CONFIG_ARCH_DAVINCI is not set -# CONFIG_ARCH_OMAP1 is not set - -# -# Multiple platform selection -# - -# -# CPU Core family selection -# -# CONFIG_ARCH_MULTI_V6 is not set -CONFIG_ARCH_MULTI_V7=y -CONFIG_ARCH_MULTI_V6_V7=y -# CONFIG_ARCH_MULTI_CPU_AUTO is not set -# CONFIG_ARCH_VIRT is not set -# CONFIG_ARCH_MVEBU is not set -# CONFIG_ARCH_ALPINE is not set -# CONFIG_ARCH_AT91 is not set -# CONFIG_ARCH_BCM is not set -# CONFIG_ARCH_BERLIN is not set -# CONFIG_ARCH_DIGICOLOR is not set -# CONFIG_ARCH_HIGHBANK is not set -# CONFIG_ARCH_HISI is not set -# CONFIG_ARCH_KEYSTONE is not set -# CONFIG_ARCH_MESON is not set -CONFIG_ARCH_MXC=y -CONFIG_MXC_TZIC=y -CONFIG_HAVE_IMX_SRC=y - -# -# Device tree only -# - -# -# Cortex-A platforms -# -CONFIG_SOC_IMX5=y -# CONFIG_SOC_IMX50 is not set -# CONFIG_SOC_IMX51 is not set -CONFIG_SOC_IMX53=y -# CONFIG_SOC_IMX6Q is not set -# CONFIG_SOC_IMX6SL is not set -# CONFIG_SOC_IMX6SX is not set -# CONFIG_SOC_IMX6UL is not set -# CONFIG_SOC_IMX7D is not set -# CONFIG_SOC_LS1021A is not set - -# -# Cortex-A/Cortex-M asymmetric multiprocessing platforms -# -# CONFIG_SOC_VF610 is not set -# CONFIG_ARCH_MEDIATEK is not set - -# -# TI OMAP/AM/DM/DRA Family -# -# CONFIG_ARCH_OMAP3 is not set -# CONFIG_ARCH_OMAP4 is not set -# CONFIG_SOC_OMAP5 is not set -# CONFIG_SOC_AM33XX is not set -# CONFIG_SOC_AM43XX is not set -# CONFIG_SOC_DRA7XX is not set -# CONFIG_ARCH_QCOM is not set -# CONFIG_ARCH_ROCKCHIP is not set -# CONFIG_ARCH_SOCFPGA is not set -# CONFIG_PLAT_SPEAR is not set -# CONFIG_ARCH_STI is not set -# CONFIG_ARCH_S5PV210 is not set -# CONFIG_ARCH_EXYNOS is not set -# CONFIG_ARCH_SHMOBILE_MULTI is not set -# CONFIG_ARCH_SUNXI is not set -# CONFIG_ARCH_SIRF is not set -# CONFIG_ARCH_TEGRA is not set -# CONFIG_ARCH_UNIPHIER is not set -# CONFIG_ARCH_U8500 is not set -# CONFIG_ARCH_VEXPRESS is not set -# CONFIG_ARCH_WM8850 is not set -# CONFIG_ARCH_ZX is not set -# CONFIG_ARCH_ZYNQ is not set - -# -# Processor Type -# -CONFIG_CPU_V7=y -CONFIG_CPU_32v6K=y -CONFIG_CPU_32v7=y -CONFIG_CPU_ABRT_EV7=y -CONFIG_CPU_PABRT_V7=y -CONFIG_CPU_CACHE_V7=y -CONFIG_CPU_CACHE_VIPT=y -CONFIG_CPU_COPY_V6=y -CONFIG_CPU_TLB_V7=y -CONFIG_CPU_HAS_ASID=y -CONFIG_CPU_CP15=y -CONFIG_CPU_CP15_MMU=y - -# -# Processor Features -# -# CONFIG_ARM_LPAE is not set -# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set -CONFIG_ARM_THUMB=y -# CONFIG_ARM_THUMBEE is not set -CONFIG_ARM_VIRT_EXT=y -# CONFIG_SWP_EMULATE is not set -# CONFIG_CPU_ICACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_CPU_BPREDICT_DISABLE is not set -CONFIG_KUSER_HELPERS=y -# CONFIG_VDSO is not set -CONFIG_OUTER_CACHE=y -CONFIG_OUTER_CACHE_SYNC=y -CONFIG_MIGHT_HAVE_CACHE_L2X0=y -CONFIG_CACHE_L2X0=y -# CONFIG_PL310_ERRATA_588369 is not set -# CONFIG_PL310_ERRATA_727915 is not set -# CONFIG_PL310_ERRATA_753970 is not set -# CONFIG_PL310_ERRATA_769419 is not set -CONFIG_ARM_L1_CACHE_SHIFT_6=y -CONFIG_ARM_L1_CACHE_SHIFT=6 -CONFIG_ARM_DMA_MEM_BUFFERABLE=y -CONFIG_ARM_HEAVY_MB=y -# CONFIG_ARM_KERNMEM_PERMS is not set -CONFIG_MULTI_IRQ_HANDLER=y -# CONFIG_ARM_ERRATA_430973 is not set -# CONFIG_ARM_ERRATA_720789 is not set -# CONFIG_ARM_ERRATA_754322 is not set -# CONFIG_ARM_ERRATA_775420 is not set -# CONFIG_ARM_ERRATA_773022 is not set - -# -# Bus support -# -# CONFIG_PCI is not set -# CONFIG_PCI_DOMAINS_GENERIC is not set -# CONFIG_PCI_SYSCALL is not set -# CONFIG_PCCARD is not set - -# -# Kernel Features -# -CONFIG_HAVE_SMP=y -# CONFIG_SMP is not set -# CONFIG_HAVE_ARM_ARCH_TIMER is not set -# CONFIG_VMSPLIT_3G is not set -# CONFIG_VMSPLIT_3G_OPT is not set -CONFIG_VMSPLIT_2G=y -# CONFIG_VMSPLIT_1G is not set -CONFIG_PAGE_OFFSET=0x80000000 -# CONFIG_ARM_PSCI is not set -CONFIG_ARCH_NR_GPIO=0 -# CONFIG_PREEMPT_NONE is not set -# CONFIG_PREEMPT_VOLUNTARY is not set -CONFIG_PREEMPT=y -CONFIG_PREEMPT_COUNT=y -CONFIG_HZ_FIXED=0 -CONFIG_HZ_100=y -# CONFIG_HZ_200 is not set -# CONFIG_HZ_250 is not set -# CONFIG_HZ_300 is not set -# CONFIG_HZ_500 is not set -# CONFIG_HZ_1000 is not set -CONFIG_HZ=100 -CONFIG_SCHED_HRTICK=y -# CONFIG_THUMB2_KERNEL is not set -CONFIG_AEABI=y -# CONFIG_OABI_COMPAT is not set -# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set -# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set -CONFIG_HAVE_ARCH_PFN_VALID=y -# CONFIG_HIGHMEM is not set -CONFIG_CPU_SW_DOMAIN_PAN=y -CONFIG_ARCH_WANT_GENERAL_HUGETLB=y -# CONFIG_ARM_MODULE_PLTS is not set -CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_NO_BOOTMEM=y -# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set -CONFIG_SPLIT_PTLOCK_CPUS=4 -CONFIG_COMPACTION=y -CONFIG_MIGRATION=y -# CONFIG_PHYS_ADDR_T_64BIT is not set -CONFIG_ZONE_DMA_FLAG=0 -CONFIG_KSM=y -CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 -CONFIG_NEED_PER_CPU_KM=y -CONFIG_CLEANCACHE=y -# CONFIG_FRONTSWAP is not set -# CONFIG_CMA is not set -CONFIG_ZPOOL=m -CONFIG_ZBUD=m -CONFIG_ZSMALLOC=m -# CONFIG_PGTABLE_MAPPING is not set -# CONFIG_ZSMALLOC_STAT is not set -# CONFIG_IDLE_PAGE_TRACKING is not set -CONFIG_FORCE_MAX_ZONEORDER=11 -CONFIG_ALIGNMENT_TRAP=y -# CONFIG_UACCESS_WITH_MEMCPY is not set -CONFIG_SECCOMP=y -CONFIG_SWIOTLB=y -CONFIG_IOMMU_HELPER=y -# CONFIG_XEN is not set - -# -# Boot options -# -CONFIG_USE_OF=y -CONFIG_ATAGS=y -# CONFIG_DEPRECATED_PARAM_STRUCT is not set -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -# CONFIG_ARM_APPENDED_DTB is not set -CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mmcblk0p1 rw rootfstype=ext4 ip=off" -CONFIG_CMDLINE_FROM_BOOTLOADER=y -# CONFIG_CMDLINE_EXTEND is not set -# CONFIG_CMDLINE_FORCE is not set -# CONFIG_KEXEC is not set -# CONFIG_CRASH_DUMP is not set -CONFIG_AUTO_ZRELADDR=y - -# -# CPU Power Management -# - -# -# CPU Frequency scaling -# -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_GOV_COMMON=y -CONFIG_CPU_FREQ_STAT=m -# CONFIG_CPU_FREQ_STAT_DETAILS is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set -# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set -CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y -# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=m -CONFIG_CPU_FREQ_GOV_USERSPACE=m -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m - -# -# CPU frequency scaling drivers -# -CONFIG_CPUFREQ_DT=y -# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set -# CONFIG_QORIQ_CPUFREQ is not set - -# -# CPU Idle -# -CONFIG_CPU_IDLE=y -CONFIG_CPU_IDLE_GOV_LADDER=y -CONFIG_CPU_IDLE_GOV_MENU=y - -# -# ARM CPU Idle Drivers -# -# CONFIG_ARM_CPUIDLE is not set -# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set - -# -# Floating point emulation -# - -# -# At least one emulation must be selected -# -CONFIG_VFP=y -CONFIG_VFPv3=y -CONFIG_NEON=y -# CONFIG_KERNEL_MODE_NEON is not set - -# -# Userspace binary formats -# -CONFIG_BINFMT_ELF=y -# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set -CONFIG_BINFMT_SCRIPT=y -# CONFIG_HAVE_AOUT is not set -# CONFIG_BINFMT_MISC is not set -CONFIG_COREDUMP=y - -# -# Power management options -# -# CONFIG_SUSPEND is not set -CONFIG_HIBERNATE_CALLBACKS=y -CONFIG_HIBERNATION=y -CONFIG_PM_STD_PARTITION="" -CONFIG_PM_SLEEP=y -# CONFIG_PM_AUTOSLEEP is not set -# CONFIG_PM_WAKELOCKS is not set -CONFIG_PM=y -# CONFIG_PM_DEBUG is not set -# CONFIG_APM_EMULATION is not set -CONFIG_PM_OPP=y -CONFIG_PM_CLK=y -# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set -CONFIG_CPU_PM=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ARM_CPU_SUSPEND=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_NET=y -CONFIG_NET_INGRESS=y - -# -# Networking options -# -CONFIG_PACKET=y -# CONFIG_PACKET_DIAG is not set -CONFIG_UNIX=y -# CONFIG_UNIX_DIAG is not set -CONFIG_XFRM=y -CONFIG_XFRM_ALGO=m -CONFIG_XFRM_USER=m -CONFIG_XFRM_SUB_POLICY=y -CONFIG_XFRM_MIGRATE=y -CONFIG_XFRM_STATISTICS=y -CONFIG_XFRM_IPCOMP=m -CONFIG_NET_KEY=m -CONFIG_NET_KEY_MIGRATE=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_ADVANCED_ROUTER=y -# CONFIG_IP_FIB_TRIE_STATS is not set -CONFIG_IP_MULTIPLE_TABLES=y -# CONFIG_IP_ROUTE_MULTIPATH is not set -# CONFIG_IP_ROUTE_VERBOSE is not set -# CONFIG_IP_PNP is not set -CONFIG_NET_IPIP=m -CONFIG_NET_IPGRE_DEMUX=m -CONFIG_NET_IP_TUNNEL=m -CONFIG_NET_IPGRE=m -CONFIG_NET_IPGRE_BROADCAST=y -# CONFIG_IP_MROUTE is not set -CONFIG_SYN_COOKIES=y -CONFIG_NET_IPVTI=m -CONFIG_NET_UDP_TUNNEL=m -CONFIG_NET_FOU=m -CONFIG_NET_FOU_IP_TUNNELS=y -CONFIG_INET_AH=m -CONFIG_INET_ESP=m -CONFIG_INET_IPCOMP=m -CONFIG_INET_XFRM_TUNNEL=m -CONFIG_INET_TUNNEL=m -CONFIG_INET_XFRM_MODE_TRANSPORT=m -CONFIG_INET_XFRM_MODE_TUNNEL=m -CONFIG_INET_XFRM_MODE_BEET=m -# CONFIG_INET_LRO is not set -CONFIG_INET_DIAG=y -CONFIG_INET_TCP_DIAG=y -CONFIG_INET_UDP_DIAG=m -CONFIG_TCP_CONG_ADVANCED=y -CONFIG_TCP_CONG_BIC=m -CONFIG_TCP_CONG_CUBIC=y -CONFIG_TCP_CONG_WESTWOOD=m -CONFIG_TCP_CONG_HTCP=m -CONFIG_TCP_CONG_HSTCP=m -CONFIG_TCP_CONG_HYBLA=m -CONFIG_TCP_CONG_VEGAS=m -CONFIG_TCP_CONG_SCALABLE=m -CONFIG_TCP_CONG_LP=m -CONFIG_TCP_CONG_VENO=m -CONFIG_TCP_CONG_YEAH=m -CONFIG_TCP_CONG_ILLINOIS=m -# CONFIG_TCP_CONG_DCTCP is not set -# CONFIG_TCP_CONG_CDG is not set -CONFIG_DEFAULT_CUBIC=y -# CONFIG_DEFAULT_RENO is not set -CONFIG_DEFAULT_TCP_CONG="cubic" -CONFIG_TCP_MD5SIG=y -CONFIG_IPV6=m -CONFIG_IPV6_ROUTER_PREF=y -CONFIG_IPV6_ROUTE_INFO=y -CONFIG_IPV6_OPTIMISTIC_DAD=y -CONFIG_INET6_AH=m -CONFIG_INET6_ESP=m -CONFIG_INET6_IPCOMP=m -CONFIG_IPV6_MIP6=m -# CONFIG_IPV6_ILA is not set -CONFIG_INET6_XFRM_TUNNEL=m -CONFIG_INET6_TUNNEL=m -CONFIG_INET6_XFRM_MODE_TRANSPORT=m -CONFIG_INET6_XFRM_MODE_TUNNEL=m -CONFIG_INET6_XFRM_MODE_BEET=m -CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m -CONFIG_IPV6_VTI=m -CONFIG_IPV6_SIT=m -CONFIG_IPV6_SIT_6RD=y -CONFIG_IPV6_NDISC_NODETYPE=y -CONFIG_IPV6_TUNNEL=m -CONFIG_IPV6_GRE=m -CONFIG_IPV6_MULTIPLE_TABLES=y -CONFIG_IPV6_SUBTREES=y -CONFIG_IPV6_MROUTE=y -# CONFIG_IPV6_MROUTE_MULTIPLE_TABLES is not set -# CONFIG_IPV6_PIMSM_V2 is not set -# CONFIG_NETLABEL is not set -# CONFIG_NETWORK_SECMARK is not set -# CONFIG_NET_PTP_CLASSIFY is not set -# CONFIG_NETWORK_PHY_TIMESTAMPING is not set -CONFIG_NETFILTER=y -# CONFIG_NETFILTER_DEBUG is not set -CONFIG_NETFILTER_ADVANCED=y -CONFIG_BRIDGE_NETFILTER=m - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_INGRESS=y -CONFIG_NETFILTER_NETLINK=m -# CONFIG_NETFILTER_NETLINK_ACCT is not set -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -# CONFIG_NETFILTER_NETLINK_LOG is not set -CONFIG_NF_CONNTRACK=m -CONFIG_NF_LOG_COMMON=m -CONFIG_NF_CONNTRACK_MARK=y -CONFIG_NF_CONNTRACK_PROCFS=y -# CONFIG_NF_CONNTRACK_EVENTS is not set -# CONFIG_NF_CONNTRACK_TIMEOUT is not set -# CONFIG_NF_CONNTRACK_TIMESTAMP is not set -# CONFIG_NF_CT_PROTO_DCCP is not set -CONFIG_NF_CT_PROTO_GRE=m -# CONFIG_NF_CT_PROTO_SCTP is not set -# CONFIG_NF_CT_PROTO_UDPLITE is not set -# CONFIG_NF_CONNTRACK_AMANDA is not set -CONFIG_NF_CONNTRACK_FTP=m -CONFIG_NF_CONNTRACK_H323=m -CONFIG_NF_CONNTRACK_IRC=m -CONFIG_NF_CONNTRACK_BROADCAST=m -CONFIG_NF_CONNTRACK_NETBIOS_NS=m -CONFIG_NF_CONNTRACK_SNMP=m -CONFIG_NF_CONNTRACK_PPTP=m -CONFIG_NF_CONNTRACK_SANE=m -CONFIG_NF_CONNTRACK_SIP=m -CONFIG_NF_CONNTRACK_TFTP=m -CONFIG_NF_CT_NETLINK=m -CONFIG_NF_CT_NETLINK_TIMEOUT=m -CONFIG_NF_NAT=m -CONFIG_NF_NAT_NEEDED=y -# CONFIG_NF_NAT_AMANDA is not set -CONFIG_NF_NAT_FTP=m -CONFIG_NF_NAT_IRC=m -CONFIG_NF_NAT_SIP=m -CONFIG_NF_NAT_TFTP=m -CONFIG_NF_NAT_REDIRECT=m -CONFIG_NETFILTER_SYNPROXY=m -# CONFIG_NF_TABLES is not set -CONFIG_NETFILTER_XTABLES=m - -# -# Xtables combined modules -# -# CONFIG_NETFILTER_XT_MARK is not set -# CONFIG_NETFILTER_XT_CONNMARK is not set - -# -# Xtables targets -# -# CONFIG_NETFILTER_XT_TARGET_CHECKSUM is not set -# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set -# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set -# CONFIG_NETFILTER_XT_TARGET_CT is not set -# CONFIG_NETFILTER_XT_TARGET_DSCP is not set -CONFIG_NETFILTER_XT_TARGET_HL=m -# CONFIG_NETFILTER_XT_TARGET_HMARK is not set -# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set -CONFIG_NETFILTER_XT_TARGET_LED=m -# CONFIG_NETFILTER_XT_TARGET_LOG is not set -# CONFIG_NETFILTER_XT_TARGET_MARK is not set -CONFIG_NETFILTER_XT_NAT=m -CONFIG_NETFILTER_XT_TARGET_NETMAP=m -# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set -# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set -# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set -# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set -CONFIG_NETFILTER_XT_TARGET_REDIRECT=m -CONFIG_NETFILTER_XT_TARGET_TEE=m -CONFIG_NETFILTER_XT_TARGET_TPROXY=m -# CONFIG_NETFILTER_XT_TARGET_TRACE is not set -CONFIG_NETFILTER_XT_TARGET_TCPMSS=m -# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set - -# -# Xtables matches -# -# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set -CONFIG_NETFILTER_XT_MATCH_BPF=m -CONFIG_NETFILTER_XT_MATCH_CGROUP=m -# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set -# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set -# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set -# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set -# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set -# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set -# CONFIG_NETFILTER_XT_MATCH_CPU is not set -# CONFIG_NETFILTER_XT_MATCH_DCCP is not set -# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set -# CONFIG_NETFILTER_XT_MATCH_DSCP is not set -CONFIG_NETFILTER_XT_MATCH_ECN=m -CONFIG_NETFILTER_XT_MATCH_ESP=m -# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_HELPER is not set -CONFIG_NETFILTER_XT_MATCH_HL=m -# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set -CONFIG_NETFILTER_XT_MATCH_IPRANGE=m -# CONFIG_NETFILTER_XT_MATCH_L2TP is not set -CONFIG_NETFILTER_XT_MATCH_LENGTH=m -# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set -CONFIG_NETFILTER_XT_MATCH_MAC=m -# CONFIG_NETFILTER_XT_MATCH_MARK is not set -CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set -# CONFIG_NETFILTER_XT_MATCH_OSF is not set -CONFIG_NETFILTER_XT_MATCH_OWNER=m -CONFIG_NETFILTER_XT_MATCH_POLICY=m -# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set -CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m -# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set -# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set -# CONFIG_NETFILTER_XT_MATCH_REALM is not set -# CONFIG_NETFILTER_XT_MATCH_RECENT is not set -# CONFIG_NETFILTER_XT_MATCH_SCTP is not set -# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set -CONFIG_NETFILTER_XT_MATCH_STATE=m -CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -CONFIG_NETFILTER_XT_MATCH_STRING=m -CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -CONFIG_NETFILTER_XT_MATCH_TIME=m -CONFIG_NETFILTER_XT_MATCH_U32=m -# CONFIG_IP_SET is not set -# CONFIG_IP_VS is not set - -# -# IP: Netfilter Configuration -# -CONFIG_NF_DEFRAG_IPV4=m -CONFIG_NF_CONNTRACK_IPV4=m -CONFIG_NF_CONNTRACK_PROC_COMPAT=y -CONFIG_NF_DUP_IPV4=m -CONFIG_NF_LOG_ARP=m -CONFIG_NF_LOG_IPV4=m -CONFIG_NF_REJECT_IPV4=m -CONFIG_NF_NAT_IPV4=m -CONFIG_NF_NAT_MASQUERADE_IPV4=m -CONFIG_NF_NAT_SNMP_BASIC=m -CONFIG_NF_NAT_PROTO_GRE=m -CONFIG_NF_NAT_PPTP=m -CONFIG_NF_NAT_H323=m -CONFIG_IP_NF_IPTABLES=m -CONFIG_IP_NF_MATCH_AH=m -CONFIG_IP_NF_MATCH_ECN=m -CONFIG_IP_NF_MATCH_RPFILTER=m -CONFIG_IP_NF_MATCH_TTL=m -CONFIG_IP_NF_FILTER=m -CONFIG_IP_NF_TARGET_REJECT=m -CONFIG_IP_NF_TARGET_SYNPROXY=m -CONFIG_IP_NF_NAT=m -CONFIG_IP_NF_TARGET_MASQUERADE=m -CONFIG_IP_NF_TARGET_NETMAP=m -CONFIG_IP_NF_TARGET_REDIRECT=m -CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_TARGET_CLUSTERIP=m -CONFIG_IP_NF_TARGET_ECN=m -CONFIG_IP_NF_TARGET_TTL=m -CONFIG_IP_NF_RAW=m -# CONFIG_IP_NF_SECURITY is not set -CONFIG_IP_NF_ARPTABLES=m -CONFIG_IP_NF_ARPFILTER=m -CONFIG_IP_NF_ARP_MANGLE=m - -# -# IPv6: Netfilter Configuration -# -CONFIG_NF_DEFRAG_IPV6=m -CONFIG_NF_CONNTRACK_IPV6=m -CONFIG_NF_DUP_IPV6=m -CONFIG_NF_REJECT_IPV6=m -CONFIG_NF_LOG_IPV6=m -CONFIG_NF_NAT_IPV6=m -CONFIG_NF_NAT_MASQUERADE_IPV6=m -CONFIG_IP6_NF_IPTABLES=m -CONFIG_IP6_NF_MATCH_AH=m -CONFIG_IP6_NF_MATCH_EUI64=m -CONFIG_IP6_NF_MATCH_FRAG=m -CONFIG_IP6_NF_MATCH_OPTS=m -CONFIG_IP6_NF_MATCH_HL=m -CONFIG_IP6_NF_MATCH_IPV6HEADER=m -CONFIG_IP6_NF_MATCH_MH=m -# CONFIG_IP6_NF_MATCH_RPFILTER is not set -CONFIG_IP6_NF_MATCH_RT=m -# CONFIG_IP6_NF_TARGET_HL is not set -CONFIG_IP6_NF_FILTER=m -CONFIG_IP6_NF_TARGET_REJECT=m -CONFIG_IP6_NF_TARGET_SYNPROXY=m -CONFIG_IP6_NF_MANGLE=m -CONFIG_IP6_NF_RAW=m -# CONFIG_IP6_NF_SECURITY is not set -CONFIG_IP6_NF_NAT=m -CONFIG_IP6_NF_TARGET_MASQUERADE=m -CONFIG_IP6_NF_TARGET_NPT=m -# CONFIG_BRIDGE_NF_EBTABLES is not set -# CONFIG_IP_DCCP is not set -# CONFIG_IP_SCTP is not set -# CONFIG_RDS is not set -# CONFIG_TIPC is not set -# CONFIG_ATM is not set -CONFIG_L2TP=m -# CONFIG_L2TP_DEBUGFS is not set -# CONFIG_L2TP_V3 is not set -CONFIG_STP=m -CONFIG_BRIDGE=m -CONFIG_BRIDGE_IGMP_SNOOPING=y -# CONFIG_BRIDGE_VLAN_FILTERING is not set -CONFIG_HAVE_NET_DSA=y -CONFIG_VLAN_8021Q=m -# CONFIG_VLAN_8021Q_GVRP is not set -# CONFIG_VLAN_8021Q_MVRP is not set -# CONFIG_DECNET is not set -CONFIG_LLC=m -# CONFIG_LLC2 is not set -# CONFIG_IPX is not set -# CONFIG_ATALK is not set -# CONFIG_X25 is not set -# CONFIG_LAPB is not set -# CONFIG_PHONET is not set -# CONFIG_6LOWPAN is not set -# CONFIG_IEEE802154 is not set -CONFIG_NET_SCHED=y - -# -# Queueing/Scheduling -# -CONFIG_NET_SCH_CBQ=m -CONFIG_NET_SCH_HTB=m -CONFIG_NET_SCH_HFSC=m -# CONFIG_NET_SCH_PRIO is not set -# CONFIG_NET_SCH_MULTIQ is not set -CONFIG_NET_SCH_RED=m -# CONFIG_NET_SCH_SFB is not set -# CONFIG_NET_SCH_SFQ is not set -# CONFIG_NET_SCH_TEQL is not set -# CONFIG_NET_SCH_TBF is not set -# CONFIG_NET_SCH_GRED is not set -# CONFIG_NET_SCH_DSMARK is not set -CONFIG_NET_SCH_NETEM=m -# CONFIG_NET_SCH_DRR is not set -# CONFIG_NET_SCH_MQPRIO is not set -# CONFIG_NET_SCH_CHOKE is not set -# CONFIG_NET_SCH_QFQ is not set -# CONFIG_NET_SCH_CODEL is not set -# CONFIG_NET_SCH_FQ_CODEL is not set -# CONFIG_NET_SCH_FQ is not set -# CONFIG_NET_SCH_HHF is not set -# CONFIG_NET_SCH_PIE is not set -# CONFIG_NET_SCH_PLUG is not set - -# -# Classification -# -CONFIG_NET_CLS=y -# CONFIG_NET_CLS_BASIC is not set -# CONFIG_NET_CLS_TCINDEX is not set -# CONFIG_NET_CLS_ROUTE4 is not set -CONFIG_NET_CLS_FW=m -# CONFIG_NET_CLS_U32 is not set -# CONFIG_NET_CLS_RSVP is not set -# CONFIG_NET_CLS_RSVP6 is not set -# CONFIG_NET_CLS_FLOW is not set -CONFIG_NET_CLS_CGROUP=m -CONFIG_NET_CLS_BPF=m -# CONFIG_NET_CLS_FLOWER is not set -# CONFIG_NET_EMATCH is not set -# CONFIG_NET_CLS_ACT is not set -# CONFIG_NET_CLS_IND is not set -CONFIG_NET_SCH_FIFO=y -# CONFIG_DCB is not set -# CONFIG_DNS_RESOLVER is not set -# CONFIG_BATMAN_ADV is not set -# CONFIG_OPENVSWITCH is not set -# CONFIG_VSOCKETS is not set -# CONFIG_NETLINK_MMAP is not set -# CONFIG_NETLINK_DIAG is not set -# CONFIG_MPLS is not set -# CONFIG_HSR is not set -# CONFIG_NET_SWITCHDEV is not set -# CONFIG_NET_L3_MASTER_DEV is not set -# CONFIG_CGROUP_NET_PRIO is not set -CONFIG_CGROUP_NET_CLASSID=y -CONFIG_NET_RX_BUSY_POLL=y -CONFIG_BQL=y -CONFIG_BPF_JIT=y - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# CONFIG_HAMRADIO is not set -# CONFIG_CAN is not set -# CONFIG_IRDA is not set -# CONFIG_BT is not set -# CONFIG_AF_RXRPC is not set -CONFIG_FIB_RULES=y -CONFIG_WIRELESS=y -CONFIG_WEXT_CORE=y -CONFIG_WEXT_PROC=y -CONFIG_CFG80211=m -# CONFIG_NL80211_TESTMODE is not set -# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set -# CONFIG_CFG80211_REG_DEBUG is not set -# CONFIG_CFG80211_CERTIFICATION_ONUS is not set -CONFIG_CFG80211_DEFAULT_PS=y -# CONFIG_CFG80211_DEBUGFS is not set -# CONFIG_CFG80211_INTERNAL_REGDB is not set -CONFIG_CFG80211_CRDA_SUPPORT=y -CONFIG_CFG80211_WEXT=y -# CONFIG_LIB80211 is not set -CONFIG_MAC80211=m -CONFIG_MAC80211_HAS_RC=y -CONFIG_MAC80211_RC_MINSTREL=y -CONFIG_MAC80211_RC_MINSTREL_HT=y -# CONFIG_MAC80211_RC_MINSTREL_VHT is not set -CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y -CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" -# CONFIG_MAC80211_MESH is not set -# CONFIG_MAC80211_LEDS is not set -# CONFIG_MAC80211_DEBUGFS is not set -# CONFIG_MAC80211_MESSAGE_TRACING is not set -# CONFIG_MAC80211_DEBUG_MENU is not set -CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 -# CONFIG_WIMAX is not set -# CONFIG_RFKILL is not set -# CONFIG_RFKILL_REGULATOR is not set -# CONFIG_NET_9P is not set -# CONFIG_CAIF is not set -# CONFIG_CEPH_LIB is not set -# CONFIG_NFC is not set -# CONFIG_LWTUNNEL is not set -CONFIG_HAVE_BPF_JIT=y - -# -# Device Drivers -# - -# -# Generic Driver Options -# -CONFIG_UEVENT_HELPER=y -CONFIG_UEVENT_HELPER_PATH="" -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -# CONFIG_STANDALONE is not set -# CONFIG_PREVENT_FIRMWARE_BUILD is not set -CONFIG_FW_LOADER=m -CONFIG_FIRMWARE_IN_KERNEL=y -CONFIG_EXTRA_FIRMWARE="" -# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set -# CONFIG_ALLOW_DEV_COREDUMP is not set -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_DEVRES is not set -# CONFIG_SYS_HYPERVISOR is not set -# CONFIG_GENERIC_CPU_DEVICES is not set -CONFIG_SOC_BUS=y -CONFIG_REGMAP=y -CONFIG_REGMAP_I2C=m -CONFIG_REGMAP_MMIO=m -# CONFIG_DMA_SHARED_BUFFER is not set - -# -# Bus devices -# -# CONFIG_BRCMSTB_GISB_ARB is not set -# CONFIG_IMX_WEIM is not set -# CONFIG_VEXPRESS_CONFIG is not set -# CONFIG_CONNECTOR is not set -CONFIG_MTD=m -# CONFIG_MTD_TESTS is not set -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_CMDLINE_PARTS is not set -# CONFIG_MTD_AFS_PARTS is not set -CONFIG_MTD_OF_PARTS=m -# CONFIG_MTD_AR7_PARTS is not set - -# -# User Modules And Translation Layers -# -# CONFIG_MTD_BLOCK is not set -# CONFIG_MTD_BLOCK_RO is not set -# CONFIG_FTL is not set -# CONFIG_NFTL is not set -# CONFIG_INFTL is not set -# CONFIG_RFD_FTL is not set -# CONFIG_SSFDC is not set -# CONFIG_SM_FTL is not set -# CONFIG_MTD_OOPS is not set -# CONFIG_MTD_SWAP is not set -# CONFIG_MTD_PARTITIONED_MASTER is not set - -# -# RAM/ROM/Flash chip drivers -# -# CONFIG_MTD_CFI is not set -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -CONFIG_MTD_MAP_BANK_WIDTH_2=y -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ABSENT is not set - -# -# Mapping drivers for chip access -# -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_PLATRAM is not set - -# -# Self-contained MTD device drivers -# -# CONFIG_MTD_DATAFLASH is not set -CONFIG_MTD_M25P80=m -# CONFIG_MTD_SST25L is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_MTDRAM is not set -CONFIG_MTD_BLOCK2MTD=m - -# -# Disk-On-Chip Device Drivers -# -# CONFIG_MTD_DOCG3 is not set -# CONFIG_MTD_NAND is not set -# CONFIG_MTD_ONENAND is not set - -# -# LPDDR & LPDDR2 PCM memory drivers -# -# CONFIG_MTD_LPDDR is not set -# CONFIG_MTD_LPDDR2_NVM is not set -CONFIG_MTD_SPI_NOR=m -CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y -# CONFIG_SPI_FSL_QUADSPI is not set -# CONFIG_MTD_UBI is not set -CONFIG_DTC=y -CONFIG_OF=y -# CONFIG_OF_UNITTEST is not set -CONFIG_OF_FLATTREE=y -CONFIG_OF_EARLY_FLATTREE=y -CONFIG_OF_ADDRESS=y -CONFIG_OF_IRQ=y -CONFIG_OF_NET=y -CONFIG_OF_MTD=y -CONFIG_OF_RESERVED_MEM=y -# CONFIG_OF_OVERLAY is not set -CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y -# CONFIG_PARPORT is not set -CONFIG_BLK_DEV=y -# CONFIG_BLK_DEV_NULL_BLK is not set -# CONFIG_ZRAM is not set -# CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_DRBD is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_RAM is not set -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH is not set -# CONFIG_MG_DISK is not set -# CONFIG_BLK_DEV_RBD is not set - -# -# Misc devices -# -# CONFIG_SENSORS_LIS3LV02D is not set -# CONFIG_AD525X_DPOT is not set -# CONFIG_DUMMY_IRQ is not set -# CONFIG_ICS932S401 is not set -# CONFIG_ENCLOSURE_SERVICES is not set -# CONFIG_APDS9802ALS is not set -# CONFIG_ISL29003 is not set -# CONFIG_ISL29020 is not set -# CONFIG_SENSORS_TSL2550 is not set -# CONFIG_SENSORS_BH1780 is not set -# CONFIG_SENSORS_BH1770 is not set -# CONFIG_SENSORS_APDS990X is not set -# CONFIG_HMC6352 is not set -# CONFIG_DS1682 is not set -# CONFIG_TI_DAC7512 is not set -# CONFIG_BMP085_I2C is not set -# CONFIG_BMP085_SPI is not set -# CONFIG_USB_SWITCH_FSA9480 is not set -# CONFIG_LATTICE_ECP3_CONFIG is not set -CONFIG_SRAM=y -# CONFIG_C2PORT is not set - -# -# EEPROM support -# -# CONFIG_EEPROM_AT24 is not set -# CONFIG_EEPROM_AT25 is not set -# CONFIG_EEPROM_LEGACY is not set -# CONFIG_EEPROM_MAX6875 is not set -CONFIG_EEPROM_93CX6=m -# CONFIG_EEPROM_93XX46 is not set - -# -# Texas Instruments shared transport line discipline -# -# CONFIG_TI_ST is not set -# CONFIG_SENSORS_LIS3_SPI is not set -# CONFIG_SENSORS_LIS3_I2C is not set - -# -# Altera FPGA firmware download module -# -# CONFIG_ALTERA_STAPL is not set - -# -# Intel MIC Bus Driver -# - -# -# SCIF Bus Driver -# - -# -# Intel MIC Host Driver -# - -# -# Intel MIC Card Driver -# - -# -# SCIF Driver -# - -# -# Intel MIC Coprocessor State Management (COSM) Drivers -# -# CONFIG_ECHO is not set -# CONFIG_CXL_BASE is not set -# CONFIG_CXL_KERNEL_API is not set -# CONFIG_CXL_EEH is not set - -# -# SCSI device support -# -CONFIG_SCSI_MOD=m -# CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=m -CONFIG_SCSI_DMA=y -# CONFIG_SCSI_NETLINK is not set -# CONFIG_SCSI_MQ_DEFAULT is not set -CONFIG_SCSI_PROC_FS=y - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=m -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CHR_DEV_OSST is not set -# CONFIG_BLK_DEV_SR is not set -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_SCH is not set -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set -# CONFIG_SCSI_SCAN_ASYNC is not set - -# -# SCSI Transports -# -# CONFIG_SCSI_SPI_ATTRS is not set -# CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set -# CONFIG_SCSI_SAS_ATTRS is not set -# CONFIG_SCSI_SAS_LIBSAS is not set -# CONFIG_SCSI_SRP_ATTRS is not set -CONFIG_SCSI_LOWLEVEL=y -# CONFIG_ISCSI_TCP is not set -# CONFIG_ISCSI_BOOT_SYSFS is not set -# CONFIG_SCSI_UFSHCD is not set -# CONFIG_SCSI_DEBUG is not set -# CONFIG_SCSI_DH is not set -# CONFIG_SCSI_OSD_INITIATOR is not set -# CONFIG_ATA is not set -CONFIG_MD=y -# CONFIG_BLK_DEV_MD is not set -# CONFIG_BCACHE is not set -CONFIG_BLK_DEV_DM_BUILTIN=y -CONFIG_BLK_DEV_DM=y -# CONFIG_DM_MQ_DEFAULT is not set -# CONFIG_DM_DEBUG is not set -CONFIG_DM_BUFIO=y -CONFIG_DM_CRYPT=y -# CONFIG_DM_SNAPSHOT is not set -# CONFIG_DM_THIN_PROVISIONING is not set -# CONFIG_DM_CACHE is not set -# CONFIG_DM_ERA is not set -# CONFIG_DM_MIRROR is not set -# CONFIG_DM_RAID is not set -# CONFIG_DM_ZERO is not set -# CONFIG_DM_MULTIPATH is not set -# CONFIG_DM_DELAY is not set -# CONFIG_DM_UEVENT is not set -# CONFIG_DM_FLAKEY is not set -CONFIG_DM_VERITY=y -# CONFIG_DM_SWITCH is not set -# CONFIG_DM_LOG_WRITES is not set -# CONFIG_TARGET_CORE is not set -CONFIG_NETDEVICES=y -CONFIG_NET_CORE=y -# CONFIG_BONDING is not set -CONFIG_DUMMY=m -# CONFIG_EQUALIZER is not set -# CONFIG_NET_TEAM is not set -# CONFIG_MACVLAN is not set -# CONFIG_IPVLAN is not set -CONFIG_VXLAN=m -# CONFIG_GENEVE is not set -# CONFIG_NETCONSOLE is not set -# CONFIG_NETPOLL is not set -# CONFIG_NET_POLL_CONTROLLER is not set -CONFIG_TUN=m -# CONFIG_TUN_VNET_CROSS_LE is not set -CONFIG_VETH=m -# CONFIG_NLMON is not set - -# -# CAIF transport drivers -# - -# -# Distributed Switch Architecture drivers -# -# CONFIG_NET_DSA_MV88E6XXX is not set -# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set -# CONFIG_ETHERNET is not set -# CONFIG_PHYLIB is not set -# CONFIG_MICREL_KS8995MA is not set -CONFIG_PPP=m -CONFIG_PPP_BSDCOMP=m -CONFIG_PPP_DEFLATE=m -CONFIG_PPP_FILTER=y -CONFIG_PPP_MPPE=m -# CONFIG_PPP_MULTILINK is not set -CONFIG_PPPOE=m -# CONFIG_PPTP is not set -CONFIG_PPPOL2TP=m -# CONFIG_PPP_ASYNC is not set -# CONFIG_PPP_SYNC_TTY is not set -# CONFIG_SLIP is not set -CONFIG_SLHC=m - -# -# Host-side USB support is needed for USB Network Adapter support -# -CONFIG_USB_NET_DRIVERS=m -# CONFIG_USB_CATC is not set -# CONFIG_USB_KAWETH is not set -# CONFIG_USB_PEGASUS is not set -# CONFIG_USB_RTL8150 is not set -# CONFIG_USB_RTL8152 is not set -# CONFIG_USB_LAN78XX is not set -# CONFIG_USB_USBNET is not set -# CONFIG_USB_IPHETH is not set -CONFIG_WLAN=y -# CONFIG_LIBERTAS_THINFIRM is not set -# CONFIG_AT76C50X_USB is not set -# CONFIG_USB_ZD1201 is not set -# CONFIG_USB_NET_RNDIS_WLAN is not set -CONFIG_RTL8187=m -# CONFIG_MAC80211_HWSIM is not set -# CONFIG_ATH_CARDS is not set -# CONFIG_B43 is not set -# CONFIG_B43LEGACY is not set -# CONFIG_BRCMSMAC is not set -# CONFIG_BRCMFMAC is not set -# CONFIG_HOSTAP is not set -# CONFIG_LIBERTAS is not set -# CONFIG_P54_COMMON is not set -CONFIG_RT2X00=m -CONFIG_RT2500USB=m -CONFIG_RT73USB=m -CONFIG_RT2800USB=m -CONFIG_RT2800USB_RT33XX=y -CONFIG_RT2800USB_RT35XX=y -CONFIG_RT2800USB_RT3573=y -CONFIG_RT2800USB_RT53XX=y -CONFIG_RT2800USB_RT55XX=y -CONFIG_RT2800USB_UNKNOWN=y -CONFIG_RT2800_LIB=m -CONFIG_RT2X00_LIB_USB=m -CONFIG_RT2X00_LIB=m -CONFIG_RT2X00_LIB_FIRMWARE=y -CONFIG_RT2X00_LIB_CRYPTO=y -CONFIG_RT2X00_LIB_LEDS=y -CONFIG_RT2X00_DEBUG=y -# CONFIG_WL_MEDIATEK is not set -CONFIG_RTL_CARDS=m -CONFIG_RTL8192CU=m -CONFIG_RTLWIFI=m -CONFIG_RTLWIFI_USB=m -CONFIG_RTLWIFI_DEBUG=y -CONFIG_RTL8192C_COMMON=m -CONFIG_RTL8XXXU=m -# CONFIG_RTL8XXXU_UNTESTED is not set -# CONFIG_WL_TI is not set -# CONFIG_ZD1211RW is not set -# CONFIG_MWIFIEX is not set -# CONFIG_CW1200 is not set -# CONFIG_RSI_91X is not set - -# -# Enable WiMAX (Networking options) to see the WiMAX drivers -# -# CONFIG_WAN is not set -# CONFIG_ISDN is not set -# CONFIG_NVM is not set - -# -# Input device support -# -CONFIG_INPUT=y -CONFIG_INPUT_LEDS=m -# CONFIG_INPUT_FF_MEMLESS is not set -# CONFIG_INPUT_POLLDEV is not set -# CONFIG_INPUT_SPARSEKMAP is not set -# CONFIG_INPUT_MATRIXKMAP is not set - -# -# Userland interfaces -# -CONFIG_INPUT_MOUSEDEV=m -CONFIG_INPUT_MOUSEDEV_PSAUX=y -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -# CONFIG_INPUT_JOYDEV is not set -CONFIG_INPUT_EVDEV=m -# CONFIG_INPUT_EVBUG is not set - -# -# Input Device Drivers -# -CONFIG_INPUT_KEYBOARD=y -# CONFIG_KEYBOARD_ADP5588 is not set -# CONFIG_KEYBOARD_ADP5589 is not set -CONFIG_KEYBOARD_ATKBD=y -# CONFIG_KEYBOARD_QT1070 is not set -# CONFIG_KEYBOARD_QT2160 is not set -# CONFIG_KEYBOARD_LKKBD is not set -# CONFIG_KEYBOARD_GPIO is not set -# CONFIG_KEYBOARD_GPIO_POLLED is not set -# CONFIG_KEYBOARD_TCA6416 is not set -# CONFIG_KEYBOARD_TCA8418 is not set -# CONFIG_KEYBOARD_MATRIX is not set -# CONFIG_KEYBOARD_LM8323 is not set -# CONFIG_KEYBOARD_LM8333 is not set -# CONFIG_KEYBOARD_MAX7359 is not set -# CONFIG_KEYBOARD_MCS is not set -# CONFIG_KEYBOARD_MPR121 is not set -# CONFIG_KEYBOARD_IMX is not set -# CONFIG_KEYBOARD_NEWTON is not set -# CONFIG_KEYBOARD_OPENCORES is not set -# CONFIG_KEYBOARD_SAMSUNG is not set -# CONFIG_KEYBOARD_STOWAWAY is not set -# CONFIG_KEYBOARD_SUNKBD is not set -# CONFIG_KEYBOARD_OMAP4 is not set -# CONFIG_KEYBOARD_XTKBD is not set -# CONFIG_KEYBOARD_CAP11XX is not set -# CONFIG_KEYBOARD_BCM is not set -CONFIG_INPUT_MOUSE=y -CONFIG_MOUSE_PS2=m -# CONFIG_MOUSE_PS2_ALPS is not set -# CONFIG_MOUSE_PS2_LOGIPS2PP is not set -# CONFIG_MOUSE_PS2_SYNAPTICS is not set -# CONFIG_MOUSE_PS2_CYPRESS is not set -# CONFIG_MOUSE_PS2_TRACKPOINT is not set -# CONFIG_MOUSE_PS2_ELANTECH is not set -# CONFIG_MOUSE_PS2_SENTELIC is not set -# CONFIG_MOUSE_PS2_TOUCHKIT is not set -CONFIG_MOUSE_PS2_FOCALTECH=y -CONFIG_MOUSE_SERIAL=m -# CONFIG_MOUSE_APPLETOUCH is not set -# CONFIG_MOUSE_BCM5974 is not set -# CONFIG_MOUSE_CYAPA is not set -# CONFIG_MOUSE_ELAN_I2C is not set -# CONFIG_MOUSE_VSXXXAA is not set -# CONFIG_MOUSE_GPIO is not set -# CONFIG_MOUSE_SYNAPTICS_I2C is not set -CONFIG_MOUSE_SYNAPTICS_USB=m -# CONFIG_INPUT_JOYSTICK is not set -# CONFIG_INPUT_TABLET is not set -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_PROPERTIES=y -# CONFIG_TOUCHSCREEN_ADS7846 is not set -# CONFIG_TOUCHSCREEN_AD7877 is not set -# CONFIG_TOUCHSCREEN_AD7879 is not set -# CONFIG_TOUCHSCREEN_AR1021_I2C is not set -# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set -# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set -# CONFIG_TOUCHSCREEN_BU21013 is not set -# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set -# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set -# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set -# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set -# CONFIG_TOUCHSCREEN_DYNAPRO is not set -# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set -# CONFIG_TOUCHSCREEN_EETI is not set -# CONFIG_TOUCHSCREEN_EGALAX is not set -# CONFIG_TOUCHSCREEN_FT6236 is not set -# CONFIG_TOUCHSCREEN_FUJITSU is not set -# CONFIG_TOUCHSCREEN_GOODIX is not set -# CONFIG_TOUCHSCREEN_ILI210X is not set -# CONFIG_TOUCHSCREEN_GUNZE is not set -# CONFIG_TOUCHSCREEN_ELAN is not set -# CONFIG_TOUCHSCREEN_ELO is not set -# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set -# CONFIG_TOUCHSCREEN_WACOM_I2C is not set -# CONFIG_TOUCHSCREEN_MAX11801 is not set -# CONFIG_TOUCHSCREEN_MCS5000 is not set -# CONFIG_TOUCHSCREEN_MMS114 is not set -# CONFIG_TOUCHSCREEN_MTOUCH is not set -# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set -# CONFIG_TOUCHSCREEN_INEXIO is not set -# CONFIG_TOUCHSCREEN_MK712 is not set -# CONFIG_TOUCHSCREEN_PENMOUNT is not set -# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set -# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set -# CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_PIXCIR is not set -# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set -CONFIG_TOUCHSCREEN_USB_COMPOSITE=m -# CONFIG_TOUCHSCREEN_USB_EGALAX is not set -# CONFIG_TOUCHSCREEN_USB_PANJIT is not set -# CONFIG_TOUCHSCREEN_USB_3M is not set -# CONFIG_TOUCHSCREEN_USB_ITM is not set -# CONFIG_TOUCHSCREEN_USB_ETURBO is not set -# CONFIG_TOUCHSCREEN_USB_GUNZE is not set -# CONFIG_TOUCHSCREEN_USB_DMC_TSC10 is not set -# CONFIG_TOUCHSCREEN_USB_IRTOUCH is not set -# CONFIG_TOUCHSCREEN_USB_IDEALTEK is not set -# CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH is not set -# CONFIG_TOUCHSCREEN_USB_GOTOP is not set -# CONFIG_TOUCHSCREEN_USB_JASTEC is not set -# CONFIG_TOUCHSCREEN_USB_ELO is not set -CONFIG_TOUCHSCREEN_USB_E2I=y -# CONFIG_TOUCHSCREEN_USB_ZYTRONIC is not set -# CONFIG_TOUCHSCREEN_USB_ETT_TC45USB is not set -# CONFIG_TOUCHSCREEN_USB_NEXIO is not set -# CONFIG_TOUCHSCREEN_USB_EASYTOUCH is not set -# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set -# CONFIG_TOUCHSCREEN_TSC_SERIO is not set -# CONFIG_TOUCHSCREEN_TSC2004 is not set -# CONFIG_TOUCHSCREEN_TSC2005 is not set -# CONFIG_TOUCHSCREEN_TSC2007 is not set -# CONFIG_TOUCHSCREEN_ST1232 is not set -# CONFIG_TOUCHSCREEN_SX8654 is not set -# CONFIG_TOUCHSCREEN_TPS6507X is not set -# CONFIG_TOUCHSCREEN_ZFORCE is not set -# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set -# CONFIG_INPUT_MISC is not set - -# -# Hardware I/O ports -# -CONFIG_SERIO=y -CONFIG_SERIO_SERPORT=y -CONFIG_SERIO_LIBPS2=y -# CONFIG_SERIO_RAW is not set -# CONFIG_SERIO_ALTERA_PS2 is not set -# CONFIG_SERIO_PS2MULT is not set -# CONFIG_SERIO_ARC_PS2 is not set -# CONFIG_SERIO_APBPS2 is not set -# CONFIG_USERIO is not set -# CONFIG_GAMEPORT is not set - -# -# Character devices -# -CONFIG_TTY=y -CONFIG_VT=y -CONFIG_CONSOLE_TRANSLATIONS=y -CONFIG_VT_CONSOLE=y -CONFIG_VT_CONSOLE_SLEEP=y -CONFIG_HW_CONSOLE=y -CONFIG_VT_HW_CONSOLE_BINDING=y -CONFIG_UNIX98_PTYS=y -# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=256 -# CONFIG_SERIAL_NONSTANDARD is not set -# CONFIG_N_GSM is not set -# CONFIG_TRACE_SINK is not set -CONFIG_DEVMEM=y -CONFIG_DEVKMEM=y - -# -# Serial drivers -# -CONFIG_SERIAL_EARLYCON=y -# CONFIG_SERIAL_8250 is not set - -# -# Non-8250 serial port support -# -# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set -# CONFIG_SERIAL_MAX3100 is not set -# CONFIG_SERIAL_MAX310X is not set -CONFIG_SERIAL_IMX=y -CONFIG_SERIAL_IMX_CONSOLE=y -# CONFIG_SERIAL_UARTLITE is not set -CONFIG_SERIAL_CORE=y -CONFIG_SERIAL_CORE_CONSOLE=y -# CONFIG_SERIAL_SCCNXP is not set -# CONFIG_SERIAL_SC16IS7XX is not set -# CONFIG_SERIAL_BCM63XX is not set -# CONFIG_SERIAL_ALTERA_JTAGUART is not set -# CONFIG_SERIAL_ALTERA_UART is not set -# CONFIG_SERIAL_IFX6X60 is not set -# CONFIG_SERIAL_XILINX_PS_UART is not set -# CONFIG_SERIAL_ARC is not set -# CONFIG_SERIAL_FSL_LPUART is not set -# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set -# CONFIG_SERIAL_ST_ASC is not set -# CONFIG_SERIAL_STM32 is not set -# CONFIG_TTY_PRINTK is not set -# CONFIG_HVC_DCC is not set -# CONFIG_IPMI_HANDLER is not set -CONFIG_HW_RANDOM=m -# CONFIG_HW_RANDOM_TIMERIOMEM is not set -# CONFIG_R3964 is not set -# CONFIG_RAW_DRIVER is not set -# CONFIG_TCG_TPM is not set -# CONFIG_XILLYBUS is not set - -# -# I2C support -# -CONFIG_I2C=m -CONFIG_I2C_BOARDINFO=y -# CONFIG_I2C_COMPAT is not set -CONFIG_I2C_CHARDEV=m -# CONFIG_I2C_MUX is not set -CONFIG_I2C_HELPER_AUTO=y - -# -# I2C Hardware Bus support -# - -# -# I2C system bus drivers (mostly embedded / system-on-chip) -# -# CONFIG_I2C_CBUS_GPIO is not set -# CONFIG_I2C_DESIGNWARE_PLATFORM is not set -# CONFIG_I2C_EMEV2 is not set -# CONFIG_I2C_GPIO is not set -CONFIG_I2C_IMX=m -# CONFIG_I2C_OCORES is not set -# CONFIG_I2C_PCA_PLATFORM is not set -# CONFIG_I2C_PXA_PCI is not set -# CONFIG_I2C_RK3X is not set -# CONFIG_I2C_SIMTEC is not set -# CONFIG_I2C_XILINX is not set - -# -# External I2C/SMBus adapter drivers -# -# CONFIG_I2C_DIOLAN_U2C is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_ROBOTFUZZ_OSIF is not set -# CONFIG_I2C_TAOS_EVM is not set -# CONFIG_I2C_TINY_USB is not set - -# -# Other I2C/SMBus bus drivers -# -# CONFIG_I2C_STUB is not set -# CONFIG_I2C_SLAVE is not set -# CONFIG_I2C_DEBUG_CORE is not set -# CONFIG_I2C_DEBUG_ALGO is not set -# CONFIG_I2C_DEBUG_BUS is not set -CONFIG_SPI=y -CONFIG_SPI_DEBUG=y -CONFIG_SPI_MASTER=y - -# -# SPI Master Controller Drivers -# -# CONFIG_SPI_ALTERA is not set -CONFIG_SPI_BITBANG=m -# CONFIG_SPI_CADENCE is not set -# CONFIG_SPI_GPIO is not set -CONFIG_SPI_IMX=m -# CONFIG_SPI_FSL_SPI is not set -# CONFIG_SPI_OC_TINY is not set -# CONFIG_SPI_PXA2XX_PCI is not set -# CONFIG_SPI_ROCKCHIP is not set -# CONFIG_SPI_SC18IS602 is not set -# CONFIG_SPI_XCOMM is not set -# CONFIG_SPI_XILINX is not set -# CONFIG_SPI_ZYNQMP_GQSPI is not set -# CONFIG_SPI_DESIGNWARE is not set - -# -# SPI Protocol Masters -# -CONFIG_SPI_SPIDEV=m -# CONFIG_SPI_TLE62X0 is not set -# CONFIG_SPMI is not set -# CONFIG_HSI is not set - -# -# PPS support -# -CONFIG_PPS=y -# CONFIG_PPS_DEBUG is not set - -# -# PPS clients support -# -# CONFIG_PPS_CLIENT_KTIMER is not set -# CONFIG_PPS_CLIENT_LDISC is not set -# CONFIG_PPS_CLIENT_GPIO is not set - -# -# PPS generators support -# - -# -# PTP clock support -# -# CONFIG_PTP_1588_CLOCK is not set - -# -# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. -# -CONFIG_PINCTRL=y - -# -# Pin controllers -# -CONFIG_PINMUX=y -CONFIG_PINCONF=y -# CONFIG_DEBUG_PINCTRL is not set -# CONFIG_PINCTRL_AMD is not set -# CONFIG_PINCTRL_SINGLE is not set -CONFIG_PINCTRL_IMX=y -CONFIG_PINCTRL_IMX53=y -CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y -CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y -CONFIG_ARCH_REQUIRE_GPIOLIB=y -CONFIG_GPIOLIB=y -CONFIG_GPIO_DEVRES=y -CONFIG_OF_GPIO=y -# CONFIG_DEBUG_GPIO is not set -CONFIG_GPIO_SYSFS=y -CONFIG_GPIO_GENERIC=y - -# -# Memory mapped GPIO drivers -# -# CONFIG_GPIO_74XX_MMIO is not set -# CONFIG_GPIO_ALTERA is not set -# CONFIG_GPIO_DWAPB is not set -# CONFIG_GPIO_EM is not set -CONFIG_GPIO_GENERIC_PLATFORM=y -# CONFIG_GPIO_GRGPIO is not set -CONFIG_GPIO_MXC=y -# CONFIG_GPIO_XILINX is not set -# CONFIG_GPIO_ZEVIO is not set -# CONFIG_GPIO_ZX is not set - -# -# I2C GPIO expanders -# -# CONFIG_GPIO_ADP5588 is not set -# CONFIG_GPIO_ADNP is not set -# CONFIG_GPIO_MAX7300 is not set -# CONFIG_GPIO_MAX732X is not set -# CONFIG_GPIO_PCA953X is not set -# CONFIG_GPIO_PCF857X is not set - -# -# MFD GPIO expanders -# - -# -# SPI GPIO expanders -# -# CONFIG_GPIO_74X164 is not set -# CONFIG_GPIO_MAX7301 is not set -# CONFIG_GPIO_MC33880 is not set - -# -# SPI or I2C GPIO expanders -# -# CONFIG_GPIO_MCP23S08 is not set - -# -# USB GPIO expanders -# -# CONFIG_W1 is not set -CONFIG_POWER_SUPPLY=y -# CONFIG_POWER_SUPPLY_DEBUG is not set -# CONFIG_PDA_POWER is not set -# CONFIG_TEST_POWER is not set -# CONFIG_BATTERY_DS2780 is not set -# CONFIG_BATTERY_DS2781 is not set -# CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_SBS is not set -# CONFIG_BATTERY_BQ27XXX is not set -# CONFIG_BATTERY_MAX17040 is not set -# CONFIG_BATTERY_MAX17042 is not set -# CONFIG_CHARGER_ISP1704 is not set -# CONFIG_CHARGER_MAX8903 is not set -# CONFIG_CHARGER_LP8727 is not set -# CONFIG_CHARGER_GPIO is not set -# CONFIG_CHARGER_MANAGER is not set -# CONFIG_CHARGER_BQ2415X is not set -# CONFIG_CHARGER_BQ24190 is not set -# CONFIG_CHARGER_BQ24257 is not set -# CONFIG_CHARGER_BQ24735 is not set -# CONFIG_CHARGER_BQ25890 is not set -# CONFIG_CHARGER_SMB347 is not set -# CONFIG_BATTERY_GAUGE_LTC2941 is not set -# CONFIG_CHARGER_RT9455 is not set -# CONFIG_POWER_RESET is not set -CONFIG_POWER_AVS=y -# CONFIG_HWMON is not set -# CONFIG_THERMAL is not set -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_CORE=y -# CONFIG_WATCHDOG_NOWAYOUT is not set - -# -# Watchdog Device Drivers -# -CONFIG_SOFT_WATCHDOG=m -CONFIG_GPIO_WATCHDOG=m -# CONFIG_XILINX_WATCHDOG is not set -# CONFIG_CADENCE_WATCHDOG is not set -# CONFIG_DW_WATCHDOG is not set -# CONFIG_MAX63XX_WATCHDOG is not set -CONFIG_IMX2_WDT=m -# CONFIG_BCM7038_WDT is not set -# CONFIG_MEN_A21_WDT is not set - -# -# USB-based Watchdog Cards -# -# CONFIG_USBPCWATCHDOG is not set -CONFIG_SSB_POSSIBLE=y - -# -# Sonics Silicon Backplane -# -# CONFIG_SSB is not set -CONFIG_BCMA_POSSIBLE=y - -# -# Broadcom specific AMBA -# -# CONFIG_BCMA is not set - -# -# Multifunction device drivers -# -# CONFIG_MFD_CORE is not set -# CONFIG_MFD_ATMEL_FLEXCOM is not set -# CONFIG_MFD_ATMEL_HLCDC is not set -# CONFIG_MFD_BCM590XX is not set -# CONFIG_MFD_CROS_EC is not set -# CONFIG_MFD_ASIC3 is not set -# CONFIG_MFD_DA9052_SPI is not set -# CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_MC13XXX_SPI is not set -# CONFIG_MFD_MC13XXX_I2C is not set -# CONFIG_MFD_HI6421_PMIC is not set -# CONFIG_HTC_EGPIO is not set -# CONFIG_HTC_PASIC3 is not set -# CONFIG_MFD_KEMPLD is not set -# CONFIG_MFD_MT6397 is not set -# CONFIG_MFD_MENF21BMC is not set -# CONFIG_EZX_PCAP is not set -# CONFIG_MFD_VIPERBOARD is not set -# CONFIG_MFD_RETU is not set -# CONFIG_MFD_PCF50633 is not set -# CONFIG_MFD_PM8921_CORE is not set -# CONFIG_MFD_RTSX_USB is not set -# CONFIG_MFD_RK808 is not set -# CONFIG_MFD_RN5T618 is not set -# CONFIG_MFD_SI476X_CORE is not set -# CONFIG_MFD_SM501 is not set -# CONFIG_MFD_SKY81452 is not set -# CONFIG_ABX500_CORE is not set -# CONFIG_MFD_STMPE is not set -# CONFIG_MFD_SYSCON is not set -# CONFIG_MFD_TI_AM335X_TSCADC is not set -# CONFIG_MFD_LP3943 is not set -# CONFIG_TPS6105X is not set -# CONFIG_TPS65010 is not set -# CONFIG_TPS6507X is not set -# CONFIG_MFD_TPS65217 is not set -# CONFIG_MFD_TPS65218 is not set -# CONFIG_MFD_TPS65912 is not set -# CONFIG_MFD_TPS65912_SPI is not set -# CONFIG_MFD_WL1273_CORE is not set -# CONFIG_MFD_LM3533 is not set -# CONFIG_MFD_TMIO is not set -# CONFIG_MFD_T7L66XB is not set -# CONFIG_MFD_TC6387XB is not set -# CONFIG_MFD_TC6393XB is not set -# CONFIG_MFD_ARIZONA_I2C is not set -# CONFIG_MFD_ARIZONA_SPI is not set -# CONFIG_MFD_WM831X_SPI is not set -# CONFIG_MFD_WM8994 is not set -CONFIG_REGULATOR=y -# CONFIG_REGULATOR_DEBUG is not set -# CONFIG_REGULATOR_FIXED_VOLTAGE is not set -# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set -# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set -# CONFIG_REGULATOR_ACT8865 is not set -# CONFIG_REGULATOR_AD5398 is not set -# CONFIG_REGULATOR_DA9210 is not set -# CONFIG_REGULATOR_DA9211 is not set -# CONFIG_REGULATOR_FAN53555 is not set -# CONFIG_REGULATOR_GPIO is not set -# CONFIG_REGULATOR_ISL9305 is not set -# CONFIG_REGULATOR_ISL6271A is not set -# CONFIG_REGULATOR_LP3971 is not set -# CONFIG_REGULATOR_LP3972 is not set -# CONFIG_REGULATOR_LP872X is not set -# CONFIG_REGULATOR_LP8755 is not set -CONFIG_REGULATOR_LTC3589=m -# CONFIG_REGULATOR_MAX1586 is not set -# CONFIG_REGULATOR_MAX8649 is not set -# CONFIG_REGULATOR_MAX8660 is not set -# CONFIG_REGULATOR_MAX8952 is not set -# CONFIG_REGULATOR_MAX8973 is not set -# CONFIG_REGULATOR_MT6311 is not set -# CONFIG_REGULATOR_PFUZE100 is not set -# CONFIG_REGULATOR_TPS51632 is not set -# CONFIG_REGULATOR_TPS62360 is not set -# CONFIG_REGULATOR_TPS65023 is not set -# CONFIG_REGULATOR_TPS6507X is not set -# CONFIG_REGULATOR_TPS6524X is not set -# CONFIG_MEDIA_SUPPORT is not set - -# -# Graphics support -# -# CONFIG_DRM is not set - -# -# Frame buffer Devices -# -# CONFIG_FB is not set -# CONFIG_BACKLIGHT_LCD_SUPPORT is not set -# CONFIG_VGASTATE is not set - -# -# Console display driver support -# -CONFIG_DUMMY_CONSOLE=y -# CONFIG_SOUND is not set - -# -# HID support -# -CONFIG_HID=y -# CONFIG_HID_BATTERY_STRENGTH is not set -# CONFIG_HIDRAW is not set -# CONFIG_UHID is not set -CONFIG_HID_GENERIC=m - -# -# Special HID drivers -# -# CONFIG_HID_A4TECH is not set -# CONFIG_HID_ACRUX is not set -# CONFIG_HID_APPLE is not set -# CONFIG_HID_APPLEIR is not set -# CONFIG_HID_AUREAL is not set -# CONFIG_HID_BELKIN is not set -# CONFIG_HID_BETOP_FF is not set -# CONFIG_HID_CHERRY is not set -# CONFIG_HID_CHICONY is not set -# CONFIG_HID_CORSAIR is not set -# CONFIG_HID_CP2112 is not set -# CONFIG_HID_CYPRESS is not set -# CONFIG_HID_DRAGONRISE is not set -# CONFIG_HID_EMS_FF is not set -# CONFIG_HID_ELECOM is not set -# CONFIG_HID_ELO is not set -# CONFIG_HID_EZKEY is not set -# CONFIG_HID_GEMBIRD is not set -# CONFIG_HID_GFRM is not set -# CONFIG_HID_HOLTEK is not set -# CONFIG_HID_GT683R is not set -# CONFIG_HID_KEYTOUCH is not set -# CONFIG_HID_KYE is not set -# CONFIG_HID_UCLOGIC is not set -# CONFIG_HID_WALTOP is not set -# CONFIG_HID_GYRATION is not set -# CONFIG_HID_ICADE is not set -# CONFIG_HID_TWINHAN is not set -# CONFIG_HID_KENSINGTON is not set -# CONFIG_HID_LCPOWER is not set -# CONFIG_HID_LENOVO is not set -# CONFIG_HID_LOGITECH is not set -# CONFIG_HID_MAGICMOUSE is not set -# CONFIG_HID_MICROSOFT is not set -# CONFIG_HID_MONTEREY is not set -# CONFIG_HID_MULTITOUCH is not set -# CONFIG_HID_NTRIG is not set -# CONFIG_HID_ORTEK is not set -# CONFIG_HID_PANTHERLORD is not set -# CONFIG_HID_PENMOUNT is not set -# CONFIG_HID_PETALYNX is not set -# CONFIG_HID_PICOLCD is not set -# CONFIG_HID_PLANTRONICS is not set -# CONFIG_HID_PRIMAX is not set -# CONFIG_HID_ROCCAT is not set -# CONFIG_HID_SAITEK is not set -# CONFIG_HID_SAMSUNG is not set -# CONFIG_HID_SONY is not set -# CONFIG_HID_SPEEDLINK is not set -# CONFIG_HID_STEELSERIES is not set -# CONFIG_HID_SUNPLUS is not set -# CONFIG_HID_RMI is not set -# CONFIG_HID_GREENASIA is not set -# CONFIG_HID_SMARTJOYPLUS is not set -# CONFIG_HID_TIVO is not set -# CONFIG_HID_TOPSEED is not set -# CONFIG_HID_THINGM is not set -# CONFIG_HID_THRUSTMASTER is not set -# CONFIG_HID_WACOM is not set -# CONFIG_HID_WIIMOTE is not set -# CONFIG_HID_XINMO is not set -# CONFIG_HID_ZEROPLUS is not set -# CONFIG_HID_ZYDACRON is not set -# CONFIG_HID_SENSOR_HUB is not set - -# -# USB HID support -# -CONFIG_USB_HID=m -# CONFIG_HID_PID is not set -CONFIG_USB_HIDDEV=y - -# -# USB HID Boot Protocol drivers -# -CONFIG_USB_KBD=m -CONFIG_USB_MOUSE=m - -# -# I2C HID support -# -# CONFIG_I2C_HID is not set -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -CONFIG_USB_SUPPORT=y -CONFIG_USB_COMMON=m -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB=m -# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set - -# -# Miscellaneous USB options -# -CONFIG_USB_DEFAULT_PERSIST=y -# CONFIG_USB_DYNAMIC_MINORS is not set -CONFIG_USB_OTG=y -# CONFIG_USB_OTG_WHITELIST is not set -# CONFIG_USB_OTG_BLACKLIST_HUB is not set -# CONFIG_USB_OTG_FSM is not set -# CONFIG_USB_ULPI_BUS is not set -# CONFIG_USB_MON is not set -# CONFIG_USB_WUSB_CBAF is not set - -# -# USB Host Controller Drivers -# -# CONFIG_USB_C67X00_HCD is not set -# CONFIG_USB_XHCI_HCD is not set -CONFIG_USB_EHCI_HCD=m -CONFIG_USB_EHCI_ROOT_HUB_TT=y -CONFIG_USB_EHCI_TT_NEWSCHED=y -# CONFIG_USB_EHCI_MXC is not set -# CONFIG_USB_EHCI_HCD_PLATFORM is not set -# CONFIG_USB_OXU210HP_HCD is not set -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_ISP1362_HCD is not set -# CONFIG_USB_FOTG210_HCD is not set -# CONFIG_USB_MAX3421_HCD is not set -# CONFIG_USB_OHCI_HCD is not set -# CONFIG_USB_SL811_HCD is not set -# CONFIG_USB_R8A66597_HCD is not set -# CONFIG_USB_IMX21_HCD is not set -# CONFIG_USB_HCD_TEST_MODE is not set - -# -# USB Device Class drivers -# -# CONFIG_USB_ACM is not set -# CONFIG_USB_PRINTER is not set -# CONFIG_USB_WDM is not set -# CONFIG_USB_TMC is not set - -# -# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may -# - -# -# also be needed; see USB_STORAGE Help for more info -# -CONFIG_USB_STORAGE=m -# CONFIG_USB_STORAGE_DEBUG is not set -# CONFIG_USB_STORAGE_REALTEK is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_ISD200 is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_STORAGE_ONETOUCH is not set -# CONFIG_USB_STORAGE_KARMA is not set -# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set -# CONFIG_USB_STORAGE_ENE_UB6250 is not set -# CONFIG_USB_UAS is not set - -# -# USB Imaging devices -# -# CONFIG_USB_MDC800 is not set -# CONFIG_USB_MICROTEK is not set -# CONFIG_USBIP_CORE is not set -# CONFIG_USB_MUSB_HDRC is not set -# CONFIG_USB_DWC3 is not set -# CONFIG_USB_DWC2 is not set -CONFIG_USB_CHIPIDEA=m -CONFIG_USB_CHIPIDEA_OF=m -CONFIG_USB_CHIPIDEA_UDC=y -CONFIG_USB_CHIPIDEA_HOST=y -CONFIG_USB_CHIPIDEA_DEBUG=y -# CONFIG_USB_ISP1760 is not set - -# -# USB port drivers -# -# CONFIG_USB_SERIAL is not set - -# -# USB Miscellaneous drivers -# -# CONFIG_USB_EMI62 is not set -# CONFIG_USB_EMI26 is not set -# CONFIG_USB_ADUTUX is not set -# CONFIG_USB_SEVSEG is not set -# CONFIG_USB_RIO500 is not set -# CONFIG_USB_LEGOTOWER is not set -# CONFIG_USB_LCD is not set -# CONFIG_USB_LED is not set -# CONFIG_USB_CYPRESS_CY7C63 is not set -# CONFIG_USB_CYTHERM is not set -# CONFIG_USB_IDMOUSE is not set -# CONFIG_USB_FTDI_ELAN is not set -# CONFIG_USB_APPLEDISPLAY is not set -# CONFIG_USB_SISUSBVGA is not set -# CONFIG_USB_LD is not set -# CONFIG_USB_TRANCEVIBRATOR is not set -# CONFIG_USB_IOWARRIOR is not set -# CONFIG_USB_TEST is not set -# CONFIG_USB_EHSET_TEST_FIXTURE is not set -# CONFIG_USB_ISIGHTFW is not set -# CONFIG_USB_YUREX is not set -# CONFIG_USB_EZUSB_FX2 is not set -# CONFIG_USB_HSIC_USB3503 is not set -# CONFIG_USB_LINK_LAYER_TEST is not set -# CONFIG_USB_CHAOSKEY is not set - -# -# USB Physical Layer drivers -# -CONFIG_USB_PHY=y -CONFIG_NOP_USB_XCEIV=y -# CONFIG_AM335X_PHY_USB is not set -# CONFIG_USB_GPIO_VBUS is not set -# CONFIG_USB_ISP1301 is not set -# CONFIG_USB_MXS_PHY is not set -# CONFIG_USB_ULPI is not set -CONFIG_USB_GADGET=m -# CONFIG_USB_GADGET_DEBUG is not set -# CONFIG_USB_GADGET_DEBUG_FILES is not set -CONFIG_USB_GADGET_DEBUG_FS=y -CONFIG_USB_GADGET_VBUS_DRAW=500 -CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 - -# -# USB Peripheral Controller -# -# CONFIG_USB_FSL_USB2 is not set -# CONFIG_USB_FUSB300 is not set -# CONFIG_USB_FOTG210_UDC is not set -# CONFIG_USB_GR_UDC is not set -# CONFIG_USB_R8A66597 is not set -# CONFIG_USB_PXA27X is not set -# CONFIG_USB_MV_UDC is not set -# CONFIG_USB_MV_U3D is not set -# CONFIG_USB_M66592 is not set -# CONFIG_USB_BDC_UDC is not set -# CONFIG_USB_NET2272 is not set -# CONFIG_USB_GADGET_XILINX is not set -# CONFIG_USB_DUMMY_HCD is not set -CONFIG_USB_LIBCOMPOSITE=m -CONFIG_USB_F_ACM=m -CONFIG_USB_F_SS_LB=m -CONFIG_USB_U_SERIAL=m -CONFIG_USB_U_ETHER=m -CONFIG_USB_F_SERIAL=m -CONFIG_USB_F_OBEX=m -CONFIG_USB_F_NCM=m -CONFIG_USB_F_ECM=m -CONFIG_USB_F_EEM=m -CONFIG_USB_F_SUBSET=m -CONFIG_USB_F_RNDIS=m -CONFIG_USB_F_MASS_STORAGE=m -CONFIG_USB_F_FS=m -CONFIG_USB_F_HID=m -CONFIG_USB_F_PRINTER=m -CONFIG_USB_CONFIGFS=m -CONFIG_USB_CONFIGFS_SERIAL=y -CONFIG_USB_CONFIGFS_ACM=y -CONFIG_USB_CONFIGFS_OBEX=y -CONFIG_USB_CONFIGFS_NCM=y -CONFIG_USB_CONFIGFS_ECM=y -CONFIG_USB_CONFIGFS_ECM_SUBSET=y -CONFIG_USB_CONFIGFS_RNDIS=y -CONFIG_USB_CONFIGFS_EEM=y -CONFIG_USB_CONFIGFS_MASS_STORAGE=y -CONFIG_USB_CONFIGFS_F_LB_SS=y -CONFIG_USB_CONFIGFS_F_FS=y -CONFIG_USB_CONFIGFS_F_HID=y -CONFIG_USB_CONFIGFS_F_PRINTER=y -CONFIG_USB_ZERO=m -# CONFIG_USB_ZERO_HNPTEST is not set -CONFIG_USB_ETH=m -CONFIG_USB_ETH_RNDIS=y -CONFIG_USB_ETH_EEM=y -CONFIG_USB_G_NCM=m -CONFIG_USB_GADGETFS=m -CONFIG_USB_FUNCTIONFS=m -CONFIG_USB_FUNCTIONFS_ETH=y -CONFIG_USB_FUNCTIONFS_RNDIS=y -CONFIG_USB_FUNCTIONFS_GENERIC=y -CONFIG_USB_MASS_STORAGE=m -CONFIG_USB_G_SERIAL=m -CONFIG_USB_G_PRINTER=m -CONFIG_USB_CDC_COMPOSITE=m -CONFIG_USB_G_ACM_MS=m -CONFIG_USB_G_MULTI=m -CONFIG_USB_G_MULTI_RNDIS=y -CONFIG_USB_G_MULTI_CDC=y -CONFIG_USB_G_HID=m -# CONFIG_USB_G_DBGP is not set -# CONFIG_USB_LED_TRIG is not set -# CONFIG_UWB is not set -CONFIG_MMC=y -# CONFIG_MMC_DEBUG is not set - -# -# MMC/SD/SDIO Card Drivers -# -CONFIG_MMC_BLOCK=y -CONFIG_MMC_BLOCK_MINORS=8 -CONFIG_MMC_BLOCK_BOUNCE=y -# CONFIG_SDIO_UART is not set -# CONFIG_MMC_TEST is not set - -# -# MMC/SD/SDIO Host Controller Drivers -# -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_IO_ACCESSORS=y -CONFIG_MMC_SDHCI_PLTFM=y -# CONFIG_MMC_SDHCI_OF_ARASAN is not set -# CONFIG_MMC_SDHCI_OF_AT91 is not set -# CONFIG_MMC_SDHCI_OF_ESDHC is not set -CONFIG_MMC_SDHCI_ESDHC_IMX=y -# CONFIG_MMC_SDHCI_F_SDH30 is not set -# CONFIG_MMC_MXC is not set -# CONFIG_MMC_SPI is not set -# CONFIG_MMC_DW is not set -# CONFIG_MMC_VUB300 is not set -# CONFIG_MMC_USHC is not set -# CONFIG_MMC_USDHI6ROL0 is not set -# CONFIG_MMC_MTK is not set -# CONFIG_MEMSTICK is not set -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=m -# CONFIG_LEDS_CLASS_FLASH is not set - -# -# LED drivers -# -# CONFIG_LEDS_BCM6328 is not set -# CONFIG_LEDS_BCM6358 is not set -# CONFIG_LEDS_LM3530 is not set -# CONFIG_LEDS_LM3642 is not set -# CONFIG_LEDS_PCA9532 is not set -CONFIG_LEDS_GPIO=m -# CONFIG_LEDS_LP3944 is not set -# CONFIG_LEDS_LP5521 is not set -# CONFIG_LEDS_LP5523 is not set -# CONFIG_LEDS_LP5562 is not set -# CONFIG_LEDS_LP8501 is not set -# CONFIG_LEDS_LP8860 is not set -# CONFIG_LEDS_PCA955X is not set -# CONFIG_LEDS_PCA963X is not set -# CONFIG_LEDS_DAC124S085 is not set -# CONFIG_LEDS_REGULATOR is not set -# CONFIG_LEDS_BD2802 is not set -# CONFIG_LEDS_LT3593 is not set -# CONFIG_LEDS_TCA6507 is not set -# CONFIG_LEDS_TLC591XX is not set -# CONFIG_LEDS_LM355x is not set - -# -# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) -# -# CONFIG_LEDS_BLINKM is not set - -# -# LED Triggers -# -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=m -CONFIG_LEDS_TRIGGER_ONESHOT=m -CONFIG_LEDS_TRIGGER_HEARTBEAT=m -CONFIG_LEDS_TRIGGER_BACKLIGHT=m -CONFIG_LEDS_TRIGGER_CPU=y -CONFIG_LEDS_TRIGGER_GPIO=m -CONFIG_LEDS_TRIGGER_DEFAULT_ON=m - -# -# iptables trigger is under Netfilter config (LED target) -# -CONFIG_LEDS_TRIGGER_TRANSIENT=m -# CONFIG_LEDS_TRIGGER_CAMERA is not set -# CONFIG_ACCESSIBILITY is not set -CONFIG_EDAC_ATOMIC_SCRUB=y -CONFIG_EDAC_SUPPORT=y -# CONFIG_EDAC is not set -CONFIG_RTC_LIB=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_HCTOSYS=y -CONFIG_RTC_HCTOSYS_DEVICE="rtc0" -CONFIG_RTC_SYSTOHC=y -CONFIG_RTC_SYSTOHC_DEVICE="rtc0" -# CONFIG_RTC_DEBUG is not set - -# -# RTC interfaces -# -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -CONFIG_RTC_INTF_DEV_UIE_EMUL=y -# CONFIG_RTC_DRV_TEST is not set - -# -# I2C RTC drivers -# -# CONFIG_RTC_DRV_ABB5ZES3 is not set -# CONFIG_RTC_DRV_ABX80X is not set -# CONFIG_RTC_DRV_DS1307 is not set -# CONFIG_RTC_DRV_DS1374 is not set -# CONFIG_RTC_DRV_DS1672 is not set -# CONFIG_RTC_DRV_DS3232 is not set -# CONFIG_RTC_DRV_HYM8563 is not set -# CONFIG_RTC_DRV_MAX6900 is not set -# CONFIG_RTC_DRV_RS5C372 is not set -# CONFIG_RTC_DRV_ISL1208 is not set -# CONFIG_RTC_DRV_ISL12022 is not set -# CONFIG_RTC_DRV_ISL12057 is not set -# CONFIG_RTC_DRV_X1205 is not set -# CONFIG_RTC_DRV_PCF2127 is not set -# CONFIG_RTC_DRV_PCF8523 is not set -# CONFIG_RTC_DRV_PCF8563 is not set -# CONFIG_RTC_DRV_PCF85063 is not set -# CONFIG_RTC_DRV_PCF8583 is not set -# CONFIG_RTC_DRV_M41T80 is not set -# CONFIG_RTC_DRV_BQ32K is not set -# CONFIG_RTC_DRV_S35390A is not set -# CONFIG_RTC_DRV_FM3130 is not set -# CONFIG_RTC_DRV_RX8581 is not set -# CONFIG_RTC_DRV_RX8025 is not set -# CONFIG_RTC_DRV_EM3027 is not set -# CONFIG_RTC_DRV_RV3029C2 is not set -# CONFIG_RTC_DRV_RV8803 is not set - -# -# SPI RTC drivers -# -# CONFIG_RTC_DRV_M41T93 is not set -# CONFIG_RTC_DRV_M41T94 is not set -# CONFIG_RTC_DRV_DS1305 is not set -# CONFIG_RTC_DRV_DS1343 is not set -# CONFIG_RTC_DRV_DS1347 is not set -# CONFIG_RTC_DRV_DS1390 is not set -# CONFIG_RTC_DRV_MAX6902 is not set -# CONFIG_RTC_DRV_R9701 is not set -# CONFIG_RTC_DRV_RS5C348 is not set -# CONFIG_RTC_DRV_DS3234 is not set -# CONFIG_RTC_DRV_PCF2123 is not set -# CONFIG_RTC_DRV_RX4581 is not set -# CONFIG_RTC_DRV_MCP795 is not set - -# -# Platform RTC drivers -# -# CONFIG_RTC_DRV_CMOS is not set -# CONFIG_RTC_DRV_DS1286 is not set -# CONFIG_RTC_DRV_DS1511 is not set -# CONFIG_RTC_DRV_DS1553 is not set -# CONFIG_RTC_DRV_DS1685_FAMILY is not set -# CONFIG_RTC_DRV_DS1742 is not set -# CONFIG_RTC_DRV_DS2404 is not set -# CONFIG_RTC_DRV_STK17TA8 is not set -# CONFIG_RTC_DRV_M48T86 is not set -# CONFIG_RTC_DRV_M48T35 is not set -# CONFIG_RTC_DRV_M48T59 is not set -# CONFIG_RTC_DRV_MSM6242 is not set -# CONFIG_RTC_DRV_BQ4802 is not set -# CONFIG_RTC_DRV_RP5C01 is not set -# CONFIG_RTC_DRV_V3020 is not set -# CONFIG_RTC_DRV_ZYNQMP is not set - -# -# on-CPU RTC drivers -# -CONFIG_RTC_DRV_IMXDI=y -CONFIG_RTC_DRV_MXC=y -# CONFIG_RTC_DRV_SNVS is not set - -# -# HID Sensor RTC drivers -# -# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set -CONFIG_DMADEVICES=y -# CONFIG_DMADEVICES_DEBUG is not set - -# -# DMA Devices -# -CONFIG_DMA_ENGINE=y -CONFIG_DMA_OF=y -# CONFIG_FSL_EDMA is not set -# CONFIG_IMX_DMA is not set -CONFIG_IMX_SDMA=m -# CONFIG_INTEL_IDMA64 is not set -# CONFIG_MX3_IPU is not set -# CONFIG_NBPFAXI_DMA is not set -# CONFIG_DW_DMAC is not set - -# -# DMA Clients -# -# CONFIG_ASYNC_TX_DMA is not set -# CONFIG_DMATEST is not set -# CONFIG_AUXDISPLAY is not set -# CONFIG_UIO is not set -# CONFIG_VIRT_DRIVERS is not set - -# -# Virtio drivers -# -# CONFIG_VIRTIO_MMIO is not set - -# -# Microsoft Hyper-V guest support -# -# CONFIG_STAGING is not set -# CONFIG_CHROME_PLATFORMS is not set -CONFIG_CLKDEV_LOOKUP=y -CONFIG_HAVE_CLK_PREPARE=y -CONFIG_COMMON_CLK=y - -# -# Common Clock Framework -# -# CONFIG_COMMON_CLK_SI5351 is not set -# CONFIG_COMMON_CLK_SI514 is not set -# CONFIG_COMMON_CLK_SI570 is not set -# CONFIG_COMMON_CLK_CDCE925 is not set -# CONFIG_CLK_QORIQ is not set -# CONFIG_COMMON_CLK_PXA is not set -# CONFIG_COMMON_CLK_CDCE706 is not set - -# -# Hardware Spinlock drivers -# - -# -# Clock Source drivers -# -CONFIG_CLKSRC_OF=y -CONFIG_CLKSRC_PROBE=y -CONFIG_CLKSRC_MMIO=y -# CONFIG_ARM_TIMER_SP804 is not set -# CONFIG_ATMEL_PIT is not set -# CONFIG_SH_TIMER_CMT is not set -# CONFIG_SH_TIMER_MTU2 is not set -# CONFIG_SH_TIMER_TMU is not set -# CONFIG_EM_TIMER_STI is not set -CONFIG_CLKSRC_IMX_GPT=y -# CONFIG_MAILBOX is not set -CONFIG_IOMMU_SUPPORT=y - -# -# Generic IOMMU Pagetable Support -# -# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set -# CONFIG_ARM_SMMU is not set - -# -# Remoteproc drivers -# -# CONFIG_STE_MODEM_RPROC is not set - -# -# Rpmsg drivers -# - -# -# SOC (System On Chip) specific Drivers -# -# CONFIG_SOC_BRCMSTB is not set -# CONFIG_SUNXI_SRAM is not set -# CONFIG_SOC_TI is not set -# CONFIG_PM_DEVFREQ is not set -CONFIG_EXTCON=m - -# -# Extcon Device Drivers -# -# CONFIG_EXTCON_GPIO is not set -# CONFIG_EXTCON_RT8973A is not set -# CONFIG_EXTCON_SM5502 is not set -# CONFIG_EXTCON_USB_GPIO is not set -# CONFIG_MEMORY is not set -# CONFIG_IIO is not set -# CONFIG_PWM is not set -CONFIG_IRQCHIP=y -# CONFIG_IPACK_BUS is not set -CONFIG_ARCH_HAS_RESET_CONTROLLER=y -# CONFIG_RESET_CONTROLLER is not set -# CONFIG_FMC is not set - -# -# PHY Subsystem -# -# CONFIG_GENERIC_PHY is not set -# CONFIG_PHY_PXA_28NM_HSIC is not set -# CONFIG_PHY_PXA_28NM_USB2 is not set -# CONFIG_BCM_KONA_USB2_PHY is not set -# CONFIG_POWERCAP is not set -# CONFIG_MCB is not set - -# -# Performance monitor support -# -# CONFIG_RAS is not set - -# -# Android -# -# CONFIG_ANDROID is not set -# CONFIG_NVMEM is not set -# CONFIG_STM is not set -# CONFIG_STM_DUMMY is not set -# CONFIG_STM_SOURCE_CONSOLE is not set -# CONFIG_INTEL_TH is not set - -# -# FPGA Configuration Support -# -# CONFIG_FPGA is not set - -# -# Firmware Drivers -# -# CONFIG_FIRMWARE_MEMMAP is not set - -# -# File systems -# -CONFIG_DCACHE_WORD_ACCESS=y -# CONFIG_EXT2_FS is not set -# CONFIG_EXT3_FS is not set -CONFIG_EXT4_FS=y -CONFIG_EXT4_USE_FOR_EXT2=y -# CONFIG_EXT4_FS_POSIX_ACL is not set -# CONFIG_EXT4_FS_SECURITY is not set -# CONFIG_EXT4_ENCRYPTION is not set -# CONFIG_EXT4_DEBUG is not set -CONFIG_JBD2=y -# CONFIG_JBD2_DEBUG is not set -CONFIG_FS_MBCACHE=y -# CONFIG_REISERFS_FS is not set -# CONFIG_JFS_FS is not set -# CONFIG_XFS_FS is not set -# CONFIG_GFS2_FS is not set -# CONFIG_OCFS2_FS is not set -# CONFIG_BTRFS_FS is not set -# CONFIG_NILFS2_FS is not set -# CONFIG_F2FS_FS is not set -# CONFIG_FS_POSIX_ACL is not set -CONFIG_EXPORTFS=y -CONFIG_FILE_LOCKING=y -CONFIG_FSNOTIFY=y -CONFIG_DNOTIFY=y -CONFIG_INOTIFY_USER=y -# CONFIG_FANOTIFY is not set -# CONFIG_QUOTA is not set -# CONFIG_QUOTACTL is not set -CONFIG_AUTOFS4_FS=y -CONFIG_FUSE_FS=m -# CONFIG_CUSE is not set -CONFIG_OVERLAY_FS=y - -# -# Caches -# -# CONFIG_FSCACHE is not set - -# -# CD-ROM/DVD Filesystems -# -# CONFIG_ISO9660_FS is not set -# CONFIG_UDF_FS is not set - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=m -CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=m -CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" -CONFIG_NTFS_FS=m -# CONFIG_NTFS_DEBUG is not set -CONFIG_NTFS_RW=y - -# -# Pseudo filesystems -# -CONFIG_PROC_FS=y -CONFIG_PROC_SYSCTL=y -CONFIG_PROC_PAGE_MONITOR=y -# CONFIG_PROC_CHILDREN is not set -CONFIG_KERNFS=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_TMPFS_XATTR=y -# CONFIG_HUGETLB_PAGE is not set -CONFIG_CONFIGFS_FS=y -CONFIG_MISC_FILESYSTEMS=y -# CONFIG_ADFS_FS is not set -# CONFIG_AFFS_FS is not set -CONFIG_ECRYPT_FS=m -CONFIG_ECRYPT_FS_MESSAGING=y -# CONFIG_HFS_FS is not set -# CONFIG_HFSPLUS_FS is not set -# CONFIG_BEFS_FS is not set -# CONFIG_BFS_FS is not set -# CONFIG_EFS_FS is not set -CONFIG_JFFS2_FS=m -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_JFFS2_FS_WRITEBUFFER=y -# CONFIG_JFFS2_FS_WBUF_VERIFY is not set -# CONFIG_JFFS2_SUMMARY is not set -# CONFIG_JFFS2_FS_XATTR is not set -# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set -CONFIG_JFFS2_ZLIB=y -# CONFIG_JFFS2_LZO is not set -CONFIG_JFFS2_RTIME=y -# CONFIG_JFFS2_RUBIN is not set -# CONFIG_LOGFS is not set -# CONFIG_CRAMFS is not set -CONFIG_SQUASHFS=y -# CONFIG_SQUASHFS_FILE_CACHE is not set -CONFIG_SQUASHFS_FILE_DIRECT=y -CONFIG_SQUASHFS_DECOMP_SINGLE=y -# CONFIG_SQUASHFS_DECOMP_MULTI is not set -# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set -# CONFIG_SQUASHFS_XATTR is not set -CONFIG_SQUASHFS_ZLIB=y -CONFIG_SQUASHFS_LZ4=y -# CONFIG_SQUASHFS_LZO is not set -# CONFIG_SQUASHFS_XZ is not set -# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set -# CONFIG_SQUASHFS_EMBEDDED is not set -CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 -# CONFIG_VXFS_FS is not set -# CONFIG_MINIX_FS is not set -# CONFIG_OMFS_FS is not set -# CONFIG_HPFS_FS is not set -# CONFIG_QNX4FS_FS is not set -# CONFIG_QNX6FS_FS is not set -# CONFIG_ROMFS_FS is not set -# CONFIG_PSTORE is not set -# CONFIG_SYSV_FS is not set -# CONFIG_UFS_FS is not set -CONFIG_NETWORK_FILESYSTEMS=y -CONFIG_NFS_FS=m -CONFIG_NFS_V2=m -CONFIG_NFS_V3=m -# CONFIG_NFS_V3_ACL is not set -# CONFIG_NFS_V4 is not set -# CONFIG_NFS_SWAP is not set -CONFIG_NFSD=m -CONFIG_NFSD_V3=y -# CONFIG_NFSD_V3_ACL is not set -# CONFIG_NFSD_V4 is not set -CONFIG_GRACE_PERIOD=m -CONFIG_LOCKD=m -CONFIG_LOCKD_V4=y -CONFIG_NFS_COMMON=y -CONFIG_SUNRPC=m -# CONFIG_SUNRPC_DEBUG is not set -# CONFIG_CEPH_FS is not set -CONFIG_CIFS=m -# CONFIG_CIFS_STATS is not set -# CONFIG_CIFS_WEAK_PW_HASH is not set -# CONFIG_CIFS_UPCALL is not set -# CONFIG_CIFS_XATTR is not set -# CONFIG_CIFS_DEBUG is not set -# CONFIG_CIFS_DFS_UPCALL is not set -# CONFIG_CIFS_SMB2 is not set -# CONFIG_NCP_FS is not set -# CONFIG_CODA_FS is not set -# CONFIG_AFS_FS is not set -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="iso8859-1" -CONFIG_NLS_CODEPAGE_437=y -# CONFIG_NLS_CODEPAGE_737 is not set -# CONFIG_NLS_CODEPAGE_775 is not set -# CONFIG_NLS_CODEPAGE_850 is not set -# CONFIG_NLS_CODEPAGE_852 is not set -# CONFIG_NLS_CODEPAGE_855 is not set -# CONFIG_NLS_CODEPAGE_857 is not set -# CONFIG_NLS_CODEPAGE_860 is not set -# CONFIG_NLS_CODEPAGE_861 is not set -# CONFIG_NLS_CODEPAGE_862 is not set -# CONFIG_NLS_CODEPAGE_863 is not set -# CONFIG_NLS_CODEPAGE_864 is not set -# CONFIG_NLS_CODEPAGE_865 is not set -# CONFIG_NLS_CODEPAGE_866 is not set -# CONFIG_NLS_CODEPAGE_869 is not set -# CONFIG_NLS_CODEPAGE_936 is not set -# CONFIG_NLS_CODEPAGE_950 is not set -# CONFIG_NLS_CODEPAGE_932 is not set -# CONFIG_NLS_CODEPAGE_949 is not set -# CONFIG_NLS_CODEPAGE_874 is not set -# CONFIG_NLS_ISO8859_8 is not set -# CONFIG_NLS_CODEPAGE_1250 is not set -# CONFIG_NLS_CODEPAGE_1251 is not set -CONFIG_NLS_ASCII=y -CONFIG_NLS_ISO8859_1=y -# CONFIG_NLS_ISO8859_2 is not set -# CONFIG_NLS_ISO8859_3 is not set -# CONFIG_NLS_ISO8859_4 is not set -# CONFIG_NLS_ISO8859_5 is not set -# CONFIG_NLS_ISO8859_6 is not set -# CONFIG_NLS_ISO8859_7 is not set -# CONFIG_NLS_ISO8859_9 is not set -# CONFIG_NLS_ISO8859_13 is not set -# CONFIG_NLS_ISO8859_14 is not set -# CONFIG_NLS_ISO8859_15 is not set -# CONFIG_NLS_KOI8_R is not set -# CONFIG_NLS_KOI8_U is not set -# CONFIG_NLS_MAC_ROMAN is not set -# CONFIG_NLS_MAC_CELTIC is not set -# CONFIG_NLS_MAC_CENTEURO is not set -# CONFIG_NLS_MAC_CROATIAN is not set -# CONFIG_NLS_MAC_CYRILLIC is not set -# CONFIG_NLS_MAC_GAELIC is not set -# CONFIG_NLS_MAC_GREEK is not set -# CONFIG_NLS_MAC_ICELAND is not set -# CONFIG_NLS_MAC_INUIT is not set -# CONFIG_NLS_MAC_ROMANIAN is not set -# CONFIG_NLS_MAC_TURKISH is not set -CONFIG_NLS_UTF8=y -# CONFIG_DLM is not set - -# -# Kernel hacking -# - -# -# printk and dmesg options -# -# CONFIG_PRINTK_TIME is not set -CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 -# CONFIG_BOOT_PRINTK_DELAY is not set -# CONFIG_DYNAMIC_DEBUG is not set - -# -# Compile-time checks and compiler options -# -# CONFIG_DEBUG_INFO is not set -CONFIG_ENABLE_WARN_DEPRECATED=y -CONFIG_ENABLE_MUST_CHECK=y -CONFIG_FRAME_WARN=1024 -# CONFIG_STRIP_ASM_SYMS is not set -# CONFIG_READABLE_ASM is not set -# CONFIG_UNUSED_SYMBOLS is not set -# CONFIG_PAGE_OWNER is not set -CONFIG_DEBUG_FS=y -# CONFIG_HEADERS_CHECK is not set -# CONFIG_DEBUG_SECTION_MISMATCH is not set -CONFIG_SECTION_MISMATCH_WARN_ONLY=y -# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set -# CONFIG_MAGIC_SYSRQ is not set -CONFIG_DEBUG_KERNEL=y - -# -# Memory Debugging -# -# CONFIG_PAGE_EXTENSION is not set -# CONFIG_DEBUG_OBJECTS is not set -# CONFIG_SLUB_STATS is not set -CONFIG_HAVE_DEBUG_KMEMLEAK=y -# CONFIG_DEBUG_KMEMLEAK is not set -# CONFIG_DEBUG_STACK_USAGE is not set -# CONFIG_DEBUG_VM is not set -# CONFIG_DEBUG_MEMORY_INIT is not set -# CONFIG_DEBUG_SHIRQ is not set - -# -# Debug Lockups and Hangs -# -CONFIG_LOCKUP_DETECTOR=y -CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y -CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 -CONFIG_DETECT_HUNG_TASK=y -CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=0 -CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y -CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1 -# CONFIG_PANIC_ON_OOPS is not set -CONFIG_PANIC_ON_OOPS_VALUE=0 -CONFIG_PANIC_TIMEOUT=5 -CONFIG_SCHED_DEBUG=y -# CONFIG_SCHED_INFO is not set -# CONFIG_SCHEDSTATS is not set -# CONFIG_SCHED_STACK_END_CHECK is not set -# CONFIG_DEBUG_TIMEKEEPING is not set -# CONFIG_TIMER_STATS is not set -# CONFIG_DEBUG_PREEMPT is not set - -# -# Lock Debugging (spinlocks, mutexes, etc...) -# -# CONFIG_DEBUG_RT_MUTEXES is not set -# CONFIG_DEBUG_SPINLOCK is not set -# CONFIG_DEBUG_MUTEXES is not set -# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set -# CONFIG_DEBUG_LOCK_ALLOC is not set -# CONFIG_PROVE_LOCKING is not set -# CONFIG_LOCK_STAT is not set -# CONFIG_DEBUG_ATOMIC_SLEEP is not set -# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set -# CONFIG_LOCK_TORTURE_TEST is not set -# CONFIG_STACKTRACE is not set -# CONFIG_DEBUG_KOBJECT is not set -CONFIG_DEBUG_BUGVERBOSE=y -# CONFIG_DEBUG_LIST is not set -# CONFIG_DEBUG_PI_LIST is not set -# CONFIG_DEBUG_SG is not set -# CONFIG_DEBUG_NOTIFIERS is not set -# CONFIG_DEBUG_CREDENTIALS is not set - -# -# RCU Debugging -# -# CONFIG_PROVE_RCU is not set -# CONFIG_SPARSE_RCU_POINTER is not set -# CONFIG_TORTURE_TEST is not set -# CONFIG_RCU_TORTURE_TEST is not set -CONFIG_RCU_CPU_STALL_TIMEOUT=21 -# CONFIG_RCU_TRACE is not set -# CONFIG_RCU_EQS_DEBUG is not set -# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set -# CONFIG_NOTIFIER_ERROR_INJECTION is not set -# CONFIG_FAULT_INJECTION is not set -# CONFIG_LATENCYTOP is not set -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_TRACING_SUPPORT=y -# CONFIG_FTRACE is not set - -# -# Runtime Testing -# -CONFIG_LKDTM=m -# CONFIG_TEST_LIST_SORT is not set -# CONFIG_BACKTRACE_SELF_TEST is not set -# CONFIG_RBTREE_TEST is not set -# CONFIG_INTERVAL_TREE_TEST is not set -# CONFIG_PERCPU_TEST is not set -# CONFIG_ATOMIC64_SELFTEST is not set -# CONFIG_TEST_HEXDUMP is not set -# CONFIG_TEST_STRING_HELPERS is not set -# CONFIG_TEST_KSTRTOX is not set -# CONFIG_TEST_PRINTF is not set -# CONFIG_TEST_RHASHTABLE is not set -# CONFIG_DMA_API_DEBUG is not set -# CONFIG_TEST_LKM is not set -# CONFIG_TEST_USER_COPY is not set -# CONFIG_TEST_BPF is not set -# CONFIG_TEST_FIRMWARE is not set -# CONFIG_TEST_UDELAY is not set -# CONFIG_MEMTEST is not set -# CONFIG_TEST_STATIC_KEYS is not set -# CONFIG_SAMPLES is not set -CONFIG_HAVE_ARCH_KGDB=y -# CONFIG_KGDB is not set -# CONFIG_ARM_PTDUMP is not set -CONFIG_STRICT_DEVMEM=y -CONFIG_ARM_UNWIND=y -# CONFIG_DEBUG_USER is not set -# CONFIG_DEBUG_LL is not set -CONFIG_DEBUG_IMX_UART_PORT=1 -CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" -# CONFIG_DEBUG_UART_8250 is not set -# CONFIG_DEBUG_UART_BCM63XX is not set -CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" -# CONFIG_PID_IN_CONTEXTIDR is not set -# CONFIG_DEBUG_SET_MODULE_RONX is not set -# CONFIG_CORESIGHT is not set - -# -# Security options -# -CONFIG_KEYS=y -# CONFIG_PERSISTENT_KEYRINGS is not set -# CONFIG_BIG_KEYS is not set -CONFIG_ENCRYPTED_KEYS=m -# CONFIG_SECURITY_DMESG_RESTRICT is not set -CONFIG_SECURITY=y -CONFIG_SECURITYFS=y -# CONFIG_SECURITY_NETWORK is not set -# CONFIG_SECURITY_PATH is not set -# CONFIG_SECURITY_SMACK is not set -# CONFIG_SECURITY_TOMOYO is not set -# CONFIG_SECURITY_APPARMOR is not set -# CONFIG_SECURITY_YAMA is not set -CONFIG_INTEGRITY=y -# CONFIG_INTEGRITY_SIGNATURE is not set -# CONFIG_IMA is not set -# CONFIG_EVM is not set -CONFIG_DEFAULT_SECURITY_DAC=y -CONFIG_DEFAULT_SECURITY="" -CONFIG_CRYPTO=y - -# -# Crypto core or helper -# -CONFIG_CRYPTO_ALGAPI=y -CONFIG_CRYPTO_ALGAPI2=y -CONFIG_CRYPTO_AEAD=m -CONFIG_CRYPTO_AEAD2=y -CONFIG_CRYPTO_BLKCIPHER=y -CONFIG_CRYPTO_BLKCIPHER2=y -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_HASH2=y -CONFIG_CRYPTO_RNG=m -CONFIG_CRYPTO_RNG2=y -CONFIG_CRYPTO_RNG_DEFAULT=m -CONFIG_CRYPTO_PCOMP=m -CONFIG_CRYPTO_PCOMP2=y -CONFIG_CRYPTO_AKCIPHER2=y -# CONFIG_CRYPTO_RSA is not set -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_MANAGER2=y -CONFIG_CRYPTO_USER=m -CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y -CONFIG_CRYPTO_GF128MUL=y -CONFIG_CRYPTO_NULL=m -CONFIG_CRYPTO_NULL2=y -CONFIG_CRYPTO_WORKQUEUE=y -# CONFIG_CRYPTO_CRYPTD is not set -# CONFIG_CRYPTO_MCRYPTD is not set -CONFIG_CRYPTO_AUTHENC=m -CONFIG_CRYPTO_TEST=m - -# -# Authenticated Encryption with Associated Data -# -CONFIG_CRYPTO_CCM=m -CONFIG_CRYPTO_GCM=m -# CONFIG_CRYPTO_CHACHA20POLY1305 is not set -CONFIG_CRYPTO_SEQIV=m -CONFIG_CRYPTO_ECHAINIV=m - -# -# Block modes -# -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_CTR=m -# CONFIG_CRYPTO_CTS is not set -CONFIG_CRYPTO_ECB=y -# CONFIG_CRYPTO_LRW is not set -# CONFIG_CRYPTO_PCBC is not set -CONFIG_CRYPTO_XTS=y -# CONFIG_CRYPTO_KEYWRAP is not set - -# -# Hash modes -# -CONFIG_CRYPTO_CMAC=m -CONFIG_CRYPTO_HMAC=m -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_VMAC is not set - -# -# Digest -# -CONFIG_CRYPTO_CRC32C=y -# CONFIG_CRYPTO_CRC32 is not set -# CONFIG_CRYPTO_CRCT10DIF is not set -CONFIG_CRYPTO_GHASH=m -# CONFIG_CRYPTO_POLY1305 is not set -CONFIG_CRYPTO_MD4=m -CONFIG_CRYPTO_MD5=y -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_RMD128 is not set -# CONFIG_CRYPTO_RMD160 is not set -# CONFIG_CRYPTO_RMD256 is not set -# CONFIG_CRYPTO_RMD320 is not set -CONFIG_CRYPTO_SHA1=m -CONFIG_CRYPTO_SHA256=y -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_WP512 is not set - -# -# Ciphers -# -CONFIG_CRYPTO_AES=y -# CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_ARC4=m -# CONFIG_CRYPTO_BLOWFISH is not set -# CONFIG_CRYPTO_CAMELLIA is not set -# CONFIG_CRYPTO_CAST5 is not set -# CONFIG_CRYPTO_CAST6 is not set -CONFIG_CRYPTO_DES=m -# CONFIG_CRYPTO_FCRYPT is not set -# CONFIG_CRYPTO_KHAZAD is not set -# CONFIG_CRYPTO_SALSA20 is not set -# CONFIG_CRYPTO_CHACHA20 is not set -# CONFIG_CRYPTO_SEED is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_TEA is not set -# CONFIG_CRYPTO_TWOFISH is not set - -# -# Compression -# -CONFIG_CRYPTO_DEFLATE=y -CONFIG_CRYPTO_ZLIB=m -CONFIG_CRYPTO_LZO=m -# CONFIG_CRYPTO_842 is not set -# CONFIG_CRYPTO_LZ4 is not set -# CONFIG_CRYPTO_LZ4HC is not set - -# -# Random Number Generation -# -CONFIG_CRYPTO_ANSI_CPRNG=m -CONFIG_CRYPTO_DRBG_MENU=m -CONFIG_CRYPTO_DRBG_HMAC=y -CONFIG_CRYPTO_DRBG_HASH=y -CONFIG_CRYPTO_DRBG_CTR=y -CONFIG_CRYPTO_DRBG=m -CONFIG_CRYPTO_JITTERENTROPY=m -CONFIG_CRYPTO_USER_API=m -CONFIG_CRYPTO_USER_API_HASH=m -CONFIG_CRYPTO_USER_API_SKCIPHER=m -CONFIG_CRYPTO_USER_API_RNG=m -# CONFIG_CRYPTO_USER_API_AEAD is not set -CONFIG_CRYPTO_HASH_INFO=y -CONFIG_CRYPTO_HW=y -# CONFIG_CRYPTO_DEV_FSL_CAAM is not set -CONFIG_CRYPTO_DEV_SAHARA=y -# CONFIG_CRYPTO_DEV_MXS_DCP is not set -CONFIG_ASYMMETRIC_KEY_TYPE=m -CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m -CONFIG_PUBLIC_KEY_ALGO_RSA=m -CONFIG_X509_CERTIFICATE_PARSER=m -CONFIG_PKCS7_MESSAGE_PARSER=m -# CONFIG_PKCS7_TEST_KEY is not set - -# -# Certificates for signature checking -# -# CONFIG_SYSTEM_TRUSTED_KEYRING is not set -# CONFIG_ARM_CRYPTO is not set -# CONFIG_BINARY_PRINTF is not set - -# -# Library routines -# -CONFIG_BITREVERSE=y -CONFIG_HAVE_ARCH_BITREVERSE=y -CONFIG_RATIONAL=y -CONFIG_GENERIC_STRNCPY_FROM_USER=y -CONFIG_GENERIC_STRNLEN_USER=y -CONFIG_GENERIC_NET_UTILS=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_GENERIC_IO=y -CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y -CONFIG_CRC_CCITT=m -CONFIG_CRC16=y -# CONFIG_CRC_T10DIF is not set -CONFIG_CRC_ITU_T=m -CONFIG_CRC32=y -# CONFIG_CRC32_SELFTEST is not set -CONFIG_CRC32_SLICEBY8=y -# CONFIG_CRC32_SLICEBY4 is not set -# CONFIG_CRC32_SARWATE is not set -# CONFIG_CRC32_BIT is not set -# CONFIG_CRC7 is not set -# CONFIG_LIBCRC32C is not set -# CONFIG_CRC8 is not set -# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set -# CONFIG_RANDOM32_SELFTEST is not set -CONFIG_ZLIB_INFLATE=y -CONFIG_ZLIB_DEFLATE=y -CONFIG_LZO_COMPRESS=y -CONFIG_LZO_DECOMPRESS=y -CONFIG_LZ4_DECOMPRESS=y -# CONFIG_XZ_DEC is not set -# CONFIG_XZ_DEC_BCJ is not set -CONFIG_DECOMPRESS_GZIP=y -CONFIG_GENERIC_ALLOCATOR=y -CONFIG_TEXTSEARCH=y -CONFIG_TEXTSEARCH_KMP=m -CONFIG_TEXTSEARCH_BM=m -CONFIG_TEXTSEARCH_FSM=m -CONFIG_ASSOCIATIVE_ARRAY=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT_MAP=y -CONFIG_HAS_DMA=y -CONFIG_DQL=y -CONFIG_NLATTR=y -CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y -CONFIG_CLZ_TAB=y -# CONFIG_CORDIC is not set -# CONFIG_DDR is not set -CONFIG_MPILIB=m -CONFIG_LIBFDT=y -CONFIG_OID_REGISTRY=m -# CONFIG_SG_SPLIT is not set -CONFIG_ARCH_HAS_SG_CHAIN=y -# CONFIG_VIRTUALIZATION is not set diff --git a/inversepath/usbarmory/default.nix b/inversepath/usbarmory/default.nix index 77efd5efea2..5c329f8286d 100644 --- a/inversepath/usbarmory/default.nix +++ b/inversepath/usbarmory/default.nix @@ -1,61 +1,46 @@ -{ pkgs, config, lib, ... }: +{ config, lib, pkgs, ... }: + { - nix.binaryCaches = lib.mkForce [ "http://nixos-arm.dezgeg.me/channel" ]; - nix.binaryCachePublicKeys = [ "nixos-arm.dezgeg.me-1:xBaUKS3n17BZPKeyxL4JfbTqECsT+ysbDJz29kLFRW0=%" ]; - nixpkgs.config.packageOverrides = pkgs: rec { - linuxPackages_usbarmory = pkgs.recurseIntoAttrs ( - pkgs.linuxPackagesFor ( - pkgs.buildLinux rec { - version = "4.4.0"; - src = pkgs.fetchurl { - url = "mirror://kernel/linux/kernel/v4.x/linux-4.4.tar.xz"; - sha256 = "401d7c8fef594999a460d10c72c5a94e9c2e1022f16795ec51746b0d165418b2"; - }; - configfile = /etc/nixos/customKernel.config; - kernelPatches = [ - { patch = /etc/nixos/usbarmory_dts.patch; - name = "usbarmory_dts"; } - ]; - allowImportFromDerivation = true; - } - ) linuxPackages_usbarmory); - }; boot = { - initrd.kernelModules = []; - kernelParams = [ "console=ttymxc0,115200" ]; + extraModprobeConfig = lib.mkDefault '' + options g_ether use_eem=0 dev_addr=1a:55:89:a2:69:41 host_addr=1a:55:89:a2:69:42 + ''; + kernelModules = [ "ledtrig_heartbeat" "ci_hdrc_imx" "g_ether" ]; - extraModprobeConfig = "options g_ether use_eem=0 dev_addr=1a:55:89:a2:69:41 host_addr=1a:55:89:a2:69:42"; - kernelPackages = pkgs.linuxPackages_usbarmory; + kernelPackages = lib.mkDefault pkgs.linuxPackages_usbarmory; + kernelParams = [ "console=ttymxc0,115200" ]; - loader = { - grub.enable = false; - generic-extlinux-compatible = { - enable = true; - }; - }; + loader.generic-extlinux-compatible.enable = lib.mkDefault true; }; + networking = { - interfaces.usb0.ip4 = [ { address = "172.16.0.2"; prefixLength = 24;} ]; - hostName = "usbarmory"; defaultGateway = "172.16.0.1"; - nameservers = [ "8.8.8.8" ]; - firewall.enable = false; -}; - sound.enable = false; - services = { - nixosManual.enable = false; - openssh.enable = true; - openssh.permitRootLogin = "without-password"; - }; - fileSystems = { - "/boot" = { - device = "/dev/disk/by-label/NIXOS_BOOT"; - fsType = "vfat"; - }; - "/" = { - device = "/dev/disk/by-label/NIXOS_SD"; - fsType = "ext4"; - }; - }; + firewall.enable = lib.mkDefault false; + hostName = "usbarmory"; + interfaces.usb0.ip4 = [ + { address = "172.16.0.2"; prefixLength = 24; } + ]; + + nameservers = [ "8.8.8.8" ]; + }; + + nix = { + binaryCaches = [ "http://nixos-arm.dezgeg.me/channel" ]; + binaryCachePublicKeys = [ "nixos-arm.dezgeg.me-1:xBaUKS3n17BZPKeyxL4JfbTqECsT+ysbDJz29kLFRW0=%" ]; + }; + + nixpkgs.overlays = [(final: previous: { + linuxPackages_usbarmory = final.recurseIntoAttrs + (final.linuxPackagesFor (import ./kernel.nix { + inherit (final) stdenv buildLinux fetchurl; + })); + })]; + + sound.enable = lib.mkDefault false; + + services = { + openssh.enable = lib.mkDefault true; + openssh.permitRootLogin = lib.mkDefault "without-password"; + }; } diff --git a/inversepath/usbarmory/host.nix b/inversepath/usbarmory/host.nix index 87d4d954d30..42cef490c6f 100644 --- a/inversepath/usbarmory/host.nix +++ b/inversepath/usbarmory/host.nix @@ -1,34 +1,19 @@ -# -# Module for hosting the USB Armory -# - -{ ... }: - -let - staticDevName = "armory0"; -in +{ dev ? "armory0" }: { - imports = [ ../../lib/hardware-notes.nix ]; + services.udev.extraRules = '' + SUBSYSTEM=="net", ACTION=="add", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a4a2", NAME="${staticDevName}" + ''; - hardwareNotes = - [ { title = "USB Armory network interface support"; - text = - '' - rename the Armory USB network interface - - set Armory inteface ip to 10.0.0.2/24 - - enable NAT and forward Armory interface - - add the name 'armory' to /etc/hosts - ''; - } - ]; - - services.udev.extraRules = - ''SUBSYSTEM=="net", ACTION=="add", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a4a2", NAME="${staticDevName}"''; - - networking = - { interfaces."${staticDevName}".ip4 = [{ address = "10.0.0.2"; prefixLength = 24; }]; - nat = { enable = true; internalInterfaces = [ staticDevName ]; }; - extraHosts = "10.0.0.1 armory"; + networking = { + interfaces."${staticDevName}".ip4 = [{ + address = "10.0.0.2"; + prefixLength = 24; + }]; + nat = { + enable = true; + internalInterfaces = [ dev ]; }; - + extraHosts = "10.0.0.1 armory"; + }; } diff --git a/inversepath/usbarmory/kernel.config b/inversepath/usbarmory/kernel.config new file mode 100644 index 00000000000..e2fa2973793 --- /dev/null +++ b/inversepath/usbarmory/kernel.config @@ -0,0 +1,995 @@ +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_GENERIC_BUG=y +CONFIG_PGTABLE_LEVELS=2 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_EXTABLE_SORT=y +CONFIG_DMIID=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_LZ4=y +CONFIG_KERNEL_GZIP=y +CONFIG_DEFAULT_HOSTNAME="usbarmory" +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_FHANDLE=y +CONFIG_USELIB=y +CONFIG_AUDIT=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_HANDLE_DOMAIN_IRQ=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +CONFIG_NO_HZ_IDLE=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_PREEMPT_RCU=y +CONFIG_SRCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_BUILD_BIN2C=y +CONFIG_IKCONFIG=m +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_CGROUPS=y +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_IPC_NS=y +CONFIG_PID_NS=y +CONFIG_NET_NS=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_HAVE_UID16=y +CONFIG_BPF=y +CONFIG_EXPERT=y +CONFIG_UID16=y +CONFIG_MULTIUSER=y +CONFIG_SYSFS_SYSCALL=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y +CONFIG_MEMBARRIER=y +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_COMPAT_BRK=y +CONFIG_SLUB=y +CONFIG_HAVE_OPROFILE=y +CONFIG_JUMP_LABEL=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_SECCOMP_FILTER=y +CONFIG_HAVE_CC_STACKPROTECTOR=y +CONFIG_CC_STACKPROTECTOR_NONE=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_BLOCK=y +CONFIG_LBDAF=y +CONFIG_BLK_CMDLINE_PARSER=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_MSDOS_PARTITION=y +CONFIG_EFI_PARTITION=y +CONFIG_EFI_STUB=y +CONFIG_CMDLINE_PARTITION=y +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=m +CONFIG_IOSCHED_CFQ=m +CONFIG_DEFAULT_NOOP=y +CONFIG_DEFAULT_IOSCHED="noop" +CONFIG_ASN1=m +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_FREEZER=y +CONFIG_MMU=y +CONFIG_ARCH_MULTIPLATFORM=y +CONFIG_ARCH_MULTI_V7=y +CONFIG_ARCH_MULTI_V6_V7=y +CONFIG_ARCH_MXC=y +CONFIG_MXC_TZIC=y +CONFIG_HAVE_IMX_SRC=y +CONFIG_SOC_IMX5=y +CONFIG_SOC_IMX53=y +CONFIG_CPU_V7=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_HAS_ASID=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +CONFIG_ARM_THUMB=y +CONFIG_ARM_VIRT_EXT=y +CONFIG_KUSER_HELPERS=y +CONFIG_OUTER_CACHE=y +CONFIG_OUTER_CACHE_SYNC=y +CONFIG_MIGHT_HAVE_CACHE_L2X0=y +CONFIG_CACHE_L2X0=y +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +CONFIG_ARM_HEAVY_MB=y +CONFIG_MULTI_IRQ_HANDLER=y +CONFIG_HAVE_SMP=y +CONFIG_VMSPLIT_2G=y +CONFIG_PAGE_OFFSET=0x80000000 +CONFIG_ARCH_NR_GPIO=0 +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_HZ_FIXED=0 +CONFIG_HZ_100=y +CONFIG_HZ=100 +CONFIG_SCHED_HRTICK=y +CONFIG_AEABI=y +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_NO_BOOTMEM=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_COMPACTION=y +CONFIG_MIGRATION=y +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_NEED_PER_CPU_KM=y +CONFIG_CLEANCACHE=y +CONFIG_ZPOOL=m +CONFIG_ZBUD=m +CONFIG_ZSMALLOC=m +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ALIGNMENT_TRAP=y +CONFIG_SECCOMP=y +CONFIG_SWIOTLB=y +CONFIG_IOMMU_HELPER=y +CONFIG_USE_OF=y +CONFIG_ATAGS=y +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="noinitrd console=ttymxc0,115200 root=/dev/mmcblk0p1 rw rootfstype=ext4 ip=off" +CONFIG_CMDLINE_FROM_BOOTLOADER=y +CONFIG_AUTO_ZRELADDR=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_STAT=m +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=m +CONFIG_CPU_FREQ_GOV_USERSPACE=m +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m +CONFIG_CPUFREQ_DT=y +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_NEON=y +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_SCRIPT=y +CONFIG_COREDUMP=y +CONFIG_HIBERNATE_CALLBACKS=y +CONFIG_HIBERNATION=y +CONFIG_PM_STD_PARTITION="" +CONFIG_PM_SLEEP=y +CONFIG_PM=y +CONFIG_PM_OPP=y +CONFIG_PM_CLK=y +CONFIG_CPU_PM=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_NET=y +CONFIG_NET_INGRESS=y +CONFIG_PACKET=y +CONFIG_UNIX=y +CONFIG_XFRM=y +CONFIG_XFRM_ALGO=m +CONFIG_XFRM_USER=m +CONFIG_XFRM_SUB_POLICY=y +CONFIG_XFRM_MIGRATE=y +CONFIG_XFRM_STATISTICS=y +CONFIG_XFRM_IPCOMP=m +CONFIG_NET_KEY=m +CONFIG_NET_KEY_MIGRATE=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IP_TUNNEL=m +CONFIG_NET_IPGRE=m +CONFIG_NET_IPGRE_BROADCAST=y +CONFIG_SYN_COOKIES=y +CONFIG_NET_IPVTI=m +CONFIG_NET_UDP_TUNNEL=m +CONFIG_NET_FOU=m +CONFIG_NET_FOU_IP_TUNNELS=y +CONFIG_INET_AH=m +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_XFRM_TUNNEL=m +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=m +CONFIG_INET_XFRM_MODE_TUNNEL=m +CONFIG_INET_XFRM_MODE_BEET=m +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +CONFIG_INET_UDP_DIAG=m +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_BIC=m +CONFIG_TCP_CONG_CUBIC=y +CONFIG_TCP_CONG_WESTWOOD=m +CONFIG_TCP_CONG_HTCP=m +CONFIG_TCP_CONG_HSTCP=m +CONFIG_TCP_CONG_HYBLA=m +CONFIG_TCP_CONG_VEGAS=m +CONFIG_TCP_CONG_SCALABLE=m +CONFIG_TCP_CONG_LP=m +CONFIG_TCP_CONG_VENO=m +CONFIG_TCP_CONG_YEAH=m +CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_DEFAULT_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +CONFIG_TCP_MD5SIG=y +CONFIG_IPV6=m +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_MIP6=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m +CONFIG_IPV6_VTI=m +CONFIG_IPV6_SIT=m +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_NDISC_NODETYPE=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IPV6_GRE=m +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +CONFIG_IPV6_MROUTE=y +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=m +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=m +CONFIG_NF_CONNTRACK=m +CONFIG_NF_LOG_COMMON=m +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_BROADCAST=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +CONFIG_NF_CT_NETLINK_TIMEOUT=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_SIP=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_NAT_REDIRECT=m +CONFIG_NETFILTER_SYNPROXY=m +CONFIG_NETFILTER_XTABLES=m +CONFIG_NETFILTER_XT_TARGET_HL=m +CONFIG_NETFILTER_XT_TARGET_LED=m +CONFIG_NETFILTER_XT_NAT=m +CONFIG_NETFILTER_XT_TARGET_NETMAP=m +CONFIG_NETFILTER_XT_TARGET_REDIRECT=m +CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_BPF=m +CONFIG_NETFILTER_XT_MATCH_CGROUP=m +CONFIG_NETFILTER_XT_MATCH_ECN=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HL=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NF_CONNTRACK_PROC_COMPAT=y +CONFIG_NF_DUP_IPV4=m +CONFIG_NF_LOG_ARP=m +CONFIG_NF_LOG_IPV4=m +CONFIG_NF_REJECT_IPV4=m +CONFIG_NF_NAT_IPV4=m +CONFIG_NF_NAT_MASQUERADE_IPV4=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_RPFILTER=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m +CONFIG_IP_NF_NAT=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m +CONFIG_NF_DEFRAG_IPV6=m +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NF_DUP_IPV6=m +CONFIG_NF_REJECT_IPV6=m +CONFIG_NF_LOG_IPV6=m +CONFIG_NF_NAT_IPV6=m +CONFIG_NF_NAT_MASQUERADE_IPV6=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_NAT=m +CONFIG_IP6_NF_TARGET_MASQUERADE=m +CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_L2TP=m +CONFIG_STP=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +CONFIG_HAVE_NET_DSA=y +CONFIG_VLAN_8021Q=m +CONFIG_LLC=m +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_CLS=y +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_CGROUP=m +CONFIG_NET_CLS_BPF=m +CONFIG_NET_SCH_FIFO=y +CONFIG_CGROUP_NET_CLASSID=y +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +CONFIG_BPF_JIT=y +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_CFG80211=m +CONFIG_CFG80211_DEFAULT_PS=y +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_WEXT=y +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL_HT=y +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +CONFIG_HAVE_BPF_JIT=y +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="" +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_FW_LOADER=m +CONFIG_FIRMWARE_IN_KERNEL=y +CONFIG_EXTRA_FIRMWARE="" +CONFIG_SOC_BUS=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=m +CONFIG_REGMAP_MMIO=m +CONFIG_MTD=m +CONFIG_MTD_OF_PARTS=m +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +CONFIG_MTD_M25P80=m +CONFIG_MTD_BLOCK2MTD=m +CONFIG_MTD_SPI_NOR=m +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y +CONFIG_DTC=y +CONFIG_OF=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_NET=y +CONFIG_OF_MTD=y +CONFIG_OF_RESERVED_MEM=y +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_SRAM=y +CONFIG_EEPROM_93CX6=m +CONFIG_SCSI_MOD=m +CONFIG_SCSI=m +CONFIG_SCSI_DMA=y +CONFIG_SCSI_PROC_FS=y +CONFIG_BLK_DEV_SD=m +CONFIG_SCSI_LOWLEVEL=y +CONFIG_MD=y +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DM=y +CONFIG_DM_BUFIO=y +CONFIG_DM_CRYPT=y +CONFIG_DM_VERITY=y +CONFIG_NETDEVICES=y +CONFIG_NET_CORE=y +CONFIG_DUMMY=m +CONFIG_VXLAN=m +CONFIG_TUN=m +CONFIG_VETH=m +CONFIG_PPP=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=m +CONFIG_PPPOE=m +CONFIG_PPPOL2TP=m +CONFIG_SLHC=m +CONFIG_USB_NET_DRIVERS=m +CONFIG_WLAN=y +CONFIG_RTL8187=m +CONFIG_RT2X00=m +CONFIG_RT2500USB=m +CONFIG_RT73USB=m +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT3573=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_RT55XX=y +CONFIG_RT2800USB_UNKNOWN=y +CONFIG_RT2800_LIB=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_CRYPTO=y +CONFIG_RT2X00_LIB_LEDS=y +CONFIG_RT2X00_DEBUG=y +CONFIG_RTL_CARDS=m +CONFIG_RTL8192CU=m +CONFIG_RTLWIFI=m +CONFIG_RTLWIFI_USB=m +CONFIG_RTLWIFI_DEBUG=y +CONFIG_RTL8192C_COMMON=m +CONFIG_RTL8XXXU=m +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=m +CONFIG_INPUT_MOUSEDEV=m +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_EVDEV=m +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_PS2_FOCALTECH=y +CONFIG_MOUSE_SERIAL=m +CONFIG_MOUSE_SYNAPTICS_USB=m +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_PROPERTIES=y +CONFIG_TOUCHSCREEN_USB_COMPOSITE=m +CONFIG_TOUCHSCREEN_USB_E2I=y +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +CONFIG_SERIO_LIBPS2=y +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +CONFIG_DEVMEM=y +CONFIG_DEVKMEM=y +CONFIG_SERIAL_EARLYCON=y +CONFIG_SERIAL_IMX=y +CONFIG_SERIAL_IMX_CONSOLE=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_HW_RANDOM=m +CONFIG_I2C=m +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=m +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_IMX=m +CONFIG_SPI=y +CONFIG_SPI_DEBUG=y +CONFIG_SPI_MASTER=y +CONFIG_SPI_BITBANG=m +CONFIG_SPI_IMX=m +CONFIG_SPI_SPIDEV=m +CONFIG_PPS=y +CONFIG_PINCTRL=y +CONFIG_PINMUX=y +CONFIG_PINCONF=y +CONFIG_PINCTRL_IMX=y +CONFIG_PINCTRL_IMX53=y +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVRES=y +CONFIG_OF_GPIO=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_MXC=y +CONFIG_POWER_SUPPLY=y +CONFIG_POWER_AVS=y +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_SOFT_WATCHDOG=m +CONFIG_GPIO_WATCHDOG=m +CONFIG_IMX2_WDT=m +CONFIG_SSB_POSSIBLE=y +CONFIG_BCMA_POSSIBLE=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_LTC3589=m +CONFIG_DUMMY_CONSOLE=y +CONFIG_HID=y +CONFIG_HID_GENERIC=m +CONFIG_USB_HID=m +CONFIG_USB_HIDDEV=y +CONFIG_USB_KBD=m +CONFIG_USB_MOUSE=m +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=m +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=m +CONFIG_USB_DEFAULT_PERSIST=y +CONFIG_USB_OTG=y +CONFIG_USB_EHCI_HCD=m +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_STORAGE=m +CONFIG_USB_CHIPIDEA=m +CONFIG_USB_CHIPIDEA_OF=m +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_DEBUG=y +CONFIG_USB_PHY=y +CONFIG_NOP_USB_XCEIV=y +CONFIG_USB_GADGET=m +CONFIG_USB_GADGET_DEBUG_FS=y +CONFIG_USB_GADGET_VBUS_DRAW=500 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +CONFIG_USB_LIBCOMPOSITE=m +CONFIG_USB_F_ACM=m +CONFIG_USB_F_SS_LB=m +CONFIG_USB_U_SERIAL=m +CONFIG_USB_U_ETHER=m +CONFIG_USB_F_SERIAL=m +CONFIG_USB_F_OBEX=m +CONFIG_USB_F_NCM=m +CONFIG_USB_F_ECM=m +CONFIG_USB_F_EEM=m +CONFIG_USB_F_SUBSET=m +CONFIG_USB_F_RNDIS=m +CONFIG_USB_F_MASS_STORAGE=m +CONFIG_USB_F_FS=m +CONFIG_USB_F_HID=m +CONFIG_USB_F_PRINTER=m +CONFIG_USB_CONFIGFS=m +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_OBEX=y +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_ECM=y +CONFIG_USB_CONFIGFS_ECM_SUBSET=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +CONFIG_USB_CONFIGFS_F_LB_SS=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_HID=y +CONFIG_USB_CONFIGFS_F_PRINTER=y +CONFIG_USB_ZERO=m +CONFIG_USB_ETH=m +CONFIG_USB_ETH_RNDIS=y +CONFIG_USB_ETH_EEM=y +CONFIG_USB_G_NCM=m +CONFIG_USB_GADGETFS=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_FUNCTIONFS_ETH=y +CONFIG_USB_FUNCTIONFS_RNDIS=y +CONFIG_USB_FUNCTIONFS_GENERIC=y +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_G_SERIAL=m +CONFIG_USB_G_PRINTER=m +CONFIG_USB_CDC_COMPOSITE=m +CONFIG_USB_G_ACM_MS=m +CONFIG_USB_G_MULTI=m +CONFIG_USB_G_MULTI_RNDIS=y +CONFIG_USB_G_MULTI_CDC=y +CONFIG_USB_G_HID=m +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_BLOCK_BOUNCE=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_ESDHC_IMX=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=m +CONFIG_LEDS_GPIO=m +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LEDS_TRIGGER_ONESHOT=m +CONFIG_LEDS_TRIGGER_HEARTBEAT=m +CONFIG_LEDS_TRIGGER_BACKLIGHT=m +CONFIG_LEDS_TRIGGER_CPU=y +CONFIG_LEDS_TRIGGER_GPIO=m +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m +CONFIG_LEDS_TRIGGER_TRANSIENT=m +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_SUPPORT=y +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +CONFIG_RTC_INTF_DEV_UIE_EMUL=y +CONFIG_RTC_DRV_IMXDI=y +CONFIG_RTC_DRV_MXC=y +CONFIG_DMADEVICES=y +CONFIG_DMA_ENGINE=y +CONFIG_DMA_OF=y +CONFIG_IMX_SDMA=m +CONFIG_CLKDEV_LOOKUP=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y +CONFIG_CLKSRC_OF=y +CONFIG_CLKSRC_PROBE=y +CONFIG_CLKSRC_MMIO=y +CONFIG_CLKSRC_IMX_GPT=y +CONFIG_IOMMU_SUPPORT=y +CONFIG_EXTCON=m +CONFIG_IRQCHIP=y +CONFIG_ARCH_HAS_RESET_CONTROLLER=y +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +CONFIG_JBD2=y +CONFIG_FS_MBCACHE=y +CONFIG_EXPORTFS=y +CONFIG_FILE_LOCKING=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +CONFIG_AUTOFS4_FS=y +CONFIG_FUSE_FS=m +CONFIG_OVERLAY_FS=y +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +CONFIG_NTFS_FS=m +CONFIG_NTFS_RW=y +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_CONFIGFS_FS=y +CONFIG_MISC_FILESYSTEMS=y +CONFIG_ECRYPT_FS=m +CONFIG_ECRYPT_FS_MESSAGING=y +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +CONFIG_JFFS2_ZLIB=y +CONFIG_JFFS2_RTIME=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_DIRECT=y +CONFIG_SQUASHFS_DECOMP_SINGLE=y +CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_LZ4=y +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=m +CONFIG_NFS_V2=m +CONFIG_NFS_V3=m +CONFIG_NFSD=m +CONFIG_NFSD_V3=y +CONFIG_GRACE_PERIOD=m +CONFIG_LOCKD=m +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=m +CONFIG_CIFS=m +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_UTF8=y +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 +CONFIG_DEBUG_FS=y +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_DEBUG_KERNEL=y +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_LOCKUP_DETECTOR=y +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=1 +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=0 +CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y +CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=1 +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=5 +CONFIG_SCHED_DEBUG=y +CONFIG_DEBUG_BUGVERBOSE=y +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_TRACING_SUPPORT=y +CONFIG_LKDTM=m +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_STRICT_DEVMEM=y +CONFIG_ARM_UNWIND=y +CONFIG_DEBUG_IMX_UART_PORT=1 +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +CONFIG_KEYS=y +CONFIG_ENCRYPTED_KEYS=m +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_INTEGRITY=y +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_DEFAULT_SECURITY="" +CONFIG_CRYPTO=y +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=m +CONFIG_CRYPTO_PCOMP=m +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_AKCIPHER2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_USER=m +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_GF128MUL=y +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CTR=m +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_XTS=y +CONFIG_CRYPTO_CMAC=m +CONFIG_CRYPTO_HMAC=m +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_AES=y +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_ZLIB=m +CONFIG_CRYPTO_LZO=m +CONFIG_CRYPTO_ANSI_CPRNG=m +CONFIG_CRYPTO_DRBG_MENU=m +CONFIG_CRYPTO_DRBG_HMAC=y +CONFIG_CRYPTO_DRBG_HASH=y +CONFIG_CRYPTO_DRBG_CTR=y +CONFIG_CRYPTO_DRBG=m +CONFIG_CRYPTO_JITTERENTROPY=m +CONFIG_CRYPTO_USER_API=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_USER_API_RNG=m +CONFIG_CRYPTO_HASH_INFO=y +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_DEV_SAHARA=y +CONFIG_ASYMMETRIC_KEY_TYPE=m +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m +CONFIG_PUBLIC_KEY_ALGO_RSA=m +CONFIG_X509_CERTIFICATE_PARSER=m +CONFIG_PKCS7_MESSAGE_PARSER=m +CONFIG_BITREVERSE=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_RATIONAL=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_CRC_CCITT=m +CONFIG_CRC16=y +CONFIG_CRC_ITU_T=m +CONFIG_CRC32=y +CONFIG_CRC32_SLICEBY8=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_LZ4_DECOMPRESS=y +CONFIG_DECOMPRESS_GZIP=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_DQL=y +CONFIG_NLATTR=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +CONFIG_CLZ_TAB=y +CONFIG_MPILIB=m +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=m +CONFIG_ARCH_HAS_SG_CHAIN=y diff --git a/inversepath/usbarmory/kernel.nix b/inversepath/usbarmory/kernel.nix new file mode 100644 index 00000000000..4cf6fd7fdb8 --- /dev/null +++ b/inversepath/usbarmory/kernel.nix @@ -0,0 +1,20 @@ +{ stdenv, buildLinux, fetchurl }: + +buildLinux { + inherit stdenv; + version = "4.4.0"; + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v4.x/linux-4.4.tar.xz"; + sha256 = "401d7c8fef594999a460d10c72c5a94e9c2e1022f16795ec51746b0d165418b2"; + }; + + configfile = ./kernel.config; + + kernelPatches = [{ + patch = ./usbarmory-dts.patch; + name = "usbarmory-dts"; + }]; + + allowImportFromDerivation = true; +} diff --git a/inversepath/usbarmory/usbarmory_dts.patch b/inversepath/usbarmory/usbarmory-dts.patch similarity index 100% rename from inversepath/usbarmory/usbarmory_dts.patch rename to inversepath/usbarmory/usbarmory-dts.patch diff --git a/tests/eval-test.sh b/tests/eval-test.sh index 72d634199d8..00970b77563 100755 --- a/tests/eval-test.sh +++ b/tests/eval-test.sh @@ -2,16 +2,7 @@ cd $(dirname $0)/.. -skip_paths=( - ./inversepath/usbarmory/* - ./tests/* -) - -find=(find . -name *.nix) - -for path in ${skip_paths[@]}; do - find+=(-not -path $path) -done +find=(find . -name default.nix) for profile in `${find[@]}`; do echo evaluating $profile >&2 From 4d498aff1a147f06d71a8e96d17bbba9df5ae926 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 18:00:51 +0000 Subject: [PATCH 091/274] tests: move to _tests --- {tests => _tests}/eval-test.nix | 0 {tests => _tests}/eval-test.sh | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename {tests => _tests}/eval-test.nix (100%) rename {tests => _tests}/eval-test.sh (86%) diff --git a/tests/eval-test.nix b/_tests/eval-test.nix similarity index 100% rename from tests/eval-test.nix rename to _tests/eval-test.nix diff --git a/tests/eval-test.sh b/_tests/eval-test.sh similarity index 86% rename from tests/eval-test.sh rename to _tests/eval-test.sh index 00970b77563..311208e0d45 100755 --- a/tests/eval-test.sh +++ b/_tests/eval-test.sh @@ -8,7 +8,7 @@ for profile in `${find[@]}`; do echo evaluating $profile >&2 nixos-rebuild \ - -I nixos-config=tests/eval-test.nix \ + -I nixos-config=_tests/eval-test.nix \ -I nixos-hardware-profile=$profile \ dry-build From 38fd4c1541145385ab707c174cc482ac61b1765e Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 19:18:27 +0000 Subject: [PATCH 092/274] README: seperate -> separate --- README.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.org b/README.org index 8f8c0eea5e8..1a632ac0a09 100644 --- a/README.org +++ b/README.org @@ -33,7 +33,7 @@ For example, to enable ThinkPad X220 profile, your ~imports~ should look like: Profiles should favor usability and stability, so performance hacks should be activated by an additional NixOS option or conservative and performance configs -can be declared in seperate profiles. +can be declared in separate profiles. Because profiles can only be tested with the appropriate hardware, quality assurance is up to *you*. From 8abb6374c10de9e174722733faa7c3e4f40a9c7f Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 19:34:39 +0000 Subject: [PATCH 093/274] README: extract CONTRIBUTING, clean up --- CONTRIBUTING.org | 6 ++++++ README.org | 33 +++++++++++++-------------------- 2 files changed, 19 insertions(+), 20 deletions(-) create mode 100644 CONTRIBUTING.org diff --git a/CONTRIBUTING.org b/CONTRIBUTING.org new file mode 100644 index 00000000000..fc6ed8a8dd4 --- /dev/null +++ b/CONTRIBUTING.org @@ -0,0 +1,6 @@ +Profiles should favor usability and stability, so performance hacks should be +activated by an additional NixOS option or conservative and performance configs +can be declared in separate profiles. + +Because profiles can only be tested with the appropriate hardware, quality +assurance is up to *you*. diff --git a/README.org b/README.org index 1a632ac0a09..f08f03228fa 100644 --- a/README.org +++ b/README.org @@ -1,13 +1,21 @@ NixOS profiles covering hardware quirks. -Add a new channel: +** Setup + +Add and update ~nixos-hardware~ channel: : $ sudo nix-channel --add https://github.com/NixOS/nixos-hardware/archive/master.tar.gz nixos-hardware : $ sudo nix-channel --update nixos-hardware -Then add an appropriate profile path to ~imports~ in -~/etc/nixos/configuration.nix~. Currently available profiles: +Then import an appropriate profile path from the table below. For example, to +enable ThinkPad X220 profile, your ~imports~ in ~/etc/nixos/configuration.nix~ +should look like: + : imports = [ ./hardware-configuration.nix ]; + +** Profiles + +|---------------------------+--------------------------------------------| | Model | Path | |---------------------------+--------------------------------------------| | Acer Aspire 4810T | ~~ | @@ -15,6 +23,7 @@ Then add an appropriate profile path to ~imports~ in | Apple MacBook Pro 10,1 | ~~ | | Apple MacBook Pro 12,1 | ~~ | | Dell XPS 15 9550 | ~~ | +| Inverse Path USB armory | ~~ | | Lenovo IdeaPad Z510 | ~~ | | Lenovo ThinkPad T410 | ~~ | | Lenovo ThinkPad T440p | ~~ | @@ -26,20 +35,4 @@ Then add an appropriate profile path to ~imports~ in | Samsung Series 9 NP900X3C | ~~ | | Supermicro A1SRi-2758F | ~~ | | Supermicro X10SLL-F | ~~ | - -For example, to enable ThinkPad X220 profile, your ~imports~ should look like: - - : imports = [ ./hardware-configuration.nix ]; - -Profiles should favor usability and stability, so performance hacks should be -activated by an additional NixOS option or conservative and performance configs -can be declared in separate profiles. - -Because profiles can only be tested with the appropriate hardware, quality -assurance is up to *you*. - -** Simple tips and tricks - -*** Disable PC speaker - - : boot.blacklistedKernelModules = [ "pcspkr" ]; +|---------------------------+--------------------------------------------| From b63e0eb372b00d4cb5ca552ae9583bdb593f07dd Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 22:21:53 +0000 Subject: [PATCH 094/274] Revert "tests: move to _tests" This reverts commit 4d498aff1a147f06d71a8e96d17bbba9df5ae926. --- {_tests => tests}/eval-test.nix | 0 {_tests => tests}/eval-test.sh | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename {_tests => tests}/eval-test.nix (100%) rename {_tests => tests}/eval-test.sh (86%) diff --git a/_tests/eval-test.nix b/tests/eval-test.nix similarity index 100% rename from _tests/eval-test.nix rename to tests/eval-test.nix diff --git a/_tests/eval-test.sh b/tests/eval-test.sh similarity index 86% rename from _tests/eval-test.sh rename to tests/eval-test.sh index 311208e0d45..00970b77563 100755 --- a/_tests/eval-test.sh +++ b/tests/eval-test.sh @@ -8,7 +8,7 @@ for profile in `${find[@]}`; do echo evaluating $profile >&2 nixos-rebuild \ - -I nixos-config=_tests/eval-test.nix \ + -I nixos-config=tests/eval-test.nix \ -I nixos-hardware-profile=$profile \ dry-build From 5407ba7a5242062edeaf3dbcd42d533b9ff96023 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 23:21:05 +0000 Subject: [PATCH 095/274] treewide: abstract away common configs into common/ --- acer/aspire/4810t/default.nix | 13 ++++++------- airis/n990/default.nix | 7 +++---- apple/macbook-pro/10-1/default.nix | 9 ++++++--- apple/macbook-pro/12-1/default.nix | 3 ++- apple/macbook-pro/default.nix | 7 +++++++ common/README.org | 2 ++ common/cpu/amd/default.nix | 3 +++ common/cpu/intel/default.nix | 4 ++++ common/pc/default.nix | 5 +++++ common/pc/hdd/default.nix | 7 +++++++ common/pc/laptop/default.nix | 11 +++++++++++ common/pc/laptop/hdd/default.nix | 8 ++++++++ common/pc/laptop/ssd | 1 + common/pc/ssd/default.nix | 7 +++++++ dell/xps/15-9550/default.nix | 8 ++++++-- lenovo/ideapad/default.nix | 3 +++ lenovo/ideapad/z510/default.nix | 5 ++++- lenovo/thinkpad/default.nix | 5 +++-- lenovo/thinkpad/t410/default.nix | 10 +++++----- lenovo/thinkpad/t440p/default.nix | 7 ++++--- lenovo/thinkpad/t460s/default.nix | 9 +++++---- lenovo/thinkpad/x140e/default.nix | 5 ++++- lenovo/thinkpad/x220/default.nix | 11 ++++++----- 23 files changed, 112 insertions(+), 38 deletions(-) create mode 100644 apple/macbook-pro/default.nix create mode 100644 common/README.org create mode 100644 common/cpu/amd/default.nix create mode 100644 common/cpu/intel/default.nix create mode 100644 common/pc/default.nix create mode 100644 common/pc/hdd/default.nix create mode 100644 common/pc/laptop/default.nix create mode 100644 common/pc/laptop/hdd/default.nix create mode 120000 common/pc/laptop/ssd create mode 100644 common/pc/ssd/default.nix create mode 100644 lenovo/ideapad/default.nix diff --git a/acer/aspire/4810t/default.nix b/acer/aspire/4810t/default.nix index ed0e923a85c..f21d630478d 100644 --- a/acer/aspire/4810t/default.nix +++ b/acer/aspire/4810t/default.nix @@ -1,6 +1,11 @@ { lib, ... }: { + imports = [ + ../../../common/cpu/intel + ../../../common/pc/laptop + ]; + boot = { initrd.kernelModules = [ "ata_piix" ]; kernelParams = [ @@ -8,6 +13,7 @@ "acpi=on" "vga=0x317" "video=vesafb:ywrap" + # Important, to disable Kernel Mode Setting for the graphics card # This will allow backlight regulation "nomodeset" @@ -17,13 +23,6 @@ hardware.opengl.driSupport = false; services.xserver = { - enable = lib.mkDefault true; defaultDepth = lib.mkDefault 24; - videoDrivers = [ "intel" ]; - autorun = lib.mkDefault true; - synaptics = { - enable = lib.mkDefault true; - dev = "/dev/input/event8"; - }; }; } diff --git a/airis/n990/default.nix b/airis/n990/default.nix index 7c45d2a2b3d..ae06813131a 100644 --- a/airis/n990/default.nix +++ b/airis/n990/default.nix @@ -1,6 +1,8 @@ { lib, pkgs, ... }: { + imports = [ ../../common/pc/laptop ]; + boot = { initrd.kernelModules = [ "pata_via" ]; @@ -15,8 +17,5 @@ hardware.firmware = with pkgs; [ intel2200BGFirmware ]; - services.xserver = { - synaptics.enable = lib.mkDefault true; - videoDrivers = [ "unichrome" ]; - }; + services.xserver.videoDrivers = [ "openchrome" ]; } diff --git a/apple/macbook-pro/10-1/default.nix b/apple/macbook-pro/10-1/default.nix index 0fa8a2f4bc2..06e7486fb75 100644 --- a/apple/macbook-pro/10-1/default.nix +++ b/apple/macbook-pro/10-1/default.nix @@ -1,16 +1,19 @@ { lib, pkgs, ... }: { - imports = [ ../../. ]; + imports = [ + ../. + ../../../common/pc/laptop/ssd + ]; + # TODO: boot loader boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; + # TODO: drop hardware.opengl.driSupport32Bit = true; services.xserver = { - libinput.enable = lib.mkDefault true; - # TODO: we should not enable unfree drivers # when there is an alternative (i.e. nouveau) videoDrivers = [ "nvidia" ]; diff --git a/apple/macbook-pro/12-1/default.nix b/apple/macbook-pro/12-1/default.nix index 63c36db6472..02c6f328cf5 100644 --- a/apple/macbook-pro/12-1/default.nix +++ b/apple/macbook-pro/12-1/default.nix @@ -2,7 +2,8 @@ { imports = [ - ../../. + ../. + ../../../common/pc/laptop/ssd ]; diff --git a/apple/macbook-pro/default.nix b/apple/macbook-pro/default.nix new file mode 100644 index 00000000000..4ced65a382e --- /dev/null +++ b/apple/macbook-pro/default.nix @@ -0,0 +1,7 @@ +{ + imports = [ + ../. + ../../common/cpu/intel + ../../common/pc/laptop + ]; +} diff --git a/common/README.org b/common/README.org new file mode 100644 index 00000000000..3239e2f23b9 --- /dev/null +++ b/common/README.org @@ -0,0 +1,2 @@ +*NB!* This subtree is subject to change. Please don't import from here directly +for now, unless you're OK that things might break at any point in time. diff --git a/common/cpu/amd/default.nix b/common/cpu/amd/default.nix new file mode 100644 index 00000000000..a8a36b2c91b --- /dev/null +++ b/common/cpu/amd/default.nix @@ -0,0 +1,3 @@ +{ + hardware.cpu.amd.updateMicrocode = true; +} diff --git a/common/cpu/intel/default.nix b/common/cpu/intel/default.nix new file mode 100644 index 00000000000..e3ce9193050 --- /dev/null +++ b/common/cpu/intel/default.nix @@ -0,0 +1,4 @@ +{ + hardware.cpu.intel.updateMicrocode = true; + services.xserver.videoDrivers = [ "intel" ]; +} diff --git a/common/pc/default.nix b/common/pc/default.nix new file mode 100644 index 00000000000..0b498ff1d20 --- /dev/null +++ b/common/pc/default.nix @@ -0,0 +1,5 @@ +{ lib, ... }: + +{ + services.xserver.libinput.enable = lib.mkDefault true; +} diff --git a/common/pc/hdd/default.nix b/common/pc/hdd/default.nix new file mode 100644 index 00000000000..8cc5ada0deb --- /dev/null +++ b/common/pc/hdd/default.nix @@ -0,0 +1,7 @@ +{ lib, ... }: + +{ + boot.kernel.sysctl = { + "vm.swappiness" = lib.mkDefault 10; + }; +} diff --git a/common/pc/laptop/default.nix b/common/pc/laptop/default.nix new file mode 100644 index 00000000000..305c160e209 --- /dev/null +++ b/common/pc/laptop/default.nix @@ -0,0 +1,11 @@ +{ lib, ... }: + +{ + imports = [ ../. ]; + + boot.kernel.sysctl = { + "vm.laptop_mode" = lib.mkDefault 5; + }; + + services.tlp.enable = lib.mkDefault true; +} diff --git a/common/pc/laptop/hdd/default.nix b/common/pc/laptop/hdd/default.nix new file mode 100644 index 00000000000..63f29d458c2 --- /dev/null +++ b/common/pc/laptop/hdd/default.nix @@ -0,0 +1,8 @@ +{ lib, ... }: + +{ + imports = [ ../../hdd ]; + + # Hard disk protection if the laptop falls: + services.hdapsd.enable = lib.mkDefault true; +} diff --git a/common/pc/laptop/ssd b/common/pc/laptop/ssd new file mode 120000 index 00000000000..e313834a437 --- /dev/null +++ b/common/pc/laptop/ssd @@ -0,0 +1 @@ +../ssd \ No newline at end of file diff --git a/common/pc/ssd/default.nix b/common/pc/ssd/default.nix new file mode 100644 index 00000000000..af0b49568cd --- /dev/null +++ b/common/pc/ssd/default.nix @@ -0,0 +1,7 @@ +{ lib, ... }: + +{ + boot.kernel.sysctl = { + "vm.swappiness" = lib.mkDefault 1; + }; +} diff --git a/dell/xps/15-9550/default.nix b/dell/xps/15-9550/default.nix index e0bb70058ab..90cfc6e2936 100644 --- a/dell/xps/15-9550/default.nix +++ b/dell/xps/15-9550/default.nix @@ -1,11 +1,15 @@ { lib, ... }: { + imports = [ + ../../../common/cpu/intel + ../../../common/pc/laptop + ]; + + # TODO: boot loader boot.loader.systemd-boot.enable = lib.mkDefault true; boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; # To just use Intel integrated graphics with Intel's open source driver # hardware.nvidiaOptimus.disable = true; - - services.xserver.libinput.enable = lib.mkDefault true; } diff --git a/lenovo/ideapad/default.nix b/lenovo/ideapad/default.nix new file mode 100644 index 00000000000..d774ba3793a --- /dev/null +++ b/lenovo/ideapad/default.nix @@ -0,0 +1,3 @@ +{ + imports = [ ../../common/pc/laptop ]; +} diff --git a/lenovo/ideapad/z510/default.nix b/lenovo/ideapad/z510/default.nix index 4c8edf38f21..83f65680685 100644 --- a/lenovo/ideapad/z510/default.nix +++ b/lenovo/ideapad/z510/default.nix @@ -1,7 +1,10 @@ { lib, ... }: { - hardware.cpu.intel.updateMicrocode = lib.mkDefault true; + imports = [ + ../. + ../../../common/cpu/intel + ]; # https://github.com/NixOS/nixpkgs/issues/18356 boot.blacklistedKernelModules = [ "nouveau" ]; diff --git a/lenovo/thinkpad/default.nix b/lenovo/thinkpad/default.nix index ae9804b6718..52d09bcf9df 100644 --- a/lenovo/thinkpad/default.nix +++ b/lenovo/thinkpad/default.nix @@ -1,9 +1,10 @@ { lib, pkgs, ... }: { + imports = [ ../../common/pc/laptop ]; + hardware.trackpoint.enable = lib.mkDefault true; - services.tlp.enable = lib.mkDefault true; - services.xserver.libinput.enable = lib.mkDefault true; + services.thinkfan.enable = lib.mkDefault true; # Fingerprint reader: login and unlock with fingerprint (if you add one with `fprintd-enroll`) # services.fprintd.enable = true; diff --git a/lenovo/thinkpad/t410/default.nix b/lenovo/thinkpad/t410/default.nix index 568d9e65c57..737e91fe0c3 100644 --- a/lenovo/thinkpad/t410/default.nix +++ b/lenovo/thinkpad/t410/default.nix @@ -1,7 +1,11 @@ { config, lib, pkgs, ... }: { - imports = [ ../. ../tp-smapi.nix ]; + imports = [ + ../. + ../tp-smapi.nix + ../../../common/cpu/intel + ]; boot = { kernelParams = [ @@ -27,8 +31,4 @@ "sierra_net" "cdc_mbim" "cdc_ncm" "btusb" ]; }; - - hardware.cpu.intel.updateMicrocode = lib.mkDefault true; - - services.xserver.videoDrivers = [ "intel" ]; } diff --git a/lenovo/thinkpad/t440p/default.nix b/lenovo/thinkpad/t440p/default.nix index ddf6bd8ae9d..464c874dc60 100644 --- a/lenovo/thinkpad/t440p/default.nix +++ b/lenovo/thinkpad/t440p/default.nix @@ -1,7 +1,10 @@ { config, lib, pkgs, ... }: { - imports = [ ../. ]; + imports = [ + ../. + ../../../common/cpu/intel + ]; boot = { extraModprobeConfig = lib.mkDefault '' @@ -9,6 +12,4 @@ ''; kernelModules = [ "tpm-rng" ]; }; - - services.xserver.videoDrivers = [ "intel" ]; } diff --git a/lenovo/thinkpad/t460s/default.nix b/lenovo/thinkpad/t460s/default.nix index ffe6ec33c00..41558a35b7f 100644 --- a/lenovo/thinkpad/t460s/default.nix +++ b/lenovo/thinkpad/t460s/default.nix @@ -1,11 +1,12 @@ { config, lib, pkgs, ... }: { - imports = [ ../. ]; + imports = [ + ../../../common/cpu/intel + ../. + ]; - # Use the gummiboot efi boot loader. (From default generated configuration.nix) + # TODO: boot loader boot.loader.systemd-boot.enable = lib.mkDefault true; boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; - - services.xserver.videoDrivers = [ "intel" ]; } diff --git a/lenovo/thinkpad/x140e/default.nix b/lenovo/thinkpad/x140e/default.nix index 81f67addcd8..c03410e936e 100644 --- a/lenovo/thinkpad/x140e/default.nix +++ b/lenovo/thinkpad/x140e/default.nix @@ -1,7 +1,10 @@ { config, lib, pkgs, ... }: { - imports = [ ../. ]; + imports = [ + ../. + ../../../common/cpu/amd + ]; boot.extraModprobeConfig = lib.mkDefault '' options snd_hda_intel enable=0,1 diff --git a/lenovo/thinkpad/x220/default.nix b/lenovo/thinkpad/x220/default.nix index efa67fc6a82..e821f966fa5 100644 --- a/lenovo/thinkpad/x220/default.nix +++ b/lenovo/thinkpad/x220/default.nix @@ -1,9 +1,10 @@ { config, lib, pkgs, ... }: { - imports = [ ../. ../tp-smapi.nix ]; - - # hard disk protection if the laptop falls - services.hdapsd.enable = lib.mkDefault true; - services.xserver.videoDrivers = [ "intel" ]; + imports = [ + ../. + ../../../common/cpu/intel + ../../../common/pc/laptop/hdd + ../tp-smapi.nix + ]; } From 1c54b711e500a63350bff3b60e35e221bc9433ab Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 23:23:39 +0000 Subject: [PATCH 096/274] common: drop notice I didn't mean to commit that. I'm pretty sure common/ is a good name, and basic layout is unlikely to change. --- common/README.org | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 common/README.org diff --git a/common/README.org b/common/README.org deleted file mode 100644 index 3239e2f23b9..00000000000 --- a/common/README.org +++ /dev/null @@ -1,2 +0,0 @@ -*NB!* This subtree is subject to change. Please don't import from here directly -for now, unless you're OK that things might break at any point in time. From aa70bfe955c6d08ca6dacadb46a7063c9ef38de1 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 24 Dec 2017 23:44:25 +0000 Subject: [PATCH 097/274] asus/m60j-jx041v: drop (README only) It's not useful and links are broken. --- asus/m60j-jx041v/README.wiki | 98 ------------------------------------ 1 file changed, 98 deletions(-) delete mode 100644 asus/m60j-jx041v/README.wiki diff --git a/asus/m60j-jx041v/README.wiki b/asus/m60j-jx041v/README.wiki deleted file mode 100644 index 51a0cd12edd..00000000000 --- a/asus/m60j-jx041v/README.wiki +++ /dev/null @@ -1,98 +0,0 @@ -This page is a work in progress. - -= Overview = - -Most of the features seem to be working with Linux 2.6.32. - -== Hardware == - -* Ethernet: Attansic Technology Corp. Device 1063 (rev c0) -* Wireless: Intel Corporation Wifi Link 100 Series -* Bluetooth: -* Sound: Realtek ALC269 -* Video: nVidia GeForce GT 240M -* Video RAM: 1GB DDR3 -* CPU: Core i7 720 QM (4 core, 2 threads per core) -* RAM: 4 GB -* HDD: 2* 320 GB, 5200 rpm. -* Fingerprint Sensor. - -== Support == - -* Ethernet: Yes. -* Wireless: Yes. -* Bluetooth: Yes. -* Sound: Yes. -* Video: Yes. (dual screen working fine) -* Software Raid: Yes. -* Keyboard: some Function (Fn) keys are not recognized / mapped correctly. -* Fingerprint Sensor: Not tested. (listed by lshal) - -== Tests == - -* Video: -** Maximal Resolution: 1366x768 -** glxgears: 1859.8 FPS @ 1366x768 - -= Configuration = - -You can see the configuration file specific to this computer at [https://svn.nixos.org/repos/nix/configurations/trunk/computer/asus/m60j/jx041v.nix configurations/computer/asus/m60j/jx041v.nix] - -= Problems & Solutions = - -== No Ethernet == - -This problem appear if you are using an old kernel. - -
[root@nixos:]# lspci -v | sed -n '/Ethernet/ { :loop p; n; s/^$//; T loop; q}'
-07:00.0 Ethernet controller: Attansic Technology Corp. Device 1063 (rev c0)
-        ...
-        Kernel driver in use: atl1c
-        Kernel modules: atl1c
-
- -While searching on the web you find that this ethernet device need the kernel module atl1e instead of atl1c. The following sources explain how to unpack & compile & install such module on usual distributions. As we are on a NixOS, things are a bit different. - -To follow the instruction you need to find a way to copy the module sources of AR81Family-linux-v1.0.0.10.tar.gz ([http://www.backtrack.it/~emgent/hackstuff/Attansic/ http://www.backtrack.it/~emgent/hackstuff/Attansic/]) on the targeted device. - -
-# avoid messing up your term
-[root@nixos:]# initctl stop dhclient
-# add dependencies in the environment
-[root@nixos:]# nix-env -i gcc gnumake
-[root@nixos:]# ln -s /nix/store/*-linux-$(uname -r)/lib /lib
-# unpack & compile
-[root@nixos:]# mkdir /tmp/AR81Family-linux
-[root@nixos:]# cp .../AR81Family-linux-v1.0.0.10.tar.gz .
-[root@nixos:]# yes y | tar xzf AR81Family-linux-v1.0.0.10.tar.gz
-[root@nixos:]# cd src
-[root@nixos:]# make
-# Replace the current module
-[root@nixos:]# rmmod atl1c
-[root@nixos:]# modprobe /tmp/AR81Family-linux/src/atl1e.ko
-# start fetching an IP address.
-[root@nixos:]# initctl start dhclient
-
- -At the end, you end up with a working interface and the following result: - -
[root@nixos:]# lspci -v | sed -n '/Ethernet/ { :loop p; n; s/^$//; T loop; q}'
-07:00.0 Ethernet controller: Attansic Technology Corp. Device 1063 (rev c0)
-        ...
-        Kernel driver in use: atheros_eth
-        Kernel modules: atl1c
-
- -Many reference to AR81Family-linux-v1.0.1.0.tar.gz can be found on the web, but the manufacturer links are broken. - -Sources: -* [http://platonic.techfiz.info/2009/10/25/ethernet-controller-attansic-technology-corp-device-1063-on-ubuntu/ http://platonic.techfiz.info/2009/10/25/ethernet-controller-attansic-technology-corp-device-1063-on-ubuntu/] - -== Grub == - -* Changing the boot sequence in the BIOS is changing the apparent mapping of hard-drives. Thus hd0 and hd1 are inverted in GRUB 2. -* The MBR is not restored by the recovery CDs. - -[[Category:Installation]] -[[Category:Hardware]] -[[Category:Laptops]] From db483616db2f283fd422b02520b1ba2a0cedba88 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 25 Dec 2017 01:24:54 +0000 Subject: [PATCH 098/274] apple/macbook-air/6: init --- apple/macbook-air/6/default.nix | 14 ++++++++++++++ apple/macbook-air/default.nix | 8 ++++++++ 2 files changed, 22 insertions(+) create mode 100644 apple/macbook-air/6/default.nix create mode 100644 apple/macbook-air/default.nix diff --git a/apple/macbook-air/6/default.nix b/apple/macbook-air/6/default.nix new file mode 100644 index 00000000000..9588b306138 --- /dev/null +++ b/apple/macbook-air/6/default.nix @@ -0,0 +1,14 @@ +{ config, lib, ... }: + +{ + imports = [ ../. ]; + + boot = { + extraModulePackages = with config.boot.kernelPackages; [ mba6x_bl ]; + kernelModules = [ "mba6x_bl" ]; + }; + + services.xserver.deviceSection = lib.mkDefault '' + Option "Backlight" "mba6x_backlight" + ''; +} diff --git a/apple/macbook-air/default.nix b/apple/macbook-air/default.nix new file mode 100644 index 00000000000..ea15175d031 --- /dev/null +++ b/apple/macbook-air/default.nix @@ -0,0 +1,8 @@ +{ + imports = [ + ../. + ../../common/cpu/intel + ../../common/pc/laptop + ../../common/pc/laptop/ssd + ]; +} From 5a1a527f1600d5132d255423cd2238e33c32ff5b Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 25 Dec 2017 01:28:02 +0000 Subject: [PATCH 099/274] apple: enable facetimehd if allowUnfree = true --- apple/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apple/default.nix b/apple/default.nix index 6fa8e5de705..903588360ec 100644 --- a/apple/default.nix +++ b/apple/default.nix @@ -1,5 +1,6 @@ -{ lib, ... }: +{ config, lib, ... }: { + hardware.facetimehd.enable = lib.mkDefault (config.nixpkgs.config.allowUnfree or false); services.mbpfan.enable = lib.mkDefault true; } From 9b3e42be63b5f4553ca7747643447ba6dd4e50ad Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 25 Dec 2017 01:51:02 +0000 Subject: [PATCH 100/274] apple: wrap hardware.facetimehd option --- apple/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apple/default.nix b/apple/default.nix index 903588360ec..723732228a9 100644 --- a/apple/default.nix +++ b/apple/default.nix @@ -1,6 +1,8 @@ { config, lib, ... }: { - hardware.facetimehd.enable = lib.mkDefault (config.nixpkgs.config.allowUnfree or false); + hardware.facetimehd.enable = lib.mkDefault + (config.nixpkgs.config.allowUnfree or false); + services.mbpfan.enable = lib.mkDefault true; } From a5df61571cbe313861705a5573e9a6e8481cd224 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 25 Dec 2017 01:51:51 +0000 Subject: [PATCH 101/274] raspberry-pi/2: format README --- raspberry-pi/2/{README.txt => README.org} | 24 +++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) rename raspberry-pi/2/{README.txt => README.org} (55%) diff --git a/raspberry-pi/2/README.txt b/raspberry-pi/2/README.org similarity index 55% rename from raspberry-pi/2/README.txt rename to raspberry-pi/2/README.org index 49f661fae7a..842919b1acf 100644 --- a/raspberry-pi/2/README.txt +++ b/raspberry-pi/2/README.org @@ -1,19 +1,23 @@ -imported from https://nixos.org/wiki/Raspberry_Pi_2 ** +** Status -# Status -The code in master as of June 2015 should be able to prepare a bootable NixOS for Raspberry PI 2. +The code in master as of June 2015 should be able to prepare a bootable NixOS +for Raspberry PI 2. There are still some drawbacks: -NixOS does not provide a /boot/config.txt (the FAT32 partition). -Making NixOS work in the Raspberry PI 2 is mainly the result of the recent work of ambro718, Dezgeg and viric (#nixos@irc.freenode.net). +NixOS does not provide a /boot/config.txt (the FAT32 partition). Making NixOS +work in the Raspberry PI 2 is mainly the result of the recent work of ambro718, +Dezgeg and viric (#nixos@irc.freenode.net). + +** Download + +If you want to test, you can flash this 4GB SD image (DOS partition table + +fat32 + ext4 rootfs): -# Download -If you want to test, you can flash this 4GB SD image (DOS partition table + fat32 + ext4 rootfs): magnet:?xt=urn:btih:0def3f6acb3bceddb22cb24098f58e40e2853ec2&dn=rpi2-nixos-4b09501f2-img.xz&tr=udp%3A%2F%2Fopen.demonii.com%3A1337&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80 Then you should be able to nixos-rebuild any configuration.nix changes. -The image is the result of a "nixos-install" alone. No root password has been set, and it does not include a nixpkgs checkout or channel. - -In fact I (viric) created the FS into a NBD, not a real SD, to create this image. +The image is the result of a "nixos-install" alone. No root password has been +set, and it does not include a nixpkgs checkout or channel. In fact I (viric) +created the FS into a NBD, not a real SD, to create this image. From e228c7827b5ac2b08f07433aa8fbc8f2c41e85a5 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 25 Dec 2017 04:30:32 +0000 Subject: [PATCH 102/274] apple: add hid_apple.iso_layout=0 kernel param In my experience, this makes keyboard behavior match letters printed on it both on EU and US keyboards. --- apple/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apple/default.nix b/apple/default.nix index 723732228a9..a2ee26230aa 100644 --- a/apple/default.nix +++ b/apple/default.nix @@ -1,6 +1,10 @@ { config, lib, ... }: { + boot.kernelParams = [ + "hid_apple.iso_layout=0" + ]; + hardware.facetimehd.enable = lib.mkDefault (config.nixpkgs.config.allowUnfree or false); From 88bd1266a78d88bea8efaec6ed6e2ba714f0872b Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 25 Dec 2017 04:32:30 +0000 Subject: [PATCH 103/274] apple/macbook-air/4: add --- apple/macbook-air/4/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 apple/macbook-air/4/default.nix diff --git a/apple/macbook-air/4/default.nix b/apple/macbook-air/4/default.nix new file mode 100644 index 00000000000..c6ed7e67ad6 --- /dev/null +++ b/apple/macbook-air/4/default.nix @@ -0,0 +1,7 @@ +{ + imports = [ ../. ]; + + boot.kernelParams = [ + "acpi_backlight=vendor" + ]; +} From f9a1ac62972dc755c70a8cf2c8b28989d6832369 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 25 Dec 2017 04:46:15 +0000 Subject: [PATCH 104/274] common/pc/laptop: disable cpuFreqGovernor --- common/pc/laptop/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/common/pc/laptop/default.nix b/common/pc/laptop/default.nix index 305c160e209..5da1e60a449 100644 --- a/common/pc/laptop/default.nix +++ b/common/pc/laptop/default.nix @@ -7,5 +7,10 @@ "vm.laptop_mode" = lib.mkDefault 5; }; + # TODO: fix in NixOS/nixpkgs + # Disable governor set in hardware-configuration.nix, + # required when services.tlp.enable is true: + powerManagement.cpuFreqGovernor = lib.mkForce null; + services.tlp.enable = lib.mkDefault true; } From 2227f2c67a3c3b7b31c9133acf5ddfdf2cd60ba5 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 25 Dec 2017 04:49:53 +0000 Subject: [PATCH 105/274] apple/macbook-air/4: resolve tearing --- apple/macbook-air/4/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apple/macbook-air/4/default.nix b/apple/macbook-air/4/default.nix index c6ed7e67ad6..146289de41e 100644 --- a/apple/macbook-air/4/default.nix +++ b/apple/macbook-air/4/default.nix @@ -1,7 +1,13 @@ +{ lib, ... }: + { imports = [ ../. ]; boot.kernelParams = [ "acpi_backlight=vendor" ]; + + services.xserver.deviceSection = lib.mkDefault '' + Option "TearFree" "true" + ''; } From a2c6590c3d07aaeda835bf2e23964a4f116e9407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 25 Dec 2017 14:15:16 +0100 Subject: [PATCH 106/274] add lenovo x250 (#38) Basically a meta profile that combines thinkpad + intel. --- README.org | 1 + lenovo/thinkpad/x250/default.nix | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 lenovo/thinkpad/x250/default.nix diff --git a/README.org b/README.org index f08f03228fa..b812182e850 100644 --- a/README.org +++ b/README.org @@ -30,6 +30,7 @@ should look like: | Lenovo ThinkPad T460s | ~~ | | Lenovo ThinkPad X140e | ~~ | | Lenovo ThinkPad X220 | ~~ | +| Lenovo ThinkPad X250 | ~~ | | Microsoft Surface Pro 3 | ~~ | | Raspberry Pi 2 | ~~ | | Samsung Series 9 NP900X3C | ~~ | diff --git a/lenovo/thinkpad/x250/default.nix b/lenovo/thinkpad/x250/default.nix new file mode 100644 index 00000000000..36a1a8e6036 --- /dev/null +++ b/lenovo/thinkpad/x250/default.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../. + ../../../common/cpu/intel + ]; + + # Thinkfan is enabled by thinkpad profile. + # However it requires to set a different `sensor` for this hardware, since there is no /proc/acpi/ibm/thermal + # Regulation also works fine without thinkfan daemon though. + services.thinkfan.enable = lib.mkOverride 900 false; + + # maintainers: Mic92 +} From e6091de6911e821a106fd97c3ecac92f3b2263fa Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 25 Dec 2017 13:30:03 +0000 Subject: [PATCH 107/274] README: add apple/macbook-air/{4,6} --- README.org | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.org b/README.org index b812182e850..a1d4badab73 100644 --- a/README.org +++ b/README.org @@ -20,6 +20,8 @@ should look like: |---------------------------+--------------------------------------------| | Acer Aspire 4810T | ~~ | | Airis N990 | ~~ | +| Apple MacBook Air 4,X | ~~ | +| Apple MacBook Air 6,X | ~~ | | Apple MacBook Pro 10,1 | ~~ | | Apple MacBook Pro 12,1 | ~~ | | Dell XPS 15 9550 | ~~ | From 008eb393030b414953596e2434c8b80c3762b10b Mon Sep 17 00:00:00 2001 From: zimbatm Date: Mon, 25 Dec 2017 13:24:32 +0000 Subject: [PATCH 108/274] README: add links to docs --- README.org | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.org b/README.org index a1d4badab73..ae731103e29 100644 --- a/README.org +++ b/README.org @@ -18,14 +18,14 @@ should look like: |---------------------------+--------------------------------------------| | Model | Path | |---------------------------+--------------------------------------------| -| Acer Aspire 4810T | ~~ | +| [[file:acer/aspire/4810t][Acer Aspire 4810T]] | ~~ | | Airis N990 | ~~ | | Apple MacBook Air 4,X | ~~ | | Apple MacBook Air 6,X | ~~ | -| Apple MacBook Pro 10,1 | ~~ | +| [[file:apple/macbook-pro/10-1][Apple MacBook Pro 10,1]] | ~~ | | Apple MacBook Pro 12,1 | ~~ | -| Dell XPS 15 9550 | ~~ | -| Inverse Path USB armory | ~~ | +| [[file:dell/xps/15-9550][Dell XPS 15 9550]] | ~~ | +| [[file:inversepath/usbarmory][Inverse Path USB armory]] | ~~ | | Lenovo IdeaPad Z510 | ~~ | | Lenovo ThinkPad T410 | ~~ | | Lenovo ThinkPad T440p | ~~ | @@ -33,9 +33,9 @@ should look like: | Lenovo ThinkPad X140e | ~~ | | Lenovo ThinkPad X220 | ~~ | | Lenovo ThinkPad X250 | ~~ | -| Microsoft Surface Pro 3 | ~~ | -| Raspberry Pi 2 | ~~ | -| Samsung Series 9 NP900X3C | ~~ | +| [[file:microsoft/surface-pro/3][Microsoft Surface Pro 3]] | ~~ | +| [[file:raspberry-pi/2][Raspberry Pi 2]] | ~~ | +| [[file:samsung/np900x3c][Samsung Series 9 NP900X3C]] | ~~ | | Supermicro A1SRi-2758F | ~~ | | Supermicro X10SLL-F | ~~ | |---------------------------+--------------------------------------------| From 571bea15a4fbc8a89990a3dfe0156c21713505ad Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 25 Dec 2017 14:39:59 +0000 Subject: [PATCH 109/274] CODEWONERS: init --- CODEOWNERS | 1 + lenovo/thinkpad/x250/default.nix | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) create mode 100644 CODEOWNERS diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 00000000000..436b94766fc --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1 @@ +lenovo/thinkpad/x250 @Mic92 diff --git a/lenovo/thinkpad/x250/default.nix b/lenovo/thinkpad/x250/default.nix index 36a1a8e6036..c88fa787e1c 100644 --- a/lenovo/thinkpad/x250/default.nix +++ b/lenovo/thinkpad/x250/default.nix @@ -10,6 +10,4 @@ # However it requires to set a different `sensor` for this hardware, since there is no /proc/acpi/ibm/thermal # Regulation also works fine without thinkfan daemon though. services.thinkfan.enable = lib.mkOverride 900 false; - - # maintainers: Mic92 } From 83890749b29b56bf294ba5f088b3c179e269e7a1 Mon Sep 17 00:00:00 2001 From: zimbatm Date: Mon, 25 Dec 2017 15:07:07 +0000 Subject: [PATCH 110/274] add Travis CI to the repo --- .travis.yml | 3 +++ tests/eval-test.sh | 9 +++++---- 2 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000000..3471081b212 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,3 @@ +language: nix +sudo: true # needed by the nix install +script: ./tests/eval-test.sh diff --git a/tests/eval-test.sh b/tests/eval-test.sh index 00970b77563..5be91033b3f 100755 --- a/tests/eval-test.sh +++ b/tests/eval-test.sh @@ -7,10 +7,11 @@ find=(find . -name default.nix) for profile in `${find[@]}`; do echo evaluating $profile >&2 - nixos-rebuild \ - -I nixos-config=tests/eval-test.nix \ - -I nixos-hardware-profile=$profile \ - dry-build + nix-build '' \ + -I nixos-config=tests/eval-test.nix \ + -I nixos-hardware-profile=$profile \ + -A system \ + --dry-run if [ $? -ne 0 ]; then exit 1 From 459ac00c62728c2db61dc080c2f31090215df36a Mon Sep 17 00:00:00 2001 From: zimbatm Date: Mon, 25 Dec 2017 17:23:16 +0000 Subject: [PATCH 111/274] tests/eval-test: clean up --- tests/eval-test.sh | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/tests/eval-test.sh b/tests/eval-test.sh index 5be91033b3f..0e7fca1cc7b 100755 --- a/tests/eval-test.sh +++ b/tests/eval-test.sh @@ -1,19 +1,15 @@ #!/bin/sh -cd $(dirname $0)/.. +set -e -find=(find . -name default.nix) +cd "$(dirname "$0")/.." -for profile in `${find[@]}`; do - echo evaluating $profile >&2 +for profile in $(find . -name default.nix); do + echo evaluating $profile >&2 - nix-build '' \ - -I nixos-config=tests/eval-test.nix \ - -I nixos-hardware-profile=$profile \ - -A system \ - --dry-run - - if [ $? -ne 0 ]; then - exit 1 - fi + nix-build '' \ + -I nixos-config=tests/eval-test.nix \ + -I nixos-hardware-profile=$profile \ + -A system \ + --dry-run done From f1952eae0421a3c1fe19f93679443af3246afc08 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 25 Dec 2017 19:21:11 +0000 Subject: [PATCH 112/274] tests/eval-test: Add --show-trace from #44 --- tests/eval-test.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/eval-test.sh b/tests/eval-test.sh index 0e7fca1cc7b..f07dc15806b 100755 --- a/tests/eval-test.sh +++ b/tests/eval-test.sh @@ -11,5 +11,6 @@ for profile in $(find . -name default.nix); do -I nixos-config=tests/eval-test.nix \ -I nixos-hardware-profile=$profile \ -A system \ - --dry-run + --dry-run \ + --show-trace done From 8d578a53d600153bc02f26cb3c80cf7bc9845ea6 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 25 Dec 2017 19:24:01 +0000 Subject: [PATCH 113/274] tests: drop -test prefix to match naming style used by NixOS tests --- tests/{eval-test.nix => eval.nix} | 0 tests/{eval-test.sh => eval.sh} | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename tests/{eval-test.nix => eval.nix} (100%) rename tests/{eval-test.sh => eval.sh} (85%) diff --git a/tests/eval-test.nix b/tests/eval.nix similarity index 100% rename from tests/eval-test.nix rename to tests/eval.nix diff --git a/tests/eval-test.sh b/tests/eval.sh similarity index 85% rename from tests/eval-test.sh rename to tests/eval.sh index f07dc15806b..0f21fe3f1e9 100755 --- a/tests/eval-test.sh +++ b/tests/eval.sh @@ -8,7 +8,7 @@ for profile in $(find . -name default.nix); do echo evaluating $profile >&2 nix-build '' \ - -I nixos-config=tests/eval-test.nix \ + -I nixos-config=tests/eval.nix \ -I nixos-hardware-profile=$profile \ -A system \ --dry-run \ From 0939f0c48c1e6afde9ea193802b443d2414b8e84 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 25 Dec 2017 19:28:59 +0000 Subject: [PATCH 114/274] travis: fixup after 8d578a53d600153bc02f26cb3c80cf7bc9845ea6 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3471081b212..df72947038f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,3 @@ language: nix sudo: true # needed by the nix install -script: ./tests/eval-test.sh +script: tests/eval.sh From 26d3f54be8b822964f6d488bdba595032d3f1a33 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 25 Dec 2017 19:33:32 +0000 Subject: [PATCH 115/274] travis: drop sudo --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index df72947038f..4035b299352 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,2 @@ language: nix -sudo: true # needed by the nix install script: tests/eval.sh From 554629a957f703f4d9382f502c86288a56f3a052 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 25 Dec 2017 20:29:10 +0000 Subject: [PATCH 116/274] thinkpad: do not enable thinkfan by default --- lenovo/thinkpad/default.nix | 1 - lenovo/thinkpad/x250/default.nix | 7 ------- 2 files changed, 8 deletions(-) diff --git a/lenovo/thinkpad/default.nix b/lenovo/thinkpad/default.nix index 52d09bcf9df..ff22639b4fd 100644 --- a/lenovo/thinkpad/default.nix +++ b/lenovo/thinkpad/default.nix @@ -4,7 +4,6 @@ imports = [ ../../common/pc/laptop ]; hardware.trackpoint.enable = lib.mkDefault true; - services.thinkfan.enable = lib.mkDefault true; # Fingerprint reader: login and unlock with fingerprint (if you add one with `fprintd-enroll`) # services.fprintd.enable = true; diff --git a/lenovo/thinkpad/x250/default.nix b/lenovo/thinkpad/x250/default.nix index c88fa787e1c..870d9a85774 100644 --- a/lenovo/thinkpad/x250/default.nix +++ b/lenovo/thinkpad/x250/default.nix @@ -1,13 +1,6 @@ -{ config, lib, pkgs, ... }: - { imports = [ ../. ../../../common/cpu/intel ]; - - # Thinkfan is enabled by thinkpad profile. - # However it requires to set a different `sensor` for this hardware, since there is no /proc/acpi/ibm/thermal - # Regulation also works fine without thinkfan daemon though. - services.thinkfan.enable = lib.mkOverride 900 false; } From d1d99eb15887cedb0d6dba66e4482c53cb809c1d Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 25 Dec 2017 21:26:29 +0000 Subject: [PATCH 117/274] treewide: mark things that have to be done --- acer/aspire/4810t/default.nix | 5 +++-- apple/macbook-pro/10-1/default.nix | 2 +- audio-gd/compass2.nix | 4 +--- lenovo/thinkpad/t410/default.nix | 2 ++ lenovo/thinkpad/t440p/default.nix | 1 + lenovo/thinkpad/x220/default.nix | 2 +- microsoft/surface-pro/3/default.nix | 1 + samsung/np900x3c/default.nix | 2 ++ 8 files changed, 12 insertions(+), 7 deletions(-) diff --git a/acer/aspire/4810t/default.nix b/acer/aspire/4810t/default.nix index f21d630478d..d40b454b3aa 100644 --- a/acer/aspire/4810t/default.nix +++ b/acer/aspire/4810t/default.nix @@ -14,14 +14,15 @@ "vga=0x317" "video=vesafb:ywrap" - # Important, to disable Kernel Mode Setting for the graphics card - # This will allow backlight regulation + # Important, disable KMS to fix backlight regulation: "nomodeset" ]; }; + # TODO: reverse compat hardware.opengl.driSupport = false; + # TODO: reverse compat services.xserver = { defaultDepth = lib.mkDefault 24; }; diff --git a/apple/macbook-pro/10-1/default.nix b/apple/macbook-pro/10-1/default.nix index 06e7486fb75..e029ef21eca 100644 --- a/apple/macbook-pro/10-1/default.nix +++ b/apple/macbook-pro/10-1/default.nix @@ -10,7 +10,7 @@ boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; - # TODO: drop + # TODO: reverse compat hardware.opengl.driSupport32Bit = true; services.xserver = { diff --git a/audio-gd/compass2.nix b/audio-gd/compass2.nix index 6115572588e..5268c1dab8d 100644 --- a/audio-gd/compass2.nix +++ b/audio-gd/compass2.nix @@ -1,8 +1,6 @@ -{ config, pkgs, ... }: - { boot = { - extraModprobeConfig = '' + extraModprobeConfig = lib.mkDefault '' options snd slots=snd_usb_audio,snd-hda-intel ''; }; diff --git a/lenovo/thinkpad/t410/default.nix b/lenovo/thinkpad/t410/default.nix index 737e91fe0c3..c40801ffc0b 100644 --- a/lenovo/thinkpad/t410/default.nix +++ b/lenovo/thinkpad/t410/default.nix @@ -8,6 +8,8 @@ ]; boot = { + # TODO: this configuration seems to be very aggressive. + # Ask @peti if it's stable or not. kernelParams = [ "drm.debug=0" "drm.vblankoffdelay=1" diff --git a/lenovo/thinkpad/t440p/default.nix b/lenovo/thinkpad/t440p/default.nix index 464c874dc60..4dd4085794f 100644 --- a/lenovo/thinkpad/t440p/default.nix +++ b/lenovo/thinkpad/t440p/default.nix @@ -10,6 +10,7 @@ extraModprobeConfig = lib.mkDefault '' options bbswitch use_acpi_to_detect_card_state=1 ''; + # TODO: probably enable tcsd? Is this line necessary? kernelModules = [ "tpm-rng" ]; }; } diff --git a/lenovo/thinkpad/x220/default.nix b/lenovo/thinkpad/x220/default.nix index e821f966fa5..3cf18e39746 100644 --- a/lenovo/thinkpad/x220/default.nix +++ b/lenovo/thinkpad/x220/default.nix @@ -4,7 +4,7 @@ imports = [ ../. ../../../common/cpu/intel - ../../../common/pc/laptop/hdd + ../../../common/pc/laptop/hdd # TODO: reverse compat ../tp-smapi.nix ]; } diff --git a/microsoft/surface-pro/3/default.nix b/microsoft/surface-pro/3/default.nix index 70442e654e9..a09c60b1f20 100644 --- a/microsoft/surface-pro/3/default.nix +++ b/microsoft/surface-pro/3/default.nix @@ -4,5 +4,6 @@ # to use the type cover in the initrd boot.kernelModules = [ "hid-microsoft" ]; + # TODO: reverse compat networking.wireless.enable = lib.mkDefault true; } diff --git a/samsung/np900x3c/default.nix b/samsung/np900x3c/default.nix index 8f19af57303..ced3d7013dd 100644 --- a/samsung/np900x3c/default.nix +++ b/samsung/np900x3c/default.nix @@ -1,3 +1,5 @@ +# TODO: use ../../common/pc/laptop + { lib, ... }: { From 1cb3a1c2d791ec8bbae4ab18fdc9167280554bd2 Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 26 Dec 2017 22:54:10 +0100 Subject: [PATCH 118/274] thinkpad/x230: init --- lenovo/thinkpad/x230/default.nix | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 lenovo/thinkpad/x230/default.nix diff --git a/lenovo/thinkpad/x230/default.nix b/lenovo/thinkpad/x230/default.nix new file mode 100644 index 00000000000..daeda9e7560 --- /dev/null +++ b/lenovo/thinkpad/x230/default.nix @@ -0,0 +1,24 @@ +{ config, lib, pkgs, ... }: + +with lib; { + imports = [ + ../. + ../../../common/cpu/intel + ]; + + boot = { + kernelModules = [ + "acpi_call" + "tpm-rng" + ]; + extraModulePackages = with config.boot.kernelPackages; [ + acpi_call + ]; + }; + + hardware.opengl.extraPackages = with pkgs; [ + vaapiIntel + vaapiVdpau + libvdpau-va-gl + ]; +} From 2251a66d95ef648a6e12cf53f1c9c6b89e70b67f Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 26 Dec 2017 22:56:05 +0100 Subject: [PATCH 119/274] README: add x230 --- README.org | 1 + 1 file changed, 1 insertion(+) diff --git a/README.org b/README.org index ae731103e29..358daaaa9bb 100644 --- a/README.org +++ b/README.org @@ -32,6 +32,7 @@ should look like: | Lenovo ThinkPad T460s | ~~ | | Lenovo ThinkPad X140e | ~~ | | Lenovo ThinkPad X220 | ~~ | +| Lenovo ThinkPad X230 | ~~ | | Lenovo ThinkPad X250 | ~~ | | [[file:microsoft/surface-pro/3][Microsoft Surface Pro 3]] | ~~ | | [[file:raspberry-pi/2][Raspberry Pi 2]] | ~~ | From 8552afef5b2edcdd1ca4f30944cafe62b1afe979 Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 26 Dec 2017 22:57:39 +0100 Subject: [PATCH 120/274] CODEOWNERS: add makefu for x230 --- CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/CODEOWNERS b/CODEOWNERS index 436b94766fc..144f5eecb0a 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1 +1,2 @@ lenovo/thinkpad/x250 @Mic92 +lenovo/thinkpad/x230 @makefu From ed3ba5cc2da6815650c2d32a6acad94477e7ad89 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Wed, 27 Dec 2017 07:22:51 +0000 Subject: [PATCH 121/274] CODEOWNERS: add yegortimoshenko to Lenovo ThinkPad X230 --- CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODEOWNERS b/CODEOWNERS index 144f5eecb0a..c704e1458e8 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,2 +1,2 @@ +lenovo/thinkpad/x230 @makefu @yegortimoshenko lenovo/thinkpad/x250 @Mic92 -lenovo/thinkpad/x230 @makefu From b1304963c8c296ee20918a3604f2d92227b1a868 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Wed, 27 Dec 2017 07:28:30 +0000 Subject: [PATCH 122/274] common/cpu/intel: add vaapi/vdpau drivers I've tested this to work on MacBookAir4,1 and I'm going to deploy it to MacBookAir6,2 today and Lenovo ThinkPad X230 in a week from now. Also, cleaned up Lenovo ThinkPad X230 profile. --- common/cpu/intel/default.nix | 10 +++++++++- lenovo/thinkpad/x230/default.nix | 14 ++++---------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/common/cpu/intel/default.nix b/common/cpu/intel/default.nix index e3ce9193050..84997f18f02 100644 --- a/common/cpu/intel/default.nix +++ b/common/cpu/intel/default.nix @@ -1,4 +1,12 @@ +{ lib, pkgs, ... }: + { - hardware.cpu.intel.updateMicrocode = true; + hardware.cpu.intel.updateMicrocode = lib.mkDefault true; services.xserver.videoDrivers = [ "intel" ]; + + hardware.opengl.extraPackages = with pkgs; [ + vaapiIntel + vaapiVdpau + libvdpau-va-gl + ]; } diff --git a/lenovo/thinkpad/x230/default.nix b/lenovo/thinkpad/x230/default.nix index daeda9e7560..913b526cd01 100644 --- a/lenovo/thinkpad/x230/default.nix +++ b/lenovo/thinkpad/x230/default.nix @@ -1,24 +1,18 @@ { config, lib, pkgs, ... }: -with lib; { +{ imports = [ ../. ../../../common/cpu/intel ]; boot = { + extraModulePackages = with config.boot.kernelPackages; [ + acpi_call + ]; kernelModules = [ "acpi_call" "tpm-rng" ]; - extraModulePackages = with config.boot.kernelPackages; [ - acpi_call - ]; }; - - hardware.opengl.extraPackages = with pkgs; [ - vaapiIntel - vaapiVdpau - libvdpau-va-gl - ]; } From 5a00ea423a39b66dff032a03973932ab4f18af91 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Wed, 27 Dec 2017 07:46:06 +0000 Subject: [PATCH 123/274] common/pc/laptop: drop explicit vm.laptop_mode This is handled by TLP, so we don't need to set that explicitly. --- common/pc/laptop/default.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/common/pc/laptop/default.nix b/common/pc/laptop/default.nix index 5da1e60a449..ebc4931dbc2 100644 --- a/common/pc/laptop/default.nix +++ b/common/pc/laptop/default.nix @@ -1,16 +1,13 @@ -{ lib, ... }: +{ config, lib, ... }: { imports = [ ../. ]; - boot.kernel.sysctl = { - "vm.laptop_mode" = lib.mkDefault 5; - }; - # TODO: fix in NixOS/nixpkgs # Disable governor set in hardware-configuration.nix, # required when services.tlp.enable is true: - powerManagement.cpuFreqGovernor = lib.mkForce null; + powerManagement.cpuFreqGovernor = + lib.mkIf config.services.tlp.enable (lib.mkForce null); services.tlp.enable = lib.mkDefault true; } From 52e84ef20106788a6fb143825aceb87893b3ecd9 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Wed, 27 Dec 2017 16:56:19 +0000 Subject: [PATCH 124/274] LICENSE: license under CC0-1.0 --- LICENSE | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000000..47c6e27d170 --- /dev/null +++ b/LICENSE @@ -0,0 +1,111 @@ +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator and +subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for the +purpose of contributing to a commons of creative, cultural and scientific +works ("Commons") that the public can reliably and without fear of later +claims of infringement build upon, modify, incorporate in other works, reuse +and redistribute as freely as possible in any form whatsoever and for any +purposes, including without limitation commercial purposes. These owners may +contribute to the Commons to promote the ideal of a free culture and the +further production of creative, cultural and scientific works, or to gain +reputation or greater distribution for their Work in part through the use and +efforts of others. + +For these and/or other purposes and motivations, and without any expectation +of additional consideration or compensation, the person associating CC0 with a +Work (the "Affirmer"), to the extent that he or she is an owner of Copyright +and Related Rights in the Work, voluntarily elects to apply CC0 to the Work +and publicly distribute the Work under its terms, with knowledge of his or her +Copyright and Related Rights in the Work and the meaning and intended legal +effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not limited +to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, communicate, + and translate a Work; + + ii. moral rights retained by the original author(s) and/or performer(s); + + iii. publicity and privacy rights pertaining to a person's image or likeness + depicted in a Work; + + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + + v. rights protecting the extraction, dissemination, use and reuse of data in + a Work; + + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation thereof, + including any amended or successor version of such directive); and + + vii. other similar, equivalent or corresponding rights throughout the world + based on applicable law or treaty, and any national implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention of, +applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and +unconditionally waives, abandons, and surrenders all of Affirmer's Copyright +and Related Rights and associated claims and causes of action, whether now +known or unknown (including existing as well as future claims and causes of +action), in the Work (i) in all territories worldwide, (ii) for the maximum +duration provided by applicable law or treaty (including future time +extensions), (iii) in any current or future medium and for any number of +copies, and (iv) for any purpose whatsoever, including without limitation +commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes +the Waiver for the benefit of each member of the public at large and to the +detriment of Affirmer's heirs and successors, fully intending that such Waiver +shall not be subject to revocation, rescission, cancellation, termination, or +any other legal or equitable action to disrupt the quiet enjoyment of the Work +by the public as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason be +judged legally invalid or ineffective under applicable law, then the Waiver +shall be preserved to the maximum extent permitted taking into account +Affirmer's express Statement of Purpose. In addition, to the extent the Waiver +is so judged Affirmer hereby grants to each affected person a royalty-free, +non transferable, non sublicensable, non exclusive, irrevocable and +unconditional license to exercise Affirmer's Copyright and Related Rights in +the Work (i) in all territories worldwide, (ii) for the maximum duration +provided by applicable law or treaty (including future time extensions), (iii) +in any current or future medium and for any number of copies, and (iv) for any +purpose whatsoever, including without limitation commercial, advertising or +promotional purposes (the "License"). The License shall be deemed effective as +of the date CC0 was applied by Affirmer to the Work. Should any part of the +License for any reason be judged legally invalid or ineffective under +applicable law, such partial invalidity or ineffectiveness shall not +invalidate the remainder of the License, and in such case Affirmer hereby +affirms that he or she will not (i) exercise any of his or her remaining +Copyright and Related Rights in the Work or (ii) assert any associated claims +and causes of action with respect to the Work, in either case contrary to +Affirmer's express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + + b. Affirmer offers the Work as-is and makes no representations or warranties + of any kind concerning the Work, express, implied, statutory or otherwise, + including without limitation warranties of title, merchantability, fitness + for a particular purpose, non infringement, or the absence of latent or + other defects, accuracy, or the present or absence of errors, whether or not + discoverable, all to the greatest extent permissible under applicable law. + + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without limitation + any person's Copyright and Related Rights in the Work. Further, Affirmer + disclaims responsibility for obtaining any necessary consents, permissions + or other rights required for any use of the Work. + + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to this + CC0 or use of the Work. From 19c0c04f614945bed1bca0e2eba8e7faaa6c7d0e Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Wed, 27 Dec 2017 21:39:31 +0000 Subject: [PATCH 125/274] apple/macbook-air/4: enable RC6p, RC6pp GPU sleep states --- apple/macbook-air/4/default.nix | 5 ++++- common/cpu/intel/sandy-bridge/default.nix | 9 +++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 common/cpu/intel/sandy-bridge/default.nix diff --git a/apple/macbook-air/4/default.nix b/apple/macbook-air/4/default.nix index 146289de41e..181a099799a 100644 --- a/apple/macbook-air/4/default.nix +++ b/apple/macbook-air/4/default.nix @@ -1,7 +1,10 @@ { lib, ... }: { - imports = [ ../. ]; + imports = [ + ../. + ../../../common/cpu/intel/sandy-bridge + ]; boot.kernelParams = [ "acpi_backlight=vendor" diff --git a/common/cpu/intel/sandy-bridge/default.nix b/common/cpu/intel/sandy-bridge/default.nix new file mode 100644 index 00000000000..682815cee47 --- /dev/null +++ b/common/cpu/intel/sandy-bridge/default.nix @@ -0,0 +1,9 @@ +{ + imports = [ ../. ]; + + # Enables RC6, RC6p and RC6pp. + # Last two are only available on Sandy Bridge CPUs (circa 2011). + boot.kernelParams = [ + "i915.enable_rc6=7" + ]; +} From b65efccd54525139df7d6a551e921c5c1992a27f Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Wed, 27 Dec 2017 22:09:57 +0000 Subject: [PATCH 126/274] apple/macbook-air/6: add acpi_osi= kernel param --- apple/macbook-air/6/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apple/macbook-air/6/default.nix b/apple/macbook-air/6/default.nix index 9588b306138..35fe8320478 100644 --- a/apple/macbook-air/6/default.nix +++ b/apple/macbook-air/6/default.nix @@ -6,6 +6,9 @@ boot = { extraModulePackages = with config.boot.kernelPackages; [ mba6x_bl ]; kernelModules = [ "mba6x_bl" ]; + + # Divides power consumption by two. + kernelParams = [ "acpi_osi=" ]; }; services.xserver.deviceSection = lib.mkDefault '' From 8a352e39b50dce0cf5551b29f71a35b4b8142ba9 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 7 Jan 2018 17:26:37 +0000 Subject: [PATCH 127/274] apple/macbook-air/6: resolve tearing --- apple/macbook-air/6/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/apple/macbook-air/6/default.nix b/apple/macbook-air/6/default.nix index 35fe8320478..555d70418b8 100644 --- a/apple/macbook-air/6/default.nix +++ b/apple/macbook-air/6/default.nix @@ -13,5 +13,6 @@ services.xserver.deviceSection = lib.mkDefault '' Option "Backlight" "mba6x_backlight" + Option "TearFree" "true" ''; } From 30fdd53a0a544634835fa361becd1e39e057ccbb Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 29 Jan 2018 13:30:43 +0000 Subject: [PATCH 128/274] lenovo/thinkpad/x230: resolve tearing --- lenovo/thinkpad/x230/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lenovo/thinkpad/x230/default.nix b/lenovo/thinkpad/x230/default.nix index 913b526cd01..604df3d166d 100644 --- a/lenovo/thinkpad/x230/default.nix +++ b/lenovo/thinkpad/x230/default.nix @@ -15,4 +15,8 @@ "tpm-rng" ]; }; + + services.xserver.deviceSection = lib.mkDefault '' + Option "TearFree" "true" + ''; } From ad35d1cd809f31aa4b75287ec7ddeb1c7b33bbb5 Mon Sep 17 00:00:00 2001 From: Fedor Logachev Date: Sat, 17 Mar 2018 16:34:18 +0000 Subject: [PATCH 129/274] default.nix, fix for nix-env -qa --- default.nix | 1 + 1 file changed, 1 insertion(+) create mode 100644 default.nix diff --git a/default.nix b/default.nix new file mode 100644 index 00000000000..c157af788ee --- /dev/null +++ b/default.nix @@ -0,0 +1 @@ +{ ... }: {} From b47ca3e37766646b54a371c67c93d54e3e01cb06 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Tue, 15 May 2018 16:31:29 +0300 Subject: [PATCH 130/274] pcengines/apu: init --- pcengines/apu/default.nix | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 pcengines/apu/default.nix diff --git a/pcengines/apu/default.nix b/pcengines/apu/default.nix new file mode 100644 index 00000000000..f59f35a2542 --- /dev/null +++ b/pcengines/apu/default.nix @@ -0,0 +1,3 @@ +{ + boot.kernelParams = [ "console=ttyS0,115200n8" ]; +} From b586e1051bcc2b68f3ed3fc725cbd43912ec8489 Mon Sep 17 00:00:00 2001 From: Yorick van Pelt Date: Tue, 15 May 2018 15:46:41 +0200 Subject: [PATCH 131/274] add XPS 13 (9360) --- dell/xps/13-9360/default.nix | 42 +++++++++++++++++++++++++++ dell/xps/13-9360/firmware_qca6174.nix | 22 ++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 dell/xps/13-9360/default.nix create mode 100644 dell/xps/13-9360/firmware_qca6174.nix diff --git a/dell/xps/13-9360/default.nix b/dell/xps/13-9360/default.nix new file mode 100644 index 00000000000..b580a13d799 --- /dev/null +++ b/dell/xps/13-9360/default.nix @@ -0,0 +1,42 @@ +{ lib, pkgs, ... }: +let + firmware_qca6174 = pkgs.callPackage ./firmware_qca6174.nix {}; +in +{ + imports = [ + ../../../common/cpu/intel + ../../../common/pc/laptop + ]; + boot.kernelModules = ["kvm-intel"]; # should this be in common/cpu/intel? + boot = { + loader = { + systemd-boot.enable = lib.mkDefault true; + efi.canTouchEfiVariables = lib.mkDefault true; + }; + + kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; + initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; + # touchpad goes over i2c + blacklistedKernelModules = [ "psmouse" ]; + + kernelParams = [ "i915.enable_fbc=1" "i915.enable_psr=2" ]; + }; + + # intel huc, guc. qca6174 (old?) + hardware.enableRedistributableFirmware = true; + + # 4k screen, use bigger console font + i18n.consoleFont = "latarcyrheb-sun32"; + + # touchpad + services.xserver.libinput.enable = lib.mkDefault true; + + networking.wireless.enable = lib.mkDefault true; + hardware.bluetooth.enable = lib.mkDefault true; + + services.thermald.enable = lib.mkDefault true; + + # optional: without it, firmware crashes happened + hardware.firmware = lib.mkBefore [ firmware_qca6174 ]; + +} diff --git a/dell/xps/13-9360/firmware_qca6174.nix b/dell/xps/13-9360/firmware_qca6174.nix new file mode 100644 index 00000000000..c551223a2cb --- /dev/null +++ b/dell/xps/13-9360/firmware_qca6174.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + target = "QCA6174"; + branch = "4.4.1.c1"; + version = "${branch}-00042"; + name = "${target}-firmware-${version}"; + src = fetchurl { + url = "https://github.com/kvalo/ath10k-firmware/raw/master/${target}/hw3.0/${branch}/firmware-6.bin_RM.${version}-QCARMSWP-1"; + sha256 = "01vvz3qhqw5l3yilcqgk1spk4y9k4qy7na7a57cbl037r231szdh"; + }; + buildCommand = '' + install -D $src $out/lib/firmware/ath10k/${target}/hw3.0/firmware-6.bin + ''; + meta = with stdenv.lib; { + license = with licenses; unfreeRedistributable; + homepage = "https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174/hw3.0"; + description = "Updated firmware for the qca6174 wireless chip"; + platforms = with platforms; linux; + maintainers = with maintainers; [ yorickvp ]; + }; +} From 0794564c45956c1b4711b38d2a2d43d85d12cbae Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Tue, 15 May 2018 19:54:18 +0300 Subject: [PATCH 132/274] dell/xps/13-9360: review --- common/cpu/intel/kaby-lake/default.nix | 8 ++++ dell/xps/13-9360/default.nix | 44 ++++++------------- ...mware_qca6174.nix => qca6174-firmware.nix} | 18 +++++--- 3 files changed, 33 insertions(+), 37 deletions(-) create mode 100644 common/cpu/intel/kaby-lake/default.nix rename dell/xps/13-9360/{firmware_qca6174.nix => qca6174-firmware.nix} (86%) diff --git a/common/cpu/intel/kaby-lake/default.nix b/common/cpu/intel/kaby-lake/default.nix new file mode 100644 index 00000000000..2046cd96fb3 --- /dev/null +++ b/common/cpu/intel/kaby-lake/default.nix @@ -0,0 +1,8 @@ +{ + imports = [ ../. ]; + + kernelParams = [ + "i915.enable_fbc=1" + "i915.enable_psr=2" + ]; +} diff --git a/dell/xps/13-9360/default.nix b/dell/xps/13-9360/default.nix index b580a13d799..e13e758d44c 100644 --- a/dell/xps/13-9360/default.nix +++ b/dell/xps/13-9360/default.nix @@ -1,42 +1,26 @@ { lib, pkgs, ... }: -let - firmware_qca6174 = pkgs.callPackage ./firmware_qca6174.nix {}; -in + { imports = [ - ../../../common/cpu/intel + ../../../common/cpu/intel/kaby-lake ../../../common/pc/laptop ]; - boot.kernelModules = ["kvm-intel"]; # should this be in common/cpu/intel? - boot = { - loader = { - systemd-boot.enable = lib.mkDefault true; - efi.canTouchEfiVariables = lib.mkDefault true; - }; - kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; - initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; - # touchpad goes over i2c - blacklistedKernelModules = [ "psmouse" ]; + boot.blacklistedKernelModules = [ "psmouse" ]; # touchpad goes over i2c - kernelParams = [ "i915.enable_fbc=1" "i915.enable_psr=2" ]; + # TODO: decide on boot loader policy + boot.loader = { + efi.canTouchEfiVariables = lib.mkDefault true; + systemd-boot.enable = lib.mkDefault true; }; - # intel huc, guc. qca6174 (old?) - hardware.enableRedistributableFirmware = true; + hardware.firmware = lib.mkBefore [ pkgs.qca6174-firmware ]; - # 4k screen, use bigger console font - i18n.consoleFont = "latarcyrheb-sun32"; - - # touchpad - services.xserver.libinput.enable = lib.mkDefault true; - - networking.wireless.enable = lib.mkDefault true; - hardware.bluetooth.enable = lib.mkDefault true; - - services.thermald.enable = lib.mkDefault true; - - # optional: without it, firmware crashes happened - hardware.firmware = lib.mkBefore [ firmware_qca6174 ]; + # TODO: move to general HiDPI profile + i18n.consoleFont = lib.mkDefault "latarcyrheb-sun32"; # 4K screen, use bigger console font + # TODO: upstream to NixOS/nixpkgs + nixpkgs.overlays = [(final: previous: { + qca6174-firmware = final.callPackage ./qca6174-firmware.nix {}; + })]; } diff --git a/dell/xps/13-9360/firmware_qca6174.nix b/dell/xps/13-9360/qca6174-firmware.nix similarity index 86% rename from dell/xps/13-9360/firmware_qca6174.nix rename to dell/xps/13-9360/qca6174-firmware.nix index c551223a2cb..930107dffe8 100644 --- a/dell/xps/13-9360/firmware_qca6174.nix +++ b/dell/xps/13-9360/qca6174-firmware.nix @@ -1,22 +1,26 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl }: stdenv.mkDerivation rec { - target = "QCA6174"; - branch = "4.4.1.c1"; - version = "${branch}-00042"; name = "${target}-firmware-${version}"; + version = "${branch}-00042"; + + branch = "4.4.1.c1"; + target = "QCA6174"; + src = fetchurl { url = "https://github.com/kvalo/ath10k-firmware/raw/master/${target}/hw3.0/${branch}/firmware-6.bin_RM.${version}-QCARMSWP-1"; sha256 = "01vvz3qhqw5l3yilcqgk1spk4y9k4qy7na7a57cbl037r231szdh"; }; + buildCommand = '' install -D $src $out/lib/firmware/ath10k/${target}/hw3.0/firmware-6.bin ''; + meta = with stdenv.lib; { - license = with licenses; unfreeRedistributable; - homepage = "https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174/hw3.0"; description = "Updated firmware for the qca6174 wireless chip"; - platforms = with platforms; linux; + homepage = "https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174/hw3.0"; + license = licenses.unfreeRedistributable; maintainers = with maintainers; [ yorickvp ]; + platforms = platforms.linux; }; } From 6ba1e22e3fc48634bd6beab7af26de5330f7621f Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Tue, 15 May 2018 23:25:30 +0300 Subject: [PATCH 133/274] qca6174-firmware: pin down commit --- dell/xps/13-9360/qca6174-firmware.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dell/xps/13-9360/qca6174-firmware.nix b/dell/xps/13-9360/qca6174-firmware.nix index 930107dffe8..c5da6c18328 100644 --- a/dell/xps/13-9360/qca6174-firmware.nix +++ b/dell/xps/13-9360/qca6174-firmware.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { target = "QCA6174"; src = fetchurl { - url = "https://github.com/kvalo/ath10k-firmware/raw/master/${target}/hw3.0/${branch}/firmware-6.bin_RM.${version}-QCARMSWP-1"; + url = "https://github.com/kvalo/ath10k-firmware/raw/952afa4949cb34193040cd4e7441e1aee50ac731/${target}/hw3.0/${branch}/firmware-6.bin_RM.${version}-QCARMSWP-1"; sha256 = "01vvz3qhqw5l3yilcqgk1spk4y9k4qy7na7a57cbl037r231szdh"; }; From dd576672e724312e3f5af6d3dc92efa8f73b479f Mon Sep 17 00:00:00 2001 From: Yorick Date: Wed, 23 May 2018 14:47:58 +0200 Subject: [PATCH 134/274] common/cpu/intel/kaby-lake: fix kernelParams -> boot.kernelParams --- common/cpu/intel/kaby-lake/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/cpu/intel/kaby-lake/default.nix b/common/cpu/intel/kaby-lake/default.nix index 2046cd96fb3..e6a2d1ce8e6 100644 --- a/common/cpu/intel/kaby-lake/default.nix +++ b/common/cpu/intel/kaby-lake/default.nix @@ -1,7 +1,7 @@ { imports = [ ../. ]; - kernelParams = [ + boot.kernelParams = [ "i915.enable_fbc=1" "i915.enable_psr=2" ]; From d0a8097eec8cabbcd50fcff20548d7882feb7d8b Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Thu, 31 May 2018 15:56:43 +0200 Subject: [PATCH 135/274] Add basic support for 6th-gen X1 --- lenovo/thinkpad/x1/6th-gen/QHD/default.nix | 9 +++++++++ lenovo/thinkpad/x1/6th-gen/default.nix | 5 +++++ lenovo/thinkpad/x1/default.nix | 6 ++++++ 3 files changed, 20 insertions(+) create mode 100644 lenovo/thinkpad/x1/6th-gen/QHD/default.nix create mode 100644 lenovo/thinkpad/x1/6th-gen/default.nix create mode 100644 lenovo/thinkpad/x1/default.nix diff --git a/lenovo/thinkpad/x1/6th-gen/QHD/default.nix b/lenovo/thinkpad/x1/6th-gen/QHD/default.nix new file mode 100644 index 00000000000..55438fd7e4d --- /dev/null +++ b/lenovo/thinkpad/x1/6th-gen/QHD/default.nix @@ -0,0 +1,9 @@ +# X1 6th generation with a QHD (2560x1440px) display +{ + imports = [ + ../. + ]; + + services.xserver.dpi = 210; + fonts.fontconfig.dpi = 210; +} diff --git a/lenovo/thinkpad/x1/6th-gen/default.nix b/lenovo/thinkpad/x1/6th-gen/default.nix new file mode 100644 index 00000000000..665d3d41b75 --- /dev/null +++ b/lenovo/thinkpad/x1/6th-gen/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../. + ]; +} diff --git a/lenovo/thinkpad/x1/default.nix b/lenovo/thinkpad/x1/default.nix new file mode 100644 index 00000000000..870d9a85774 --- /dev/null +++ b/lenovo/thinkpad/x1/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ../. + ../../../common/cpu/intel + ]; +} From e0a8e0107321a86e307e9c01d91bd27b03d665d7 Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Thu, 31 May 2018 18:04:02 +0200 Subject: [PATCH 136/274] Give TLP more control over the battery and enable battery life saver parameters --- lenovo/thinkpad/x1/6th-gen/QHD/default.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lenovo/thinkpad/x1/6th-gen/QHD/default.nix b/lenovo/thinkpad/x1/6th-gen/QHD/default.nix index 55438fd7e4d..1122d771f16 100644 --- a/lenovo/thinkpad/x1/6th-gen/QHD/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/QHD/default.nix @@ -1,9 +1,26 @@ # X1 6th generation with a QHD (2560x1440px) display +{ config, ... }: + { imports = [ ../. ]; + # give tlp more control over battery + boot = { + extraModulePackages = with config.boot.kernelPackages; [ + acpi_call + ]; + kernelModules = [ + "acpi_call" + ]; + }; + # see https://linrunner.de/en/tlp/docs/tlp-faq.html#battery + services.tlp.extraConfig = '' +START_CHARGE_THRESH_BAT0=75 +STOP_CHARGE_THRESH_BAT0=80 +''; + # fix font sizes in X services.xserver.dpi = 210; fonts.fontconfig.dpi = 210; } From 5dd535392df4ed2299ed39c4500bbd432e62cff0 Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Sun, 3 Jun 2018 01:28:40 +0200 Subject: [PATCH 137/274] Move battery settings to the configuration for all the 6th gen models --- lenovo/thinkpad/x1/6th-gen/QHD/default.nix | 15 --------------- lenovo/thinkpad/x1/6th-gen/default.nix | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/lenovo/thinkpad/x1/6th-gen/QHD/default.nix b/lenovo/thinkpad/x1/6th-gen/QHD/default.nix index 1122d771f16..6b53d5e7738 100644 --- a/lenovo/thinkpad/x1/6th-gen/QHD/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/QHD/default.nix @@ -5,21 +5,6 @@ imports = [ ../. ]; - # give tlp more control over battery - boot = { - extraModulePackages = with config.boot.kernelPackages; [ - acpi_call - ]; - kernelModules = [ - "acpi_call" - ]; - }; - - # see https://linrunner.de/en/tlp/docs/tlp-faq.html#battery - services.tlp.extraConfig = '' -START_CHARGE_THRESH_BAT0=75 -STOP_CHARGE_THRESH_BAT0=80 -''; # fix font sizes in X services.xserver.dpi = 210; fonts.fontconfig.dpi = 210; diff --git a/lenovo/thinkpad/x1/6th-gen/default.nix b/lenovo/thinkpad/x1/6th-gen/default.nix index 665d3d41b75..ea63de06fe1 100644 --- a/lenovo/thinkpad/x1/6th-gen/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/default.nix @@ -2,4 +2,19 @@ imports = [ ../. ]; + # Give TLP service more control over battery + boot = { + extraModulePackages = with config.boot.kernelPackages; [ + acpi_call + ]; + kernelModules = [ + "acpi_call" + ]; + }; + + # See https://linrunner.de/en/tlp/docs/tlp-faq.html#battery + services.tlp.extraConfig = '' +START_CHARGE_THRESH_BAT0=75 +STOP_CHARGE_THRESH_BAT0=80 +''; } From 654262071f8b9f0c15704d4da195c60739707e4b Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Sun, 3 Jun 2018 01:31:17 +0200 Subject: [PATCH 138/274] Add the temporary fix for the cpu-throttling issue See https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues --- lenovo/thinkpad/x1/6th-gen/default.nix | 38 ++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/lenovo/thinkpad/x1/6th-gen/default.nix b/lenovo/thinkpad/x1/6th-gen/default.nix index ea63de06fe1..848cc00cae7 100644 --- a/lenovo/thinkpad/x1/6th-gen/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/default.nix @@ -1,3 +1,4 @@ +{ config, pkgs, ... }: { imports = [ ../. @@ -17,4 +18,41 @@ START_CHARGE_THRESH_BAT0=75 STOP_CHARGE_THRESH_BAT0=80 ''; + + # Temporary fix for cpu throttling issues visible in the kernel log + # (journalctl -k) by setting the same temperature limits used by + # Window$ + # See https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues + systemd.services.cpu-throttling = { + enable = true; + description = "Sets the offset to 3 °C, so the new trip point is 97 °C"; + documentation = [ + "https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues" + ]; + path = [ pkgs.msr-tools ]; + script = "wrmsr -a 0x1a2 0x3000000"; + serviceConfig = { + Type = "oneshot"; + }; + wantedBy = [ + "timers.target" + ]; + }; + + systemd.timers.cpu-throttling = { + enable = true; + description = "Set cpu heating limit to 97 °C"; + documentation = [ + "https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues" + ]; + timerConfig = { + OnActiveSec = 60; + OnUnitActiveSec = 60; + Unit = "cpu-throttling.service"; + }; + wantedBy = [ + "timers.target" + ]; + }; + } From 179bcde845464be4f21e4b170877e3ef61fec2b3 Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Sun, 3 Jun 2018 01:32:16 +0200 Subject: [PATCH 139/274] Add stub for the S3 suspend state issue See https://delta-xi.net/#056 --- lenovo/thinkpad/x1/6th-gen/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lenovo/thinkpad/x1/6th-gen/default.nix b/lenovo/thinkpad/x1/6th-gen/default.nix index 848cc00cae7..c0b4fbd785e 100644 --- a/lenovo/thinkpad/x1/6th-gen/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/default.nix @@ -55,4 +55,14 @@ STOP_CHARGE_THRESH_BAT0=80 ]; }; + # Enable S3 suspend state: you have to manually follow the + # instructions shown here: https://delta-xi.net/#056 in order to + # produce the ACPI patched table. Put the CPIO archive in /boot and + # then enable the following lines + # boot.kernelParams = [ + # "mem_sleep_default=deep" + # ]; + # boot.initrd.prepend = [ + # "/boot/acpi_override" + # ]; } From b42212f6f0c617e7bbe0435fbb9e072545508521 Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Sun, 3 Jun 2018 01:33:21 +0200 Subject: [PATCH 140/274] Add a bit of documentation --- lenovo/thinkpad/x1/6th-gen/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lenovo/thinkpad/x1/6th-gen/default.nix b/lenovo/thinkpad/x1/6th-gen/default.nix index c0b4fbd785e..7044d2879cf 100644 --- a/lenovo/thinkpad/x1/6th-gen/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/default.nix @@ -1,3 +1,8 @@ +# A good source of information about how to fix the issues still +# standing with kernel 4.6.11 is the following wiki page: +# https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6). The +# TrackPoint and TouchPad issues there seem to have been fixed already. + { config, pkgs, ... }: { imports = [ From b132065a431e73410cbca167118ab353647c47d6 Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Sun, 3 Jun 2018 01:33:37 +0200 Subject: [PATCH 141/274] Cosmetic --- lenovo/thinkpad/x1/6th-gen/QHD/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lenovo/thinkpad/x1/6th-gen/QHD/default.nix b/lenovo/thinkpad/x1/6th-gen/QHD/default.nix index 6b53d5e7738..86b2eb40116 100644 --- a/lenovo/thinkpad/x1/6th-gen/QHD/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/QHD/default.nix @@ -5,7 +5,7 @@ imports = [ ../. ]; - # fix font sizes in X + # Fix font sizes in X services.xserver.dpi = 210; fonts.fontconfig.dpi = 210; } From 32a7893b8c3068a32f42eab45f08faebd3a16359 Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Sun, 3 Jun 2018 01:55:59 +0200 Subject: [PATCH 142/274] Set a default to fix GTK/GNOME ui elements appareance --- lenovo/thinkpad/x1/6th-gen/QHD/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lenovo/thinkpad/x1/6th-gen/QHD/default.nix b/lenovo/thinkpad/x1/6th-gen/QHD/default.nix index 86b2eb40116..f99326ad8f1 100644 --- a/lenovo/thinkpad/x1/6th-gen/QHD/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/QHD/default.nix @@ -1,11 +1,18 @@ # X1 6th generation with a QHD (2560x1440px) display -{ config, ... }: +{ config, lib, ... }: { imports = [ ../. ]; + # Fix font sizes in X services.xserver.dpi = 210; fonts.fontconfig.dpi = 210; + + # Fix sizes of GTK/GNOME ui elements + environment.variables = { + GDK_SCALE = lib.mkDefault "2"; + GDK_DPI_SCALE= lib.mkDefault "0.5"; + }; } From cbdcc55f37ad1df7503896492ff8c0a0e529d16e Mon Sep 17 00:00:00 2001 From: Michael Peyton Jones Date: Fri, 8 Jun 2018 23:51:07 +0100 Subject: [PATCH 143/274] Add acpi_call module --- lenovo/thinkpad/acpi_call.nix | 10 ++++++++++ lenovo/thinkpad/x230/default.nix | 5 +---- 2 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 lenovo/thinkpad/acpi_call.nix diff --git a/lenovo/thinkpad/acpi_call.nix b/lenovo/thinkpad/acpi_call.nix new file mode 100644 index 00000000000..f8c17dcc490 --- /dev/null +++ b/lenovo/thinkpad/acpi_call.nix @@ -0,0 +1,10 @@ +# acpi_call makes tlp work for newer thinkpads + +{ config, ... }: + +{ + boot = { + kernelModules = [ "acpi_call" ]; + extraModulePackages = with config.boot.kernelPackages; [ acpi_call ]; + }; +} diff --git a/lenovo/thinkpad/x230/default.nix b/lenovo/thinkpad/x230/default.nix index 604df3d166d..32e5c13c7da 100644 --- a/lenovo/thinkpad/x230/default.nix +++ b/lenovo/thinkpad/x230/default.nix @@ -4,14 +4,11 @@ imports = [ ../. ../../../common/cpu/intel + ../acpi_call.nix ]; boot = { - extraModulePackages = with config.boot.kernelPackages; [ - acpi_call - ]; kernelModules = [ - "acpi_call" "tpm-rng" ]; }; From c354d591a77b7566795f19780c7308bf34b14788 Mon Sep 17 00:00:00 2001 From: Michael Peyton Jones Date: Fri, 8 Jun 2018 23:54:34 +0100 Subject: [PATCH 144/274] Add basic t480s profile --- lenovo/thinkpad/t480s/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 lenovo/thinkpad/t480s/default.nix diff --git a/lenovo/thinkpad/t480s/default.nix b/lenovo/thinkpad/t480s/default.nix new file mode 100644 index 00000000000..026332e4e9c --- /dev/null +++ b/lenovo/thinkpad/t480s/default.nix @@ -0,0 +1,9 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../../../common/cpu/intel + ../acpi_call.nix + ../. + ]; +} From 5a545d71456da6ff1f04e77860a0ee934604f464 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Mon, 18 Jun 2018 00:05:44 +0300 Subject: [PATCH 145/274] Add Purism Librem 13v3 profile --- README.org | 1 + purism/librem/13v3/README.md | 12 ++++++++++++ purism/librem/13v3/default.nix | 13 +++++++++++++ 3 files changed, 26 insertions(+) create mode 100644 purism/librem/13v3/README.md create mode 100644 purism/librem/13v3/default.nix diff --git a/README.org b/README.org index 358daaaa9bb..a6b1faade3d 100644 --- a/README.org +++ b/README.org @@ -37,6 +37,7 @@ should look like: | [[file:microsoft/surface-pro/3][Microsoft Surface Pro 3]] | ~~ | | [[file:raspberry-pi/2][Raspberry Pi 2]] | ~~ | | [[file:samsung/np900x3c][Samsung Series 9 NP900X3C]] | ~~ | +| [[file:purism/librem/13v3][Purism Librem 13v3]] | ~~ | | Supermicro A1SRi-2758F | ~~ | | Supermicro X10SLL-F | ~~ | |---------------------------+--------------------------------------------| diff --git a/purism/librem/13v3/README.md b/purism/librem/13v3/README.md new file mode 100644 index 00000000000..8009eb3279c --- /dev/null +++ b/purism/librem/13v3/README.md @@ -0,0 +1,12 @@ +Librem comes with Coreboot + SeaBIOS payload. That means EFI boot is not +possible. Use `fdisk` to partition hard drive, and GRUB as a bootloader: + +```nix +{ + boot.loader.grub = { + enable = true; + device = "/dev/sda"; + version = 2; + }; +} +``` diff --git a/purism/librem/13v3/default.nix b/purism/librem/13v3/default.nix new file mode 100644 index 00000000000..89ae07e4e69 --- /dev/null +++ b/purism/librem/13v3/default.nix @@ -0,0 +1,13 @@ +{ + imports = [ + ../../../common/cpu/intel + ../../../common/pc/laptop + ]; + + # https://github.com/systemd/systemd/pull/9318 + services.udev.extraHwdb = '' + # Purism Librem 13 V3 + evdev:atkbd:dmi:bvn*:bvr*:bd*:svnPurism*:pn*Librem13v3*:pvr* + KEYBOARD_KEY_56=backslash + ''; +} From e30cdb1109f152180209fc26907e4343190a6657 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Wed, 20 Jun 2018 15:02:26 +0300 Subject: [PATCH 146/274] Add PC Engines APU to the table --- README.org | 1 + 1 file changed, 1 insertion(+) diff --git a/README.org b/README.org index a6b1faade3d..20c5670af8c 100644 --- a/README.org +++ b/README.org @@ -35,6 +35,7 @@ should look like: | Lenovo ThinkPad X230 | ~~ | | Lenovo ThinkPad X250 | ~~ | | [[file:microsoft/surface-pro/3][Microsoft Surface Pro 3]] | ~~ | +| PC Engines APU | ~~ | | [[file:raspberry-pi/2][Raspberry Pi 2]] | ~~ | | [[file:samsung/np900x3c][Samsung Series 9 NP900X3C]] | ~~ | | [[file:purism/librem/13v3][Purism Librem 13v3]] | ~~ | From 585a13d8b929aba086bed5f1fa3317afd30c39b3 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Thu, 21 Jun 2018 16:20:57 +0300 Subject: [PATCH 147/274] Add ThinkPad X270 profile --- README.org | 1 + lenovo/thinkpad/x270/default.nix | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 lenovo/thinkpad/x270/default.nix diff --git a/README.org b/README.org index 20c5670af8c..435241c63af 100644 --- a/README.org +++ b/README.org @@ -34,6 +34,7 @@ should look like: | Lenovo ThinkPad X220 | ~~ | | Lenovo ThinkPad X230 | ~~ | | Lenovo ThinkPad X250 | ~~ | +| Lenovo ThinkPad X270 | ~~ | | [[file:microsoft/surface-pro/3][Microsoft Surface Pro 3]] | ~~ | | PC Engines APU | ~~ | | [[file:raspberry-pi/2][Raspberry Pi 2]] | ~~ | diff --git a/lenovo/thinkpad/x270/default.nix b/lenovo/thinkpad/x270/default.nix new file mode 100644 index 00000000000..870d9a85774 --- /dev/null +++ b/lenovo/thinkpad/x270/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ../. + ../../../common/cpu/intel + ]; +} From 212a5a7d7ca7717a573f6404c0a2d2faaaf2a6d3 Mon Sep 17 00:00:00 2001 From: Ben Ford Date: Fri, 13 Jul 2018 09:47:48 +0100 Subject: [PATCH 148/274] Add a note about rcu_sched problems How I fixed my XPS15 after it being dead for two months --- dell/xps/15-9550/README.wiki | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dell/xps/15-9550/README.wiki b/dell/xps/15-9550/README.wiki index d67395587a9..a4adf68e98b 100644 --- a/dell/xps/15-9550/README.wiki +++ b/dell/xps/15-9550/README.wiki @@ -36,3 +36,17 @@ These settings are needed both for booting the final install, and installer itse * ''Update BIOS.'' According to Reddit, this helps with battery life. * ''Update Intel's Thunderbolt firmware.'' Without this, the Thunderbolt port will only work as power source, and not transfer data. + +=== Troubleshooting === + +==== rcu_sched freezing problems ==== + +After a recent update my machine became unstable. X couldn't start and even running `lspci` would lock the machine. I'm not sure what the root cause was, but I found the fix here: https://wiki.archlinux.org/index.php/Dell_XPS_15_9560#Troubleshooting + +TL;DR I added this line: + +``` +boot.kernelParams = [ "acpi_rev_override=1" "pcie_aspm=off" "nouveau.modeset=0" ]; +``` + + From 8b463a3ca2c55033e3d28a4739af4ddd244f7f8b Mon Sep 17 00:00:00 2001 From: Ben Ford Date: Fri, 13 Jul 2018 09:49:39 +0100 Subject: [PATCH 149/274] Add a link to the other forum thread I found --- dell/xps/15-9550/README.wiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dell/xps/15-9550/README.wiki b/dell/xps/15-9550/README.wiki index a4adf68e98b..c0e9158a883 100644 --- a/dell/xps/15-9550/README.wiki +++ b/dell/xps/15-9550/README.wiki @@ -49,4 +49,4 @@ TL;DR I added this line: boot.kernelParams = [ "acpi_rev_override=1" "pcie_aspm=off" "nouveau.modeset=0" ]; ``` - +Some more detail about the problem can be found here: https://bbs.archlinux.org/viewtopic.php?id=223056 From 043605cfec0344b029947c306957695a2b1a1d4d Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Tue, 17 Jul 2018 15:27:07 +0300 Subject: [PATCH 150/274] Fix tests --- .travis.yml | 2 +- default.nix | 47 ++++++++++++++++++++++++++++++++++++++++++++++- tests/eval.nix | 15 --------------- tests/eval.sh | 16 ---------------- 4 files changed, 47 insertions(+), 33 deletions(-) delete mode 100644 tests/eval.nix delete mode 100755 tests/eval.sh diff --git a/.travis.yml b/.travis.yml index 4035b299352..689c9b6547c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,2 +1,2 @@ language: nix -script: tests/eval.sh +script: nix-build --dry-run --show-trace diff --git a/default.nix b/default.nix index c157af788ee..bf722111446 100644 --- a/default.nix +++ b/default.nix @@ -1 +1,46 @@ -{ ... }: {} +{ ... }: + +let + shim = { + boot.loader.systemd-boot.enable = true; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/00000000-0000-0000-0000-000000000000"; + fsType = "btrfs"; + }; + + nixpkgs.config = { + allowBroken = true; + allowUnfree = true; + }; + }; + + buildProfile = profile: (import { + configuration.imports = [ profile shim ]; + }).system; +in + +{ + acer-aspire-4810t = buildProfile ./acer/aspire/4810t; + + airis-n990 = buildProfile ./airis/n990; + + apple-macbook-air-4 = buildProfile ./apple/macbook-air/4; + apple-macbook-air-6 = buildProfile ./apple/macbook-air/6; + apple-macbook-pro-10-1 = buildProfile ./apple/macbook-pro/10-1; + apple-macbook-pro-12-1 = buildProfile ./apple/macbook-pro/12-1; + + dell-xps-15-9550 = buildProfile ./dell/xps/15-9550; + + lenovo-thinkpad-t410 = buildProfile ./lenovo/thinkpad/t410; + lenovo-thinkpad-t440p = buildProfile ./lenovo/thinkpad/t440p; + lenovo-thinkpad-t460s = buildProfile ./lenovo/thinkpad/t460s; + lenovo-thinkpad-x140e = buildProfile ./lenovo/thinkpad/x140e; + lenovo-thinkpad-x220 = buildProfile ./lenovo/thinkpad/x220; + lenovo-thinkpad-x230 = buildProfile ./lenovo/thinkpad/x230; + lenovo-thinkpad-x250 = buildProfile ./lenovo/thinkpad/x250; + + microsoft-surface-pro-3 = buildProfile ./microsoft/surface-pro/3; + + pcengines-apu = buildProfile ./pcengines/apu; +} diff --git a/tests/eval.nix b/tests/eval.nix deleted file mode 100644 index e946b0bbef5..00000000000 --- a/tests/eval.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ - imports = [ ]; - - boot.loader.systemd-boot.enable = true; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/00000000-0000-0000-0000-000000000000"; - fsType = "btrfs"; - }; - - nixpkgs.config = { - allowBroken = true; - allowUnfree = true; - }; -} diff --git a/tests/eval.sh b/tests/eval.sh deleted file mode 100755 index 0f21fe3f1e9..00000000000 --- a/tests/eval.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -set -e - -cd "$(dirname "$0")/.." - -for profile in $(find . -name default.nix); do - echo evaluating $profile >&2 - - nix-build '' \ - -I nixos-config=tests/eval.nix \ - -I nixos-hardware-profile=$profile \ - -A system \ - --dry-run \ - --show-trace -done From 7a640afbb236b093794364f7e3d718fa15832cef Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Tue, 17 Jul 2018 17:44:31 +0200 Subject: [PATCH 151/274] Add optional console font configuration to make it readable on QHD displays --- lenovo/thinkpad/x1/6th-gen/QHD/default.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/lenovo/thinkpad/x1/6th-gen/QHD/default.nix b/lenovo/thinkpad/x1/6th-gen/QHD/default.nix index f99326ad8f1..257b9a0cee2 100644 --- a/lenovo/thinkpad/x1/6th-gen/QHD/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/QHD/default.nix @@ -15,4 +15,22 @@ GDK_SCALE = lib.mkDefault "2"; GDK_DPI_SCALE= lib.mkDefault "0.5"; }; + # Enable readable font on console. The example configuration that + # foollows is taliored towards western languages. To see how to + # configure the font download the source tarball from + # http://terminus-font.sourceforge.net/ and read the README file on + # the root dir + + # i18n = { + # # this means ISO8859-1 or ISO8859-15 or Windows-1252 codepages + # # (ter-1), 16x32 px (32), normal font weight (n) + # consoleFont = "ter-132n"; + # consoleKeyMap = "us"; + # defaultLocale = "en_US.UTF-8"; + # consolePackages = [ pkgs.terminus_font ]; + # }; + + # Early configure the console to make the font readable from the + # start + # boot.earlyVconsoleSetup = true; } From a3210f1d6bf3fda69c6c190fa899699d9999d2fb Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Tue, 17 Jul 2018 17:53:53 +0200 Subject: [PATCH 152/274] Fix typo --- lenovo/thinkpad/x1/6th-gen/QHD/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lenovo/thinkpad/x1/6th-gen/QHD/default.nix b/lenovo/thinkpad/x1/6th-gen/QHD/default.nix index 257b9a0cee2..599e1e5f2d9 100644 --- a/lenovo/thinkpad/x1/6th-gen/QHD/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/QHD/default.nix @@ -16,7 +16,7 @@ GDK_DPI_SCALE= lib.mkDefault "0.5"; }; # Enable readable font on console. The example configuration that - # foollows is taliored towards western languages. To see how to + # follows is taliored towards western languages. To see how to # configure the font download the source tarball from # http://terminus-font.sourceforge.net/ and read the README file on # the root dir From b84f46f208d215f429fa9884db1753148bb36c1c Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Tue, 17 Jul 2018 18:55:21 +0200 Subject: [PATCH 153/274] Add missing pkgs parameter --- lenovo/thinkpad/x1/6th-gen/QHD/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lenovo/thinkpad/x1/6th-gen/QHD/default.nix b/lenovo/thinkpad/x1/6th-gen/QHD/default.nix index 599e1e5f2d9..0b8555fbfb0 100644 --- a/lenovo/thinkpad/x1/6th-gen/QHD/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/QHD/default.nix @@ -1,5 +1,5 @@ # X1 6th generation with a QHD (2560x1440px) display -{ config, lib, ... }: +{ config, lib, pkgs, ... }: { imports = [ From 4428c70b17e47cff73c05ca9459a0f146b712ba6 Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Sat, 21 Jul 2018 21:20:25 +0200 Subject: [PATCH 154/274] Enable powersave features when on battery (taken from #60) --- lenovo/thinkpad/x1/6th-gen/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lenovo/thinkpad/x1/6th-gen/default.nix b/lenovo/thinkpad/x1/6th-gen/default.nix index 7044d2879cf..b28fb5baca4 100644 --- a/lenovo/thinkpad/x1/6th-gen/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/default.nix @@ -20,9 +20,11 @@ # See https://linrunner.de/en/tlp/docs/tlp-faq.html#battery services.tlp.extraConfig = '' -START_CHARGE_THRESH_BAT0=75 -STOP_CHARGE_THRESH_BAT0=80 -''; + START_CHARGE_THRESH_BAT0=75 + STOP_CHARGE_THRESH_BAT0=80 + CPU_SCALING_GOVERNOR_ON_BAT=powersave + ENERGY_PERF_POLICY_ON_BAT=powersave + ''; # Temporary fix for cpu throttling issues visible in the kernel log # (journalctl -k) by setting the same temperature limits used by From 56b7d7254f6acb00112f25f9c38a2ff02f1f46c2 Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Mon, 30 Jul 2018 14:37:29 +0200 Subject: [PATCH 155/274] Link X1 6th gen to the README (#69) --- README.org | 57 +++++++++++++++++++++++++++--------------------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/README.org b/README.org index 435241c63af..ce0dcb0b488 100644 --- a/README.org +++ b/README.org @@ -15,31 +15,32 @@ should look like: ** Profiles -|---------------------------+--------------------------------------------| -| Model | Path | -|---------------------------+--------------------------------------------| -| [[file:acer/aspire/4810t][Acer Aspire 4810T]] | ~~ | -| Airis N990 | ~~ | -| Apple MacBook Air 4,X | ~~ | -| Apple MacBook Air 6,X | ~~ | -| [[file:apple/macbook-pro/10-1][Apple MacBook Pro 10,1]] | ~~ | -| Apple MacBook Pro 12,1 | ~~ | -| [[file:dell/xps/15-9550][Dell XPS 15 9550]] | ~~ | -| [[file:inversepath/usbarmory][Inverse Path USB armory]] | ~~ | -| Lenovo IdeaPad Z510 | ~~ | -| Lenovo ThinkPad T410 | ~~ | -| Lenovo ThinkPad T440p | ~~ | -| Lenovo ThinkPad T460s | ~~ | -| Lenovo ThinkPad X140e | ~~ | -| Lenovo ThinkPad X220 | ~~ | -| Lenovo ThinkPad X230 | ~~ | -| Lenovo ThinkPad X250 | ~~ | -| Lenovo ThinkPad X270 | ~~ | -| [[file:microsoft/surface-pro/3][Microsoft Surface Pro 3]] | ~~ | -| PC Engines APU | ~~ | -| [[file:raspberry-pi/2][Raspberry Pi 2]] | ~~ | -| [[file:samsung/np900x3c][Samsung Series 9 NP900X3C]] | ~~ | -| [[file:purism/librem/13v3][Purism Librem 13v3]] | ~~ | -| Supermicro A1SRi-2758F | ~~ | -| Supermicro X10SLL-F | ~~ | -|---------------------------+--------------------------------------------| +|-----------------------------+-----------------------------------------------| +| Model | Path | +|-----------------------------+-----------------------------------------------| +| [[file:acer/aspire/4810t][Acer Aspire 4810T]] | ~~ | +| Airis N990 | ~~ | +| Apple MacBook Air 4,X | ~~ | +| Apple MacBook Air 6,X | ~~ | +| [[file:apple/macbook-pro/10-1][Apple MacBook Pro 10,1]] | ~~ | +| Apple MacBook Pro 12,1 | ~~ | +| [[file:dell/xps/15-9550][Dell XPS 15 9550]] | ~~ | +| [[file:inversepath/usbarmory][Inverse Path USB armory]] | ~~ | +| Lenovo IdeaPad Z510 | ~~ | +| Lenovo ThinkPad T410 | ~~ | +| Lenovo ThinkPad T440p | ~~ | +| Lenovo ThinkPad T460s | ~~ | +| Lenovo ThinkPad X140e | ~~ | +| Lenovo ThinkPad X220 | ~~ | +| Lenovo ThinkPad X230 | ~~ | +| Lenovo ThinkPad X250 | ~~ | +| Lenovo ThinkPad X270 | ~~ | +| [[file:lenovo/thinkpad/x1/6th-gen][Lenovo ThinkPad X1 6th gen.]] | ~~ | +| [[file:microsoft/surface-pro/3][Microsoft Surface Pro 3]] | ~~ | +| PC Engines APU | ~~ | +| [[file:raspberry-pi/2][Raspberry Pi 2]] | ~~ | +| [[file:samsung/np900x3c][Samsung Series 9 NP900X3C]] | ~~ | +| [[file:purism/librem/13v3][Purism Librem 13v3]] | ~~ | +| Supermicro A1SRi-2758F | ~~ | +| Supermicro X10SLL-F | ~~ | +|-----------------------------+-----------------------------------------------| From 93d292b8306e09a0273eb09eeee957f316b72be8 Mon Sep 17 00:00:00 2001 From: Rehno Lindeque Date: Sun, 22 Jul 2018 17:22:08 -0400 Subject: [PATCH 156/274] apple/macbook-pro/11-5: init --- README.org | 1 + apple/macbook-pro/11-5/README.wiki | 8 ++++++++ apple/macbook-pro/11-5/default.nix | 17 +++++++++++++++++ 3 files changed, 26 insertions(+) create mode 100644 apple/macbook-pro/11-5/README.wiki create mode 100644 apple/macbook-pro/11-5/default.nix diff --git a/README.org b/README.org index ce0dcb0b488..1ed22eeb5cd 100644 --- a/README.org +++ b/README.org @@ -23,6 +23,7 @@ should look like: | Apple MacBook Air 4,X | ~~ | | Apple MacBook Air 6,X | ~~ | | [[file:apple/macbook-pro/10-1][Apple MacBook Pro 10,1]] | ~~ | +| [[file:apple/macbook-pro/11-5][Apple MacBook Pro 11,5]] | ~~ | | Apple MacBook Pro 12,1 | ~~ | | [[file:dell/xps/15-9550][Dell XPS 15 9550]] | ~~ | | [[file:inversepath/usbarmory][Inverse Path USB armory]] | ~~ | diff --git a/apple/macbook-pro/11-5/README.wiki b/apple/macbook-pro/11-5/README.wiki new file mode 100644 index 00000000000..6e1e8a82d05 --- /dev/null +++ b/apple/macbook-pro/11-5/README.wiki @@ -0,0 +1,8 @@ += Apple MacBook Pro 11,5 = + +This configuration will '''not''' work with MacBook Pro 11,2 or 11,3 models. + +The [https://support.apple.com/kb/SP719 MacBookPro11,4 and MacBookPro11,5] models ship with a discrete ATI graphics card (whereas MacBookPro11,2 and MacBookPro11,3 ship with NVidia cards). This is alongside the usual integrated Intel GPU. + +You may wish to look into dynamic switching between integrated and discrete graphics, but this config doesn't attempt it. + diff --git a/apple/macbook-pro/11-5/default.nix b/apple/macbook-pro/11-5/default.nix new file mode 100644 index 00000000000..b5c36a67f5d --- /dev/null +++ b/apple/macbook-pro/11-5/default.nix @@ -0,0 +1,17 @@ +{ lib, pkgs, ... }: + +{ + imports = [ + ../. + ../../../common/pc/laptop/ssd + + ]; + + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + # Apparently this is currently only supported by ati_unfree drivers, not ati + hardware.opengl.driSupport32Bit = false; + + services.xserver.videoDrivers = [ "ati" ]; +} From ec4c3da28964fa585f8be62e0d69536cdc0ad6a3 Mon Sep 17 00:00:00 2001 From: Rehno Lindeque Date: Sun, 22 Jul 2018 21:46:04 -0400 Subject: [PATCH 157/274] apple/macbook-pro/11-5: Additional wiki resources As suggested by issue #41. --- apple/macbook-pro/11-5/README.wiki | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apple/macbook-pro/11-5/README.wiki b/apple/macbook-pro/11-5/README.wiki index 6e1e8a82d05..a5070ea860b 100644 --- a/apple/macbook-pro/11-5/README.wiki +++ b/apple/macbook-pro/11-5/README.wiki @@ -6,3 +6,7 @@ The [https://support.apple.com/kb/SP719 MacBookPro11,4 and MacBookPro11,5] model You may wish to look into dynamic switching between integrated and discrete graphics, but this config doesn't attempt it. +== Additional resources == + +* Arch linux wiki: [https://wiki.archlinux.org/index.php/MacBookPro11,x MacBookPro11,x] +* Kernel patches: [https://bugzilla.kernel.org/buglist.cgi?quicksearch=macbookpro11 MacBookPro11,x] From e31b17512822fb7be589ee3701621413a36b1c64 Mon Sep 17 00:00:00 2001 From: Rehno Lindeque Date: Sat, 28 Jul 2018 13:01:50 -0400 Subject: [PATCH 158/274] apple/macbook-pro/11-5: Change README to markdown .wiki is just plain distracting to edit, markdown allows me to quickly write up accompanying docs. --- apple/macbook-pro/11-5/README.md | 12 ++++++++++++ apple/macbook-pro/11-5/README.wiki | 12 ------------ 2 files changed, 12 insertions(+), 12 deletions(-) create mode 100644 apple/macbook-pro/11-5/README.md delete mode 100644 apple/macbook-pro/11-5/README.wiki diff --git a/apple/macbook-pro/11-5/README.md b/apple/macbook-pro/11-5/README.md new file mode 100644 index 00000000000..49ddc4ad8ad --- /dev/null +++ b/apple/macbook-pro/11-5/README.md @@ -0,0 +1,12 @@ +# Apple MacBook Pro 11,5 + +This configuration will **not** work with MacBook Pro 11,2 or 11,3 models. + +The [MacBookPro11,4 and MacBookPro11,5](https://support.apple.com/kb/SP719) models ship with a discrete ATI graphics card (whereas MacBookPro11,2 and MacBookPro11,3 ship with NVidia cards). This is alongside the usual integrated Intel GPU. + +You may wish to look into dynamic switching between integrated and discrete graphics, but this config doesn't attempt it. + +## Additional resources + +* Arch linux wiki: [MacBookPro11,x](https://wiki.archlinux.org/index.php/MacBookPro11,x) +* Kernel patches: [MacBookPro11,x](https://bugzilla.kernel.org/buglist.cgi?quicksearch=macbookpro11) diff --git a/apple/macbook-pro/11-5/README.wiki b/apple/macbook-pro/11-5/README.wiki deleted file mode 100644 index a5070ea860b..00000000000 --- a/apple/macbook-pro/11-5/README.wiki +++ /dev/null @@ -1,12 +0,0 @@ -= Apple MacBook Pro 11,5 = - -This configuration will '''not''' work with MacBook Pro 11,2 or 11,3 models. - -The [https://support.apple.com/kb/SP719 MacBookPro11,4 and MacBookPro11,5] models ship with a discrete ATI graphics card (whereas MacBookPro11,2 and MacBookPro11,3 ship with NVidia cards). This is alongside the usual integrated Intel GPU. - -You may wish to look into dynamic switching between integrated and discrete graphics, but this config doesn't attempt it. - -== Additional resources == - -* Arch linux wiki: [https://wiki.archlinux.org/index.php/MacBookPro11,x MacBookPro11,x] -* Kernel patches: [https://bugzilla.kernel.org/buglist.cgi?quicksearch=macbookpro11 MacBookPro11,x] From 694fd85397db316fdf18b7cf23bcbbdee2e84a67 Mon Sep 17 00:00:00 2001 From: Rehno Lindeque Date: Sat, 28 Jul 2018 13:41:15 -0400 Subject: [PATCH 159/274] apple/macbookpro/11-5: Prevent intermittent xhci wakeup after suspend --- apple/macbook-pro/11-5/README.md | 20 ++++++++++++++++++++ apple/macbook-pro/11-5/default.nix | 15 ++++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/apple/macbook-pro/11-5/README.md b/apple/macbook-pro/11-5/README.md index 49ddc4ad8ad..17e5ef1d36e 100644 --- a/apple/macbook-pro/11-5/README.md +++ b/apple/macbook-pro/11-5/README.md @@ -2,6 +2,26 @@ This configuration will **not** work with MacBook Pro 11,2 or 11,3 models. +## Notable features + +* Prevent intermittent USB 3.0 controller wakeup signal when the lid is closed. Without this fix your laptop may get very hot and drain the battery after waking up in your laptop bag. + + You can see for yourself which devices are allowed to wake up your laptop using the command: + + ```shell + cat /proc/acpi/wakeup + ``` + + This fix works for Linux kernel 3.13 and above. + + Sources: + + * [Fix unwanted laptop resume after lid is closed](https://medium.com/@laurynas.karvelis_95228/install-arch-linux-on-macbook-pro-11-2-retina-install-guide-for-year-2017-2034ceed4cb2#66ba) + * [Arch wiki: MacBookPro11,x Suspend](https://wiki.archlinux.org/index.php/MacBookPro11,x#Suspend) + * [simonvandel/dotfiles (nix config)](https://github.com/simonvandel/dotfiles/blob/f254a4a607257faee295ce798ed215273c342850/nixos/vandel-macair/configuration.nix#L45) + +## Graphics + The [MacBookPro11,4 and MacBookPro11,5](https://support.apple.com/kb/SP719) models ship with a discrete ATI graphics card (whereas MacBookPro11,2 and MacBookPro11,3 ship with NVidia cards). This is alongside the usual integrated Intel GPU. You may wish to look into dynamic switching between integrated and discrete graphics, but this config doesn't attempt it. diff --git a/apple/macbook-pro/11-5/default.nix b/apple/macbook-pro/11-5/default.nix index b5c36a67f5d..28ce18c2ecc 100644 --- a/apple/macbook-pro/11-5/default.nix +++ b/apple/macbook-pro/11-5/default.nix @@ -1,4 +1,10 @@ -{ lib, pkgs, ... }: +{ lib, config, pkgs, ... }: + +let + + kernelPackages = config.boot.kernelPackages; + +in { imports = [ @@ -14,4 +20,11 @@ hardware.opengl.driSupport32Bit = false; services.xserver.videoDrivers = [ "ati" ]; + + services.udev.extraRules = + # Disable XHC1 wakeup signal to avoid resume getting triggered some time + # after suspend. Reboot required for this to take effect. + lib.optionalString + (lib.versionAtLeast kernelPackages.kernel.version "3.13") + ''SUBSYSTEM=="pci", KERNEL=="0000:00:14.0", ATTR{power/wakeup}="disabled"''; } From a9f65b889655b0730935d6754fb64926fce42bf4 Mon Sep 17 00:00:00 2001 From: Rehno Lindeque Date: Mon, 30 Jul 2018 14:04:59 -0400 Subject: [PATCH 160/274] apple/macbook-pro/11-5: Remove boot loader Since the boot loader is already automatically generated by nixos-generate-config, there is no need to include it here. --- apple/macbook-pro/11-5/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/apple/macbook-pro/11-5/default.nix b/apple/macbook-pro/11-5/default.nix index 28ce18c2ecc..a53b5d8adeb 100644 --- a/apple/macbook-pro/11-5/default.nix +++ b/apple/macbook-pro/11-5/default.nix @@ -13,9 +13,6 @@ in ]; - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - # Apparently this is currently only supported by ati_unfree drivers, not ati hardware.opengl.driSupport32Bit = false; From d534770be7f699b3332ef09bd043745a38d115ad Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sat, 4 Aug 2018 18:59:08 +0300 Subject: [PATCH 161/274] intel: videoDrivers: intel -> modesetting (#57) --- common/cpu/intel/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/common/cpu/intel/default.nix b/common/cpu/intel/default.nix index 84997f18f02..78c824e70e9 100644 --- a/common/cpu/intel/default.nix +++ b/common/cpu/intel/default.nix @@ -2,8 +2,7 @@ { hardware.cpu.intel.updateMicrocode = lib.mkDefault true; - services.xserver.videoDrivers = [ "intel" ]; - + hardware.opengl.extraPackages = with pkgs; [ vaapiIntel vaapiVdpau From a633fa6f68255b5752bb595a3ea342813db63b4f Mon Sep 17 00:00:00 2001 From: Michael Peyton Jones Date: Wed, 15 Aug 2018 18:34:44 +0100 Subject: [PATCH 162/274] T480s: use CPU throttling fix too --- lenovo/thinkpad/cpu-throttling-bug.nix | 38 +++++++++++++++++++++ lenovo/thinkpad/t480s/default.nix | 1 + lenovo/thinkpad/x1/6th-gen/default.nix | 47 ++------------------------ 3 files changed, 41 insertions(+), 45 deletions(-) create mode 100644 lenovo/thinkpad/cpu-throttling-bug.nix diff --git a/lenovo/thinkpad/cpu-throttling-bug.nix b/lenovo/thinkpad/cpu-throttling-bug.nix new file mode 100644 index 00000000000..a44bb7225d0 --- /dev/null +++ b/lenovo/thinkpad/cpu-throttling-bug.nix @@ -0,0 +1,38 @@ +{ config, pkgs, ... }: +{ + # Temporary fix for cpu throttling issues visible in the kernel log + # (journalctl -k) by setting the same temperature limits used by + # Window$ + # See https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues + systemd.services.cpu-throttling = { + enable = true; + description = "Sets the offset to 3 °C, so the new trip point is 97 °C"; + documentation = [ + "https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues" + ]; + path = [ pkgs.msr-tools ]; + script = "wrmsr -a 0x1a2 0x3000000"; + serviceConfig = { + Type = "oneshot"; + }; + wantedBy = [ + "timers.target" + ]; + }; + + systemd.timers.cpu-throttling = { + enable = true; + description = "Set cpu heating limit to 97 °C"; + documentation = [ + "https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues" + ]; + timerConfig = { + OnActiveSec = 60; + OnUnitActiveSec = 60; + Unit = "cpu-throttling.service"; + }; + wantedBy = [ + "timers.target" + ]; + }; +} diff --git a/lenovo/thinkpad/t480s/default.nix b/lenovo/thinkpad/t480s/default.nix index 026332e4e9c..2f4b8a9129e 100644 --- a/lenovo/thinkpad/t480s/default.nix +++ b/lenovo/thinkpad/t480s/default.nix @@ -4,6 +4,7 @@ imports = [ ../../../common/cpu/intel ../acpi_call.nix + ../cpu-throttling-bug.nix ../. ]; } diff --git a/lenovo/thinkpad/x1/6th-gen/default.nix b/lenovo/thinkpad/x1/6th-gen/default.nix index b28fb5baca4..4fc8ece4aef 100644 --- a/lenovo/thinkpad/x1/6th-gen/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/default.nix @@ -7,16 +7,9 @@ { imports = [ ../. + ../../cpu-throttling.nix + ../../acpi_call.nix ]; - # Give TLP service more control over battery - boot = { - extraModulePackages = with config.boot.kernelPackages; [ - acpi_call - ]; - kernelModules = [ - "acpi_call" - ]; - }; # See https://linrunner.de/en/tlp/docs/tlp-faq.html#battery services.tlp.extraConfig = '' @@ -26,42 +19,6 @@ ENERGY_PERF_POLICY_ON_BAT=powersave ''; - # Temporary fix for cpu throttling issues visible in the kernel log - # (journalctl -k) by setting the same temperature limits used by - # Window$ - # See https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues - systemd.services.cpu-throttling = { - enable = true; - description = "Sets the offset to 3 °C, so the new trip point is 97 °C"; - documentation = [ - "https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues" - ]; - path = [ pkgs.msr-tools ]; - script = "wrmsr -a 0x1a2 0x3000000"; - serviceConfig = { - Type = "oneshot"; - }; - wantedBy = [ - "timers.target" - ]; - }; - - systemd.timers.cpu-throttling = { - enable = true; - description = "Set cpu heating limit to 97 °C"; - documentation = [ - "https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues" - ]; - timerConfig = { - OnActiveSec = 60; - OnUnitActiveSec = 60; - Unit = "cpu-throttling.service"; - }; - wantedBy = [ - "timers.target" - ]; - }; - # Enable S3 suspend state: you have to manually follow the # instructions shown here: https://delta-xi.net/#056 in order to # produce the ACPI patched table. Put the CPIO archive in /boot and From 4470239d635e06eaa92e4421a0454130f735b1f0 Mon Sep 17 00:00:00 2001 From: Rehno Lindeque Date: Wed, 15 Aug 2018 19:19:36 -0400 Subject: [PATCH 163/274] apple/macbookpro/11-5: Add to tests --- default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/default.nix b/default.nix index bf722111446..c5eb0fa4982 100644 --- a/default.nix +++ b/default.nix @@ -28,6 +28,7 @@ in apple-macbook-air-4 = buildProfile ./apple/macbook-air/4; apple-macbook-air-6 = buildProfile ./apple/macbook-air/6; apple-macbook-pro-10-1 = buildProfile ./apple/macbook-pro/10-1; + apple-macbook-pro-11-5 = buildProfile ./apple/macbook-pro/11-5; apple-macbook-pro-12-1 = buildProfile ./apple/macbook-pro/12-1; dell-xps-15-9550 = buildProfile ./dell/xps/15-9550; From 218ef7df3c71e3b3c6840a28e2aae8a261156e0d Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 24 Aug 2018 13:40:52 +0300 Subject: [PATCH 164/274] Add Toshiba swanky along with documentation --- toshiba/swanky/README.md | 63 ++++++++++++++++++++++++++++++++++++++ toshiba/swanky/default.nix | 30 ++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 toshiba/swanky/README.md create mode 100644 toshiba/swanky/default.nix diff --git a/toshiba/swanky/README.md b/toshiba/swanky/README.md new file mode 100644 index 00000000000..6780770e295 --- /dev/null +++ b/toshiba/swanky/README.md @@ -0,0 +1,63 @@ +# Toshiba Chromebook (`swanky`) + +There might be a way to install NixOS without hardware modifications (via +enabled developer mode and SeaBIOS boot on Ctrl+L), however I'd highly +recommend replacing Google's Coreboot payload with Tianocore: that allows for +proper virtualization, suspend, removes annoying developer mode screen, and +generally just works much better. + +These instructions carry some risk of bricking your device, since you'll be +reflashing BIOS. Risk is rather low, but please for the love of god make a BIOS +backup and store it someplace safe. That's the only way to reinstall ChromeOS +back after this procedure (BIOS image has licensing info), and it's the easiest +way to unbrick (it's nice to be able to return to the last good state). + +If you ever get unlucky, you can unbrick your device using a makeshift programmer +based on Raspberry Pi or BeagleBone Black, some cables and a SOIC clip, see: +http://sicarul.com/how-to-un-brick-your-toshiba-chromebook-2-gandof-without-invoking-any-demons/ + +## Enable developer mode + +This will wipe all user data and settings from the laptop. + +Power off, then hold ESC + Refresh (F3) and abruptly press power button. You +should see "Chrome OS is missing or damaged" message, press Ctrl+D. Press enter +at the next screen, then press Ctrl+D again. Wait until the laptop boots into +ChromeOS, then power it off. + +## Disable hardware-backed BIOS write protection + +Follow guide at: https://github.com/brendenyule/NativeToshibaCB2Guide/wiki/Remove-Write-Protect + +Ignore 2.2, only follow the first part of the guide. I also placed some ductape +over #5 to make sure that metallic motherboard shield would not re-enable write +protection. + +## Flash Coreboot + Tianocore BIOS + +Go through installation dialogues until you have network access and are able to +log into Guest session. Open Chrome, press Ctrl+Alt+T to open `crosh`, type in +`shell` to get a real shell. Then, run: + +``` +$ cd ~ +$ curl -LO https://mrchromebox.tech/firmware-util.sh +$ sudo bash firmware-util.sh +``` + +Choose option 3. Do not skip BIOS backup! + +Documentation: https://mrchromebox.tech/#fwscript + +## Enable hardware-backed BIOS write protection + +This is a cool security feature, so after flashing Coreboot + Tianocore BIOS +and making sure new BIOS works, consider re-enabling BIOS protection. Just put +in the missing screw #5. + +## Install NixOS + +`dd` an image on a flash drive, partition the drive, etc. On some later models, +you can swap SSD with any other 2242 M.2 SATA SSD, but on `swanky`, you have +to live with what you have (16GB eMMC). I recommend `256MB` for EFI partition, +and the rest for `/`. diff --git a/toshiba/swanky/default.nix b/toshiba/swanky/default.nix new file mode 100644 index 00000000000..c46ed6c8daa --- /dev/null +++ b/toshiba/swanky/default.nix @@ -0,0 +1,30 @@ +with pkgs; + +let + ucm = fetchzip { + url = "https://github.com/plbossart/UCM/archive/2050ca78a4d1a853d1ba050b591f42e6f97adfc0.tar.gz"; + sha256 = "1rs4mpz3b965nmz0yhy6j4ga3fdz320qnpkd7d61nvpv9c3i6zwj"; + }; +in + +{ + imports = [ + ../../common/cpu/intel + ../../common/pc/laptop + ]; + + # Sound only properly works out of the box on 4.18+ kernels. + boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; + + # Required for screen brightness control: + boot.kernelParams = [ "acpi_backlight=vendor" ]; + + # Sound requires a custom UCM config: + system.replaceRuntimeDependencies = [{ + original = pkgs.alsaLib; + + replacement = pkgs.alsaLib.overrideAttrs (super: { + postFixup = "cp -r ${ucm}/chtmax98090 $out/share/alsa/ucm"; + }); + }]; +} From 80ad9d8b661c2ae9e8b72e226a82d7ecb6c40c08 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 24 Aug 2018 13:58:48 +0300 Subject: [PATCH 165/274] Add to README.md, redo the table in Markdown --- README.md | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.org | 47 ----------------------------------------- 2 files changed, 61 insertions(+), 47 deletions(-) create mode 100644 README.md delete mode 100644 README.org diff --git a/README.md b/README.md new file mode 100644 index 00000000000..251ff0b4711 --- /dev/null +++ b/README.md @@ -0,0 +1,61 @@ +NixOS profiles covering hardware quirks. + +## Setup + +Add and update `nixos-hardware` channel: + +``` +$ sudo nix-channel --add https://github.com/NixOS/nixos-hardware/archive/master.tar.gz nixos-hardware +$ sudo nix-channel --update nixos-hardware +``` + +Then import an appropriate profile path from the table below. For example, to +enable ThinkPad X220 profile, your `imports` in `/etc/nixos/configuration.nix` +should look like: + +``` +imports = [ + + ./hardware-configuration.nix +]; +``` + +## Profiles + +| Model | Path | +| --------------------------------- | ------------------------------------------ | +| [Acer Aspire 4810T][] | `` | +| Airis N990 | `` | +| Apple MacBook Air 4,X | `` | +| Apple MacBook Air 6,X | `` | +| [Apple MacBook Pro 10,1][] | `` | +| Apple MacBook Pro 12,1 | `` | +| [Dell XPS 15 9550][] | `` | +| [Inverse Path USB armory][] | `` | +| Lenovo IdeaPad Z510 | `` | +| Lenovo ThinkPad T410 | `` | +| Lenovo ThinkPad T440p | `` | +| Lenovo ThinkPad T460s | `` | +| Lenovo ThinkPad X140e | `` | +| Lenovo ThinkPad X220 | `` | +| Lenovo ThinkPad X230 | `` | +| Lenovo ThinkPad X250 | `` | +| Lenovo ThinkPad X270 | `` | +| [Microsoft Surface Pro 3][] | `` | +| PC Engines APU | `` | +| [Raspberry Pi 2][] | `` | +| [Samsung Series 9 NP900X3C][] | `` | +| [Purism Librem 13v3][] | `` | +| Supermicro A1SRi-2758F | `` | +| Supermicro X10SLL-F | `` | +| [Toshiba Chromebook 2 `swanky`][] | `` | + +[Acer Aspire 4810T]: acer/aspire/4810t +[Apple MacBook Pro 10,1]: apple/macbook-pro/10-1 +[Dell XPS 15 9550]: dell/xps/15-9550 +[Inverse Path USB armory]: inversepath/usbarmory +[Microsoft Surface Pro 3]: microsoft/surface-pro/3 +[Raspberry Pi 2]: raspberry-pi/2 +[Samsung Series 9 NP900X3C]: samsung/np900x3c +[Purism Librem 13v3]: purism/librem/13v3 +[Toshiba Chromebook 2 `swanky`]: toshiba/swanky diff --git a/README.org b/README.org deleted file mode 100644 index 1ed22eeb5cd..00000000000 --- a/README.org +++ /dev/null @@ -1,47 +0,0 @@ -NixOS profiles covering hardware quirks. - -** Setup - -Add and update ~nixos-hardware~ channel: - - : $ sudo nix-channel --add https://github.com/NixOS/nixos-hardware/archive/master.tar.gz nixos-hardware - : $ sudo nix-channel --update nixos-hardware - -Then import an appropriate profile path from the table below. For example, to -enable ThinkPad X220 profile, your ~imports~ in ~/etc/nixos/configuration.nix~ -should look like: - - : imports = [ ./hardware-configuration.nix ]; - -** Profiles - -|-----------------------------+-----------------------------------------------| -| Model | Path | -|-----------------------------+-----------------------------------------------| -| [[file:acer/aspire/4810t][Acer Aspire 4810T]] | ~~ | -| Airis N990 | ~~ | -| Apple MacBook Air 4,X | ~~ | -| Apple MacBook Air 6,X | ~~ | -| [[file:apple/macbook-pro/10-1][Apple MacBook Pro 10,1]] | ~~ | -| [[file:apple/macbook-pro/11-5][Apple MacBook Pro 11,5]] | ~~ | -| Apple MacBook Pro 12,1 | ~~ | -| [[file:dell/xps/15-9550][Dell XPS 15 9550]] | ~~ | -| [[file:inversepath/usbarmory][Inverse Path USB armory]] | ~~ | -| Lenovo IdeaPad Z510 | ~~ | -| Lenovo ThinkPad T410 | ~~ | -| Lenovo ThinkPad T440p | ~~ | -| Lenovo ThinkPad T460s | ~~ | -| Lenovo ThinkPad X140e | ~~ | -| Lenovo ThinkPad X220 | ~~ | -| Lenovo ThinkPad X230 | ~~ | -| Lenovo ThinkPad X250 | ~~ | -| Lenovo ThinkPad X270 | ~~ | -| [[file:lenovo/thinkpad/x1/6th-gen][Lenovo ThinkPad X1 6th gen.]] | ~~ | -| [[file:microsoft/surface-pro/3][Microsoft Surface Pro 3]] | ~~ | -| PC Engines APU | ~~ | -| [[file:raspberry-pi/2][Raspberry Pi 2]] | ~~ | -| [[file:samsung/np900x3c][Samsung Series 9 NP900X3C]] | ~~ | -| [[file:purism/librem/13v3][Purism Librem 13v3]] | ~~ | -| Supermicro A1SRi-2758F | ~~ | -| Supermicro X10SLL-F | ~~ | -|-----------------------------+-----------------------------------------------| From 631e81ce5e61eeab5cabd02d8812fbd4a3a0781b Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 24 Aug 2018 14:00:17 +0300 Subject: [PATCH 166/274] Toshiba Chromebook (`swanky`) -> Toshiba Chromebook 2 `swanky` --- toshiba/swanky/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toshiba/swanky/README.md b/toshiba/swanky/README.md index 6780770e295..e2733358d3d 100644 --- a/toshiba/swanky/README.md +++ b/toshiba/swanky/README.md @@ -1,4 +1,4 @@ -# Toshiba Chromebook (`swanky`) +# Toshiba Chromebook 2 `swanky` There might be a way to install NixOS without hardware modifications (via enabled developer mode and SeaBIOS boot on Ctrl+L), however I'd highly From e1804a0fdce6b96230202a1c9e69c84380efe6f4 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 24 Aug 2018 14:12:28 +0300 Subject: [PATCH 167/274] toshiba/swanky: reword guide --- toshiba/swanky/README.md | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/toshiba/swanky/README.md b/toshiba/swanky/README.md index e2733358d3d..ab4c072c6b0 100644 --- a/toshiba/swanky/README.md +++ b/toshiba/swanky/README.md @@ -9,11 +9,11 @@ generally just works much better. These instructions carry some risk of bricking your device, since you'll be reflashing BIOS. Risk is rather low, but please for the love of god make a BIOS backup and store it someplace safe. That's the only way to reinstall ChromeOS -back after this procedure (BIOS image has licensing info), and it's the easiest -way to unbrick (it's nice to be able to return to the last good state). +back after this procedure (BIOS image has licensing info), and it's much easier +to use a known good state to unbrick the laptop if things go wrong. -If you ever get unlucky, you can unbrick your device using a makeshift programmer -based on Raspberry Pi or BeagleBone Black, some cables and a SOIC clip, see: +If you ever get unlucky, you can unbrick your device using Raspberry Pi, +some cables and a SOIC clip, see: http://sicarul.com/how-to-un-brick-your-toshiba-chromebook-2-gandof-without-invoking-any-demons/ ## Enable developer mode @@ -21,23 +21,25 @@ http://sicarul.com/how-to-un-brick-your-toshiba-chromebook-2-gandof-without-invo This will wipe all user data and settings from the laptop. Power off, then hold ESC + Refresh (F3) and abruptly press power button. You -should see "Chrome OS is missing or damaged" message, press Ctrl+D. Press enter +should see "Chrome OS is missing or damaged" message. Press Ctrl+D. Press enter at the next screen, then press Ctrl+D again. Wait until the laptop boots into ChromeOS, then power it off. ## Disable hardware-backed BIOS write protection -Follow guide at: https://github.com/brendenyule/NativeToshibaCB2Guide/wiki/Remove-Write-Protect +Follow the first part of the guide at: +https://github.com/brendenyule/NativeToshibaCB2Guide/wiki/Remove-Write-Protect -Ignore 2.2, only follow the first part of the guide. I also placed some ductape -over #5 to make sure that metallic motherboard shield would not re-enable write -protection. +Ignore SeaBIOS section. I also used some ductape over #5 to make sure that +metallic motherboard shield would not re-enable write protection. ## Flash Coreboot + Tianocore BIOS -Go through installation dialogues until you have network access and are able to -log into Guest session. Open Chrome, press Ctrl+Alt+T to open `crosh`, type in -`shell` to get a real shell. Then, run: +Prepare a FAT32-formatted flash drive for BIOS backup in advance. + +Go through ChromeOS installation dialogues until you have network access and +are able to log into a guest session. Open Chrome, press Ctrl+Alt+T to open +`crosh`, type in `shell` to get a real shell. Then, run: ``` $ cd ~ @@ -45,7 +47,8 @@ $ curl -LO https://mrchromebox.tech/firmware-util.sh $ sudo bash firmware-util.sh ``` -Choose option 3. Do not skip BIOS backup! +Choose "Install/Update Full ROM Firmware" option and follow instructions. +Do not skip BIOS backup! Documentation: https://mrchromebox.tech/#fwscript From 231323f697dfd817e632147dca73efdaa9ae0d92 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 24 Aug 2018 14:14:16 +0300 Subject: [PATCH 168/274] CONTRIBUTING.org -> CONTRIBUTING.md --- CONTRIBUTING.org => CONTRIBUTING.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename CONTRIBUTING.org => CONTRIBUTING.md (100%) diff --git a/CONTRIBUTING.org b/CONTRIBUTING.md similarity index 100% rename from CONTRIBUTING.org rename to CONTRIBUTING.md From 111d7e8138a7471ded9325c1a138d3409dbc8937 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 24 Aug 2018 16:50:37 +0300 Subject: [PATCH 169/274] Add toshiba-swanky to CI --- default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/default.nix b/default.nix index c5eb0fa4982..17612ce0897 100644 --- a/default.nix +++ b/default.nix @@ -44,4 +44,6 @@ in microsoft-surface-pro-3 = buildProfile ./microsoft/surface-pro/3; pcengines-apu = buildProfile ./pcengines/apu; + + toshiba-swanky = buildProfile ./toshiba/swanky; } From 23e4b913d35dc6132a23986817836f82ee20070d Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 24 Aug 2018 16:53:27 +0300 Subject: [PATCH 170/274] toshiba/swanky: fix eval --- toshiba/swanky/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/toshiba/swanky/default.nix b/toshiba/swanky/default.nix index c46ed6c8daa..9504d147db0 100644 --- a/toshiba/swanky/default.nix +++ b/toshiba/swanky/default.nix @@ -1,7 +1,7 @@ -with pkgs; +{ lib, pkgs, ... }: let - ucm = fetchzip { + ucm = pkgs.fetchzip { url = "https://github.com/plbossart/UCM/archive/2050ca78a4d1a853d1ba050b591f42e6f97adfc0.tar.gz"; sha256 = "1rs4mpz3b965nmz0yhy6j4ga3fdz320qnpkd7d61nvpv9c3i6zwj"; }; From b10d7a40b864828817f0af36743c6d76a97369a1 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sat, 25 Aug 2018 13:54:23 +0300 Subject: [PATCH 171/274] LICENSE -> COPYING --- LICENSE => COPYING | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename LICENSE => COPYING (100%) diff --git a/LICENSE b/COPYING similarity index 100% rename from LICENSE rename to COPYING From 2526dcbe61bf856c9dc5e3c97e43aa2f7ae41378 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sat, 25 Aug 2018 13:55:35 +0300 Subject: [PATCH 172/274] cpu/intel: early KMS --- common/cpu/intel/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/cpu/intel/default.nix b/common/cpu/intel/default.nix index 78c824e70e9..05b8c027522 100644 --- a/common/cpu/intel/default.nix +++ b/common/cpu/intel/default.nix @@ -1,6 +1,8 @@ { lib, pkgs, ... }: { + boot.initrd.kernelModules = [ "i915" ]; + hardware.cpu.intel.updateMicrocode = lib.mkDefault true; hardware.opengl.extraPackages = with pkgs; [ From e9d8b30995f4bc361bffae3c2dec5d15a6afa86f Mon Sep 17 00:00:00 2001 From: Michael Peyton Jones Date: Tue, 17 Jul 2018 13:39:49 +0100 Subject: [PATCH 173/274] Suggestions for CONTRIBUTING --- CONTRIBUTING.md | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fc6ed8a8dd4..ea468923ae1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,31 @@ -Profiles should favor usability and stability, so performance hacks should be -activated by an additional NixOS option or conservative and performance configs -can be declared in separate profiles. +# Writing profiles -Because profiles can only be tested with the appropriate hardware, quality -assurance is up to *you*. +When setting an option, use `lib.mkDefault` unless: +- The option *must* be set and the user should get an error if they try to override it. +- The setting should merge with the user's settings (typical for list or set options). + +For example: + +```nix +{ lib }: { + # Using mkDefault, because the user might want to disable tlp + services.tlp.enable = lib.mkDefault true; + # No need to use mkDefault, because the setting will merge with the user's setting + boot.kernelModules = [ "tmp_smapi" ]; +} +``` + +Try to avoid "opinionated" settings relating to optional features like sound, bluetooth, choice of bootloader etc. + +Where possible, use module imports to share code between similar hardware variants. + +# Performance + +Profiles should favor usability and stability, so performance improvements should either be conservative or +be guarded behind additional NixOS module options. + +If it makes sense to have a performance-focussed config, it can be declared in a separate profile. + +# Testing + +Because profiles can only be tested with the appropriate hardware, quality assurance is up to *you*. From 7f17d649cc60b3e480dfad935871cf9762ea91a8 Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Sat, 1 Sep 2018 15:33:27 +0200 Subject: [PATCH 174/274] Fix cpu-throttling service file reference --- lenovo/thinkpad/x1/6th-gen/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lenovo/thinkpad/x1/6th-gen/default.nix b/lenovo/thinkpad/x1/6th-gen/default.nix index 4fc8ece4aef..1be069a87e6 100644 --- a/lenovo/thinkpad/x1/6th-gen/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/default.nix @@ -7,7 +7,7 @@ { imports = [ ../. - ../../cpu-throttling.nix + ../../cpu-throttling-bug.nix ../../acpi_call.nix ]; From 9939e5b3a491a230834794aad2d53c4f3e4365f1 Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Sat, 1 Sep 2018 15:34:06 +0200 Subject: [PATCH 175/274] Fix acpi override load As proposed by @garbas in #60 --- lenovo/thinkpad/x1/6th-gen/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lenovo/thinkpad/x1/6th-gen/default.nix b/lenovo/thinkpad/x1/6th-gen/default.nix index 1be069a87e6..4a10a23156a 100644 --- a/lenovo/thinkpad/x1/6th-gen/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/default.nix @@ -27,6 +27,6 @@ # "mem_sleep_default=deep" # ]; # boot.initrd.prepend = [ - # "/boot/acpi_override" + # "${/boot/acpi_override}" # ]; } From 19553733f0a558d7c939c05d38a28cfab3bea703 Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Sat, 1 Sep 2018 16:02:16 +0200 Subject: [PATCH 176/274] Add X1 profile to the README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 251ff0b4711..2ae1fe43f98 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,7 @@ imports = [ | Supermicro A1SRi-2758F | `` | | Supermicro X10SLL-F | `` | | [Toshiba Chromebook 2 `swanky`][] | `` | +| [Lenovo ThinkPad X1 gen6][] | ``| [Acer Aspire 4810T]: acer/aspire/4810t [Apple MacBook Pro 10,1]: apple/macbook-pro/10-1 From e785e2a3cb8843b17863753938241216e66d16a2 Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Sat, 1 Sep 2018 16:04:47 +0200 Subject: [PATCH 177/274] Unfortunately all the table has to be modified to have the changes rendered correctly --- README.md | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 2ae1fe43f98..b5fcb93ef27 100644 --- a/README.md +++ b/README.md @@ -22,34 +22,34 @@ imports = [ ## Profiles -| Model | Path | -| --------------------------------- | ------------------------------------------ | -| [Acer Aspire 4810T][] | `` | -| Airis N990 | `` | -| Apple MacBook Air 4,X | `` | -| Apple MacBook Air 6,X | `` | -| [Apple MacBook Pro 10,1][] | `` | -| Apple MacBook Pro 12,1 | `` | -| [Dell XPS 15 9550][] | `` | -| [Inverse Path USB armory][] | `` | -| Lenovo IdeaPad Z510 | `` | -| Lenovo ThinkPad T410 | `` | -| Lenovo ThinkPad T440p | `` | -| Lenovo ThinkPad T460s | `` | -| Lenovo ThinkPad X140e | `` | -| Lenovo ThinkPad X220 | `` | -| Lenovo ThinkPad X230 | `` | -| Lenovo ThinkPad X250 | `` | -| Lenovo ThinkPad X270 | `` | -| [Microsoft Surface Pro 3][] | `` | -| PC Engines APU | `` | -| [Raspberry Pi 2][] | `` | -| [Samsung Series 9 NP900X3C][] | `` | -| [Purism Librem 13v3][] | `` | -| Supermicro A1SRi-2758F | `` | -| Supermicro X10SLL-F | `` | -| [Toshiba Chromebook 2 `swanky`][] | `` | +| Model | Path | +| --------------------------------- | -------------------------------------------- | +| [Acer Aspire 4810T][] | `` | +| Airis N990 | `` | +| Apple MacBook Air 4,X | `` | +| Apple MacBook Air 6,X | `` | +| [Apple MacBook Pro 10,1][] | `` | +| Apple MacBook Pro 12,1 | `` | +| [Dell XPS 15 9550][] | `` | +| [Inverse Path USB armory][] | `` | +| Lenovo IdeaPad Z510 | `` | +| Lenovo ThinkPad T410 | `` | +| Lenovo ThinkPad T440p | `` | +| Lenovo ThinkPad T460s | `` | +| Lenovo ThinkPad X140e | `` | +| Lenovo ThinkPad X220 | `` | +| Lenovo ThinkPad X230 | `` | +| Lenovo ThinkPad X250 | `` | +| Lenovo ThinkPad X270 | `` | | [Lenovo ThinkPad X1 gen6][] | ``| +| [Microsoft Surface Pro 3][] | `` | +| PC Engines APU | `` | +| [Raspberry Pi 2][] | `` | +| [Samsung Series 9 NP900X3C][] | `` | +| [Purism Librem 13v3][] | `` | +| Supermicro A1SRi-2758F | `` | +| Supermicro X10SLL-F | `` | +| [Toshiba Chromebook 2 `swanky`][] | `` | [Acer Aspire 4810T]: acer/aspire/4810t [Apple MacBook Pro 10,1]: apple/macbook-pro/10-1 From b9bdfee8c3a6ff02b3b211892cfba7e60a7f9943 Mon Sep 17 00:00:00 2001 From: Alberto Berti Date: Sat, 1 Sep 2018 16:09:44 +0200 Subject: [PATCH 178/274] Fix table rendering. Add the target of the link to the X1 profile --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b5fcb93ef27..b2742d0c571 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,7 @@ imports = [ [Apple MacBook Pro 10,1]: apple/macbook-pro/10-1 [Dell XPS 15 9550]: dell/xps/15-9550 [Inverse Path USB armory]: inversepath/usbarmory +[Lenovo ThinkPad X1 gen6]: lenovo/thinkpad/x1/6th-gen [Microsoft Surface Pro 3]: microsoft/surface-pro/3 [Raspberry Pi 2]: raspberry-pi/2 [Samsung Series 9 NP900X3C]: samsung/np900x3c From 415f4f4747fa43ef8545f020d7fa30dc829f9f0e Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Sun, 2 Sep 2018 08:47:48 +0000 Subject: [PATCH 179/274] ThinkPad X1 gen6 -> ThinkPad X1 (6th Gen) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b2742d0c571..20c7a603963 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ imports = [ | Lenovo ThinkPad X230 | `` | | Lenovo ThinkPad X250 | `` | | Lenovo ThinkPad X270 | `` | -| [Lenovo ThinkPad X1 gen6][] | ``| +| [Lenovo ThinkPad X1 (6th Gen)][] | ``| | [Microsoft Surface Pro 3][] | `` | | PC Engines APU | `` | | [Raspberry Pi 2][] | `` | @@ -55,7 +55,7 @@ imports = [ [Apple MacBook Pro 10,1]: apple/macbook-pro/10-1 [Dell XPS 15 9550]: dell/xps/15-9550 [Inverse Path USB armory]: inversepath/usbarmory -[Lenovo ThinkPad X1 gen6]: lenovo/thinkpad/x1/6th-gen +[Lenovo ThinkPad X1 (6th Gen)]: lenovo/thinkpad/x1/6th-gen [Microsoft Surface Pro 3]: microsoft/surface-pro/3 [Raspberry Pi 2]: raspberry-pi/2 [Samsung Series 9 NP900X3C]: samsung/np900x3c From 6c550338835784d91b83bd016036c5d75ad7fbf4 Mon Sep 17 00:00:00 2001 From: Roman Volosatovs Date: Mon, 13 Aug 2018 23:05:57 +0200 Subject: [PATCH 180/274] lenovo/thinkpad/x260: Init --- lenovo/thinkpad/x260/default.nix | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 lenovo/thinkpad/x260/default.nix diff --git a/lenovo/thinkpad/x260/default.nix b/lenovo/thinkpad/x260/default.nix new file mode 100644 index 00000000000..999a0cf82db --- /dev/null +++ b/lenovo/thinkpad/x260/default.nix @@ -0,0 +1,20 @@ +{ + imports = [ + ../. + ../acpi_call.nix + ../../../common/cpu/intel + ]; + + # See https://linrunner.de/en/tlp/docs/tlp-faq.html#battery https://wiki.archlinux.org/index.php/TLP#Btrfs + services.tlp.extraConfig = '' + START_CHARGE_THRESH_BAT0=75 + STOP_CHARGE_THRESH_BAT0=80 + START_CHARGE_THRESH_BAT1=75 + STOP_CHARGE_THRESH_BAT1=80 + + SATA_LINKPWR_ON_BAT=max_performance + + CPU_SCALING_GOVERNOR_ON_BAT=powersave + ENERGY_PERF_POLICY_ON_BAT=powersave + ''; +} From bdd79454eed9425dc0d922e1e70ecee673bddade Mon Sep 17 00:00:00 2001 From: Roman Volosatovs Date: Fri, 17 Aug 2018 18:07:48 +0200 Subject: [PATCH 181/274] default: Add Lenovo x260 --- default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/default.nix b/default.nix index 17612ce0897..cf01355a1ce 100644 --- a/default.nix +++ b/default.nix @@ -40,6 +40,7 @@ in lenovo-thinkpad-x220 = buildProfile ./lenovo/thinkpad/x220; lenovo-thinkpad-x230 = buildProfile ./lenovo/thinkpad/x230; lenovo-thinkpad-x250 = buildProfile ./lenovo/thinkpad/x250; + lenovo-thinkpad-x260 = buildProfile ./lenovo/thinkpad/x260; microsoft-surface-pro-3 = buildProfile ./microsoft/surface-pro/3; From 0400c7e1dd48bf4f763933bc1f7e1bfd97c54022 Mon Sep 17 00:00:00 2001 From: Roman Volosatovs Date: Thu, 30 Aug 2018 14:59:11 +0200 Subject: [PATCH 182/274] README: Add Lenovo ThinkPad x260 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 20c7a603963..f8f2f9197e8 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,7 @@ imports = [ | Lenovo ThinkPad X220 | `` | | Lenovo ThinkPad X230 | `` | | Lenovo ThinkPad X250 | `` | +| [Lenovo ThinkPad X260][] | `` | | Lenovo ThinkPad X270 | `` | | [Lenovo ThinkPad X1 (6th Gen)][] | ``| | [Microsoft Surface Pro 3][] | `` | @@ -56,6 +57,7 @@ imports = [ [Dell XPS 15 9550]: dell/xps/15-9550 [Inverse Path USB armory]: inversepath/usbarmory [Lenovo ThinkPad X1 (6th Gen)]: lenovo/thinkpad/x1/6th-gen +[Lenovo ThinkPad X260]: lenovo/thinkpad/x260 [Microsoft Surface Pro 3]: microsoft/surface-pro/3 [Raspberry Pi 2]: raspberry-pi/2 [Samsung Series 9 NP900X3C]: samsung/np900x3c From f37c5dfb9a96f0b6bab94bcc09df98056d6a664b Mon Sep 17 00:00:00 2001 From: Roman Volosatovs Date: Thu, 30 Aug 2018 15:01:35 +0200 Subject: [PATCH 183/274] lenovo/thinkpad/x260: Remove opinionated TLP config --- lenovo/thinkpad/x260/default.nix | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/lenovo/thinkpad/x260/default.nix b/lenovo/thinkpad/x260/default.nix index 999a0cf82db..f400d638366 100644 --- a/lenovo/thinkpad/x260/default.nix +++ b/lenovo/thinkpad/x260/default.nix @@ -5,16 +5,8 @@ ../../../common/cpu/intel ]; - # See https://linrunner.de/en/tlp/docs/tlp-faq.html#battery https://wiki.archlinux.org/index.php/TLP#Btrfs + # https://wiki.archlinux.org/index.php/TLP#Btrfs services.tlp.extraConfig = '' - START_CHARGE_THRESH_BAT0=75 - STOP_CHARGE_THRESH_BAT0=80 - START_CHARGE_THRESH_BAT1=75 - STOP_CHARGE_THRESH_BAT1=80 - SATA_LINKPWR_ON_BAT=max_performance - - CPU_SCALING_GOVERNOR_ON_BAT=powersave - ENERGY_PERF_POLICY_ON_BAT=powersave ''; } From 6ed4feade232d6cbf55b62f42499d2a1e405c95a Mon Sep 17 00:00:00 2001 From: Roman Volosatovs Date: Sun, 2 Sep 2018 01:56:49 +0200 Subject: [PATCH 184/274] lenovo/thinkpad/x260: Use `med_power_with_dipm` in TLP --- lenovo/thinkpad/x260/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lenovo/thinkpad/x260/default.nix b/lenovo/thinkpad/x260/default.nix index f400d638366..46530eeb0b9 100644 --- a/lenovo/thinkpad/x260/default.nix +++ b/lenovo/thinkpad/x260/default.nix @@ -7,6 +7,6 @@ # https://wiki.archlinux.org/index.php/TLP#Btrfs services.tlp.extraConfig = '' - SATA_LINKPWR_ON_BAT=max_performance + SATA_LINKPWR_ON_BAT=med_power_with_dipm ''; } From d5b0b9349f46eb386f292feca3395dfecf5b3e2f Mon Sep 17 00:00:00 2001 From: Justin Humm Date: Fri, 31 Aug 2018 20:16:13 +0200 Subject: [PATCH 185/274] thinkpad: introduce t430 Copied everything from t440p, added a fix for the brightness keys --- lenovo/thinkpad/t430/default.nix | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 lenovo/thinkpad/t430/default.nix diff --git a/lenovo/thinkpad/t430/default.nix b/lenovo/thinkpad/t430/default.nix new file mode 100644 index 00000000000..09cee74942e --- /dev/null +++ b/lenovo/thinkpad/t430/default.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../. + ../../../common/cpu/intel + ]; + + boot = { + kernelParams = [ + # fixes brightness keys, see https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_T430s + "acpi_osi\='!Windows 2012'" + ]; + }; +} From 142530bb885eb5ae32215a0ddb5ba05b69b2beff Mon Sep 17 00:00:00 2001 From: Justin Humm Date: Sat, 1 Sep 2018 00:30:55 +0200 Subject: [PATCH 186/274] README: add Lenovo Thinkpad T430 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f8f2f9197e8..53d64638435 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ imports = [ | [Inverse Path USB armory][] | `` | | Lenovo IdeaPad Z510 | `` | | Lenovo ThinkPad T410 | `` | +| Lenovo ThinkPad T430 | `` | | Lenovo ThinkPad T440p | `` | | Lenovo ThinkPad T460s | `` | | Lenovo ThinkPad X140e | `` | From f78fd94f634da9295fbb447d470224dce681941d Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 12 Oct 2018 13:12:52 +0000 Subject: [PATCH 187/274] beagleboard/pocketbeagle: init --- README.md | 3 ++- beagleboard/pocketbeagle/default.nix | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 beagleboard/pocketbeagle/default.nix diff --git a/README.md b/README.md index 53d64638435..3b3f34a7d5a 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ imports = [ | Apple MacBook Air 6,X | `` | | [Apple MacBook Pro 10,1][] | `` | | Apple MacBook Pro 12,1 | `` | +| BeagleBoard PocketBeagle | `` | | [Dell XPS 15 9550][] | `` | | [Inverse Path USB armory][] | `` | | Lenovo IdeaPad Z510 | `` | @@ -41,7 +42,7 @@ imports = [ | Lenovo ThinkPad X220 | `` | | Lenovo ThinkPad X230 | `` | | Lenovo ThinkPad X250 | `` | -| [Lenovo ThinkPad X260][] | `` | +| [Lenovo ThinkPad X260][] | `` | | Lenovo ThinkPad X270 | `` | | [Lenovo ThinkPad X1 (6th Gen)][] | ``| | [Microsoft Surface Pro 3][] | `` | diff --git a/beagleboard/pocketbeagle/default.nix b/beagleboard/pocketbeagle/default.nix new file mode 100644 index 00000000000..bc426300f45 --- /dev/null +++ b/beagleboard/pocketbeagle/default.nix @@ -0,0 +1,10 @@ +{ lib, ... }: + +{ + boot.kernelParams = [ "console=ttyO0,115200n8" ]; + + boot.loader = { + generic-extlinux-compatible.enable = lib.mkDefault true; + grub.enable = lib.mkDefault false; + }; +} From 78a1e6168fcb7edde4fbd2ba3f1c8588a779135e Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Fri, 12 Oct 2018 13:13:16 +0000 Subject: [PATCH 188/274] CODEOWNERS: add yegortimoshenko to three devices - BeagleBoard PocketBeagle - PC Engines APU - Purism Librem 13v3 --- CODEOWNERS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CODEOWNERS b/CODEOWNERS index c704e1458e8..f3c0e8fe22f 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,2 +1,5 @@ +beagleboard/pocketbeagle @yegortimoshenko lenovo/thinkpad/x230 @makefu @yegortimoshenko lenovo/thinkpad/x250 @Mic92 +pcengines/apu @yegortimoshenko +purism/librem/13v3 @yegortimoshenko From 78ea74365a22e0ef72e3fed5d27d946883f62b11 Mon Sep 17 00:00:00 2001 From: Lorenzo Manacorda Date: Sun, 14 Oct 2018 00:54:06 +0200 Subject: [PATCH 189/274] lenovo/thinkpad/t450s: init --- README.md | 1 + default.nix | 1 + lenovo/thinkpad/t450s/default.nix | 9 +++++++++ 3 files changed, 11 insertions(+) create mode 100644 lenovo/thinkpad/t450s/default.nix diff --git a/README.md b/README.md index 3b3f34a7d5a..5bd0a155b6c 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ imports = [ | Lenovo ThinkPad T410 | `` | | Lenovo ThinkPad T430 | `` | | Lenovo ThinkPad T440p | `` | +| Lenovo ThinkPad T450s | `` | | Lenovo ThinkPad T460s | `` | | Lenovo ThinkPad X140e | `` | | Lenovo ThinkPad X220 | `` | diff --git a/default.nix b/default.nix index cf01355a1ce..9f1c7a2ff6f 100644 --- a/default.nix +++ b/default.nix @@ -35,6 +35,7 @@ in lenovo-thinkpad-t410 = buildProfile ./lenovo/thinkpad/t410; lenovo-thinkpad-t440p = buildProfile ./lenovo/thinkpad/t440p; + lenovo-thinkpad-t450s = buildProfile ./lenovo/thinkpad/t450s; lenovo-thinkpad-t460s = buildProfile ./lenovo/thinkpad/t460s; lenovo-thinkpad-x140e = buildProfile ./lenovo/thinkpad/x140e; lenovo-thinkpad-x220 = buildProfile ./lenovo/thinkpad/x220; diff --git a/lenovo/thinkpad/t450s/default.nix b/lenovo/thinkpad/t450s/default.nix new file mode 100644 index 00000000000..026332e4e9c --- /dev/null +++ b/lenovo/thinkpad/t450s/default.nix @@ -0,0 +1,9 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../../../common/cpu/intel + ../acpi_call.nix + ../. + ]; +} From 86cbb3256bcf99cb2f287a62f1119c7604d27346 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9-Patrick=20Bubel?= Date: Fri, 19 Oct 2018 15:45:05 +0200 Subject: [PATCH 190/274] dell/xps/13-9370: init --- README.md | 2 ++ default.nix | 1 + dell/xps/13-9370/README.wiki | 16 ++++++++++++++++ dell/xps/13-9370/default.nix | 16 ++++++++++++++++ 4 files changed, 35 insertions(+) create mode 100644 dell/xps/13-9370/README.wiki create mode 100644 dell/xps/13-9370/default.nix diff --git a/README.md b/README.md index 5bd0a155b6c..f20bc64487e 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ imports = [ | [Apple MacBook Pro 10,1][] | `` | | Apple MacBook Pro 12,1 | `` | | BeagleBoard PocketBeagle | `` | +| [Dell XPS 13 9370][] | `` | | [Dell XPS 15 9550][] | `` | | [Inverse Path USB armory][] | `` | | Lenovo IdeaPad Z510 | `` | @@ -57,6 +58,7 @@ imports = [ [Acer Aspire 4810T]: acer/aspire/4810t [Apple MacBook Pro 10,1]: apple/macbook-pro/10-1 +[Dell XPS 13 9370]: dell/xps/13-9370 [Dell XPS 15 9550]: dell/xps/15-9550 [Inverse Path USB armory]: inversepath/usbarmory [Lenovo ThinkPad X1 (6th Gen)]: lenovo/thinkpad/x1/6th-gen diff --git a/default.nix b/default.nix index 9f1c7a2ff6f..097b8bc5f90 100644 --- a/default.nix +++ b/default.nix @@ -31,6 +31,7 @@ in apple-macbook-pro-11-5 = buildProfile ./apple/macbook-pro/11-5; apple-macbook-pro-12-1 = buildProfile ./apple/macbook-pro/12-1; + dell-xps-13-9370 = buildProfile ./dell/xps/13-9370; dell-xps-15-9550 = buildProfile ./dell/xps/15-9550; lenovo-thinkpad-t410 = buildProfile ./lenovo/thinkpad/t410; diff --git a/dell/xps/13-9370/README.wiki b/dell/xps/13-9370/README.wiki new file mode 100644 index 00000000000..57b5e08d385 --- /dev/null +++ b/dell/xps/13-9370/README.wiki @@ -0,0 +1,16 @@ += Dell XPS 13 9370 = + +== Battery drain when sleeping == + +The laptop uses the S2 sleep mode by default instead of S3, which leads to +draining a lot of battery during sleep. + +Though this is intentional by the manufacturer and might cause lockups when +forced I - @moredread - never had any issues with it. + +See https://wiki.archlinux.org/index.php/Dell_XPS_13_(9370)#Power_Management +and https://bugzilla.kernel.org/show_bug.cgi?id=199689#c3 for reference + +== Additional resources == + +* Arch linux wiki: [https://wiki.archlinux.org/index.php/Dell_XPS_13_(9370) Dell XPS 13 9370] diff --git a/dell/xps/13-9370/default.nix b/dell/xps/13-9370/default.nix new file mode 100644 index 00000000000..06e339fd88b --- /dev/null +++ b/dell/xps/13-9370/default.nix @@ -0,0 +1,16 @@ +{ lib, pkgs, ... }: + +{ + imports = [ + ../../../common/cpu/intel/kaby-lake + ../../../common/pc/laptop + ../../../lenovo/thinkpad/acpi_call.nix + ../../../lenovo/thinkpad/cpu-throttling-bug.nix + ]; + + # Force S3 sleep mode. See README.wiki for details. + boot.kernelParams = [ "mem_sleep_default=deep" ]; + + # touchpad goes over i2c + boot.blacklistedKernelModules = [ "psmouse" ]; +} From d4a430fef28b584bfcf580a681cd63330a232241 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9-Patrick=20Bubel?= Date: Fri, 19 Oct 2018 15:46:09 +0200 Subject: [PATCH 191/274] CODEOWNERS: add moredread for Dell XPS 13 9370 --- CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/CODEOWNERS b/CODEOWNERS index f3c0e8fe22f..563d5163ce1 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,4 +1,5 @@ beagleboard/pocketbeagle @yegortimoshenko +dell/xps/13-9370 @moredread lenovo/thinkpad/x230 @makefu @yegortimoshenko lenovo/thinkpad/x250 @Mic92 pcengines/apu @yegortimoshenko From 941fbef86f558b9a39e6d1460ba5a34ecd72ebd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9-Patrick=20Bubel?= Date: Fri, 19 Oct 2018 17:52:25 +0200 Subject: [PATCH 192/274] move acpi_call.nix and cpu-throttling-bug.nix to common folder --- {lenovo/thinkpad => common/pc/laptop}/acpi_call.nix | 0 {lenovo/thinkpad => common/pc/laptop}/cpu-throttling-bug.nix | 0 dell/xps/13-9370/default.nix | 4 ++-- lenovo/thinkpad/t450s/default.nix | 2 +- lenovo/thinkpad/t480s/default.nix | 4 ++-- lenovo/thinkpad/x1/6th-gen/default.nix | 4 ++-- lenovo/thinkpad/x230/default.nix | 2 +- lenovo/thinkpad/x260/default.nix | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) rename {lenovo/thinkpad => common/pc/laptop}/acpi_call.nix (100%) rename {lenovo/thinkpad => common/pc/laptop}/cpu-throttling-bug.nix (100%) diff --git a/lenovo/thinkpad/acpi_call.nix b/common/pc/laptop/acpi_call.nix similarity index 100% rename from lenovo/thinkpad/acpi_call.nix rename to common/pc/laptop/acpi_call.nix diff --git a/lenovo/thinkpad/cpu-throttling-bug.nix b/common/pc/laptop/cpu-throttling-bug.nix similarity index 100% rename from lenovo/thinkpad/cpu-throttling-bug.nix rename to common/pc/laptop/cpu-throttling-bug.nix diff --git a/dell/xps/13-9370/default.nix b/dell/xps/13-9370/default.nix index 06e339fd88b..cd53acd02fc 100644 --- a/dell/xps/13-9370/default.nix +++ b/dell/xps/13-9370/default.nix @@ -4,8 +4,8 @@ imports = [ ../../../common/cpu/intel/kaby-lake ../../../common/pc/laptop - ../../../lenovo/thinkpad/acpi_call.nix - ../../../lenovo/thinkpad/cpu-throttling-bug.nix + ../../../common/pc/laptop/acpi_call.nix + ../../../common/pc/laptop/cpu-throttling-bug.nix ]; # Force S3 sleep mode. See README.wiki for details. diff --git a/lenovo/thinkpad/t450s/default.nix b/lenovo/thinkpad/t450s/default.nix index 026332e4e9c..e62337171b9 100644 --- a/lenovo/thinkpad/t450s/default.nix +++ b/lenovo/thinkpad/t450s/default.nix @@ -3,7 +3,7 @@ { imports = [ ../../../common/cpu/intel - ../acpi_call.nix + ../../../common/pc/laptop/acpi_call.nix ../. ]; } diff --git a/lenovo/thinkpad/t480s/default.nix b/lenovo/thinkpad/t480s/default.nix index 2f4b8a9129e..3e079d5fb06 100644 --- a/lenovo/thinkpad/t480s/default.nix +++ b/lenovo/thinkpad/t480s/default.nix @@ -3,8 +3,8 @@ { imports = [ ../../../common/cpu/intel - ../acpi_call.nix - ../cpu-throttling-bug.nix + ../../../common/pc/laptop/acpi_call.nix + ../../../common/pc/laptop/cpu-throttling-bug.nix ../. ]; } diff --git a/lenovo/thinkpad/x1/6th-gen/default.nix b/lenovo/thinkpad/x1/6th-gen/default.nix index 4a10a23156a..9584bc74457 100644 --- a/lenovo/thinkpad/x1/6th-gen/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/default.nix @@ -7,8 +7,8 @@ { imports = [ ../. - ../../cpu-throttling-bug.nix - ../../acpi_call.nix + ../../../../common/pc/laptop/acpi_call.nix + ../../../../common/pc/laptop/cpu-throttling-bug.nix ]; # See https://linrunner.de/en/tlp/docs/tlp-faq.html#battery diff --git a/lenovo/thinkpad/x230/default.nix b/lenovo/thinkpad/x230/default.nix index 32e5c13c7da..58b09f4c5d5 100644 --- a/lenovo/thinkpad/x230/default.nix +++ b/lenovo/thinkpad/x230/default.nix @@ -4,7 +4,7 @@ imports = [ ../. ../../../common/cpu/intel - ../acpi_call.nix + ../../../common/pc/laptop/acpi_call.nix ]; boot = { diff --git a/lenovo/thinkpad/x260/default.nix b/lenovo/thinkpad/x260/default.nix index 46530eeb0b9..d64a5307516 100644 --- a/lenovo/thinkpad/x260/default.nix +++ b/lenovo/thinkpad/x260/default.nix @@ -1,8 +1,8 @@ { imports = [ ../. - ../acpi_call.nix ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix ]; # https://wiki.archlinux.org/index.php/TLP#Btrfs From 1d254aceda0ba852c83aa7dcbfd215e1f70ada35 Mon Sep 17 00:00:00 2001 From: Yegor Timoshenko Date: Tue, 30 Oct 2018 18:16:36 +0000 Subject: [PATCH 193/274] common/cpu: default microcode updates to enableRedistributableFirmware --- common/cpu/amd/default.nix | 5 ++++- common/cpu/intel/default.nix | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/common/cpu/amd/default.nix b/common/cpu/amd/default.nix index a8a36b2c91b..d8c48a26308 100644 --- a/common/cpu/amd/default.nix +++ b/common/cpu/amd/default.nix @@ -1,3 +1,6 @@ +{ config, lib, ... }: + { - hardware.cpu.amd.updateMicrocode = true; + hardware.cpu.amd.updateMicrocode = + lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/common/cpu/intel/default.nix b/common/cpu/intel/default.nix index 05b8c027522..7f2223c72e4 100644 --- a/common/cpu/intel/default.nix +++ b/common/cpu/intel/default.nix @@ -1,9 +1,10 @@ -{ lib, pkgs, ... }: +{ config, lib, pkgs, ... }: { boot.initrd.kernelModules = [ "i915" ]; - hardware.cpu.intel.updateMicrocode = lib.mkDefault true; + hardware.cpu.intel.updateMicrocode = + lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.opengl.extraPackages = with pkgs; [ vaapiIntel From 1e2c130d38d72860660474c36207b099c519cb6a Mon Sep 17 00:00:00 2001 From: Trolli Schmittlauch Date: Mon, 3 Dec 2018 00:25:43 +0100 Subject: [PATCH 194/274] add basic support for Lenovo Thinkpad T440s (#83) This adds basic support for the Thinkpad T440s, based on the work done for the T440p. The expression enables: - microcode updates - trackpoint support - kernel module for battery level management --- README.md | 1 + lenovo/thinkpad/t440s/default.nix | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 lenovo/thinkpad/t440s/default.nix diff --git a/README.md b/README.md index f20bc64487e..10f64bb1513 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ imports = [ | Lenovo IdeaPad Z510 | `` | | Lenovo ThinkPad T410 | `` | | Lenovo ThinkPad T430 | `` | +| Lenovo ThinkPad T440s | `` | | Lenovo ThinkPad T440p | `` | | Lenovo ThinkPad T450s | `` | | Lenovo ThinkPad T460s | `` | diff --git a/lenovo/thinkpad/t440s/default.nix b/lenovo/thinkpad/t440s/default.nix new file mode 100644 index 00000000000..c40ad90f9b3 --- /dev/null +++ b/lenovo/thinkpad/t440s/default.nix @@ -0,0 +1,14 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../. + ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix + ]; + + boot = { + # TODO: probably enable tcsd? Is this line necessary? + kernelModules = [ "tpm-rng" ]; + }; +} From bd1ef85b981093151a3ac1127b2313870d236de4 Mon Sep 17 00:00:00 2001 From: Benjamin Hipple Date: Thu, 27 Dec 2018 17:29:47 -0500 Subject: [PATCH 195/274] lenovo x1 carbon gen6: update S3 suspend With UEFI >= 1.30, there's an explicit option to enable S3 power management. Once this is selected, S3 is enabled and "deep" is selected as the default /sys/power/mem_sleep value without requiring any kernel boot parameters. --- lenovo/thinkpad/x1/6th-gen/default.nix | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/lenovo/thinkpad/x1/6th-gen/default.nix b/lenovo/thinkpad/x1/6th-gen/default.nix index 9584bc74457..f876c08bc51 100644 --- a/lenovo/thinkpad/x1/6th-gen/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/default.nix @@ -2,7 +2,9 @@ # standing with kernel 4.6.11 is the following wiki page: # https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6). The # TrackPoint and TouchPad issues there seem to have been fixed already. - +# +# Enable the lower-power S3 suspend state by upgrading the BIOS to version >= 1.30, +# then manually selecting Linux in the power management section. { config, pkgs, ... }: { imports = [ @@ -18,15 +20,4 @@ CPU_SCALING_GOVERNOR_ON_BAT=powersave ENERGY_PERF_POLICY_ON_BAT=powersave ''; - - # Enable S3 suspend state: you have to manually follow the - # instructions shown here: https://delta-xi.net/#056 in order to - # produce the ACPI patched table. Put the CPIO archive in /boot and - # then enable the following lines - # boot.kernelParams = [ - # "mem_sleep_default=deep" - # ]; - # boot.initrd.prepend = [ - # "${/boot/acpi_override}" - # ]; } From b4e2df6aacb3cb0cdaa05cfa9203ab06ed672481 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Fri, 4 Jan 2019 08:48:42 +0100 Subject: [PATCH 196/274] fix nix-env evaluation nix-env picked up `default.nix`, which contained our hardware profiles. This is not only cpu-intensive to evaluate but also fails because it does some import-from-derivation. By moving default.nix to release.nix it should be no longer loaded --- .travis.yml | 2 +- default.nix => release.nix | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename default.nix => release.nix (100%) diff --git a/.travis.yml b/.travis.yml index 689c9b6547c..30ff7de840d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,2 +1,2 @@ language: nix -script: nix-build --dry-run --show-trace +script: nix-build release.nix --dry-run --show-trace diff --git a/default.nix b/release.nix similarity index 100% rename from default.nix rename to release.nix From 411e9e10b92c2ecc5816905027d4b6dc31e3fb34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Fri, 18 Jan 2019 13:46:37 +0000 Subject: [PATCH 197/274] add dummy default.nix --- default.nix | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 default.nix diff --git a/default.nix b/default.nix new file mode 100644 index 00000000000..fbb5b77061f --- /dev/null +++ b/default.nix @@ -0,0 +1,3 @@ +# This file is necessary so nix-env -qa does not break, +# when nixos-hardware is used as a channel +{} From 36d8bd88cd72cfa8ee4162e6580f0a8e7de132ba Mon Sep 17 00:00:00 2001 From: Wael Nasreddine Date: Fri, 8 Feb 2019 08:20:06 -0800 Subject: [PATCH 198/274] dell/xps/13-9380: init (#97) This is pretty much a copy of XPS 9370, without kaby-laky and the throttle bug. I was getting lockups with the kaby-laky changes and the throttle bug did not seem to have an impact either way. --- CODEOWNERS | 1 + README.md | 2 ++ dell/xps/13-9380/README.wiki | 9 +++++++++ dell/xps/13-9380/default.nix | 14 ++++++++++++++ release.nix | 1 + 5 files changed, 27 insertions(+) create mode 100644 dell/xps/13-9380/README.wiki create mode 100644 dell/xps/13-9380/default.nix diff --git a/CODEOWNERS b/CODEOWNERS index 563d5163ce1..4f2bb2cc646 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1,5 +1,6 @@ beagleboard/pocketbeagle @yegortimoshenko dell/xps/13-9370 @moredread +dell/xps/13-9380 @kalbasit lenovo/thinkpad/x230 @makefu @yegortimoshenko lenovo/thinkpad/x250 @Mic92 pcengines/apu @yegortimoshenko diff --git a/README.md b/README.md index 10f64bb1513..cbbab0989cc 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ imports = [ | [Apple MacBook Pro 10,1][] | `` | | Apple MacBook Pro 12,1 | `` | | BeagleBoard PocketBeagle | `` | +| [Dell XPS 13 9380][] | `` | | [Dell XPS 13 9370][] | `` | | [Dell XPS 15 9550][] | `` | | [Inverse Path USB armory][] | `` | @@ -59,6 +60,7 @@ imports = [ [Acer Aspire 4810T]: acer/aspire/4810t [Apple MacBook Pro 10,1]: apple/macbook-pro/10-1 +[Dell XPS 13 9380]: dell/xps/13-9380 [Dell XPS 13 9370]: dell/xps/13-9370 [Dell XPS 15 9550]: dell/xps/15-9550 [Inverse Path USB armory]: inversepath/usbarmory diff --git a/dell/xps/13-9380/README.wiki b/dell/xps/13-9380/README.wiki new file mode 100644 index 00000000000..a2a7f5deb2b --- /dev/null +++ b/dell/xps/13-9380/README.wiki @@ -0,0 +1,9 @@ += Dell XPS 13 9380 = + +== Battery drain when sleeping == + +The laptop uses the S2 sleep mode by default instead of S3, which leads to +draining a lot of battery during sleep. + +See https://wiki.archlinux.org/index.php/Dell_XPS_13_(9370)#Power_Management +and https://bugzilla.kernel.org/show_bug.cgi?id=199689#c3 for reference diff --git a/dell/xps/13-9380/default.nix b/dell/xps/13-9380/default.nix new file mode 100644 index 00000000000..47e676509d7 --- /dev/null +++ b/dell/xps/13-9380/default.nix @@ -0,0 +1,14 @@ +{ lib, pkgs, ... }: + +{ + imports = [ + ../../../common/pc/laptop + ../../../common/pc/laptop/acpi_call.nix + ]; + + # Force S3 sleep mode. See README.wiki for details. + boot.kernelParams = [ "mem_sleep_default=deep" ]; + + # touchpad goes over i2c + boot.blacklistedKernelModules = [ "psmouse" ]; +} diff --git a/release.nix b/release.nix index 097b8bc5f90..11ba88831fa 100644 --- a/release.nix +++ b/release.nix @@ -31,6 +31,7 @@ in apple-macbook-pro-11-5 = buildProfile ./apple/macbook-pro/11-5; apple-macbook-pro-12-1 = buildProfile ./apple/macbook-pro/12-1; + dell-xps-13-9380 = buildProfile ./dell/xps/13-9380; dell-xps-13-9370 = buildProfile ./dell/xps/13-9370; dell-xps-15-9550 = buildProfile ./dell/xps/15-9550; From 3dac9eae9a3d6b003746b0d28a10e4645e5eb357 Mon Sep 17 00:00:00 2001 From: "eyjhbb@gmail.com" Date: Tue, 19 Feb 2019 09:56:32 +0100 Subject: [PATCH 199/274] lenovo-x1: removed battery TLP threshholds --- lenovo/thinkpad/x1/6th-gen/default.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/lenovo/thinkpad/x1/6th-gen/default.nix b/lenovo/thinkpad/x1/6th-gen/default.nix index f876c08bc51..295c8b0b43a 100644 --- a/lenovo/thinkpad/x1/6th-gen/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/default.nix @@ -12,12 +12,4 @@ ../../../../common/pc/laptop/acpi_call.nix ../../../../common/pc/laptop/cpu-throttling-bug.nix ]; - - # See https://linrunner.de/en/tlp/docs/tlp-faq.html#battery - services.tlp.extraConfig = '' - START_CHARGE_THRESH_BAT0=75 - STOP_CHARGE_THRESH_BAT0=80 - CPU_SCALING_GOVERNOR_ON_BAT=powersave - ENERGY_PERF_POLICY_ON_BAT=powersave - ''; } From a23235a6ed3c1bc3b41481b7e75e33e318bd9bb9 Mon Sep 17 00:00:00 2001 From: Tom F Date: Sun, 24 Mar 2019 18:48:11 +1100 Subject: [PATCH 200/274] pcengines/apu: expose GRUB over serial Prior to this commit, an apu's boot would go through stages of varying visibility: 1. BIOS: exposed to serial 2. GRUB: not exposed to serial 3. Linux: exposed to serial This commit changes (2) to be visible over serial, so the entire boot is visible over serial. Tested on nixos 18.09 on a https://www.pcengines.ch/apu1d.htm --- pcengines/apu/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pcengines/apu/default.nix b/pcengines/apu/default.nix index f59f35a2542..521887fe600 100644 --- a/pcengines/apu/default.nix +++ b/pcengines/apu/default.nix @@ -1,3 +1,8 @@ { boot.kernelParams = [ "console=ttyS0,115200n8" ]; + boot.loader.grub.extraConfig = " + serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1 + terminal_input serial + terminal_output serial + "; } From 1e4abf794a6b32fbad38fe427fb8c390eee53e2c Mon Sep 17 00:00:00 2001 From: Stanislas Date: Fri, 26 Apr 2019 19:43:47 +0200 Subject: [PATCH 201/274] README: Add Dell XPS 13 9360 profile (#104) And reorder other XPS 13. --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cbbab0989cc..60fb9e9813a 100644 --- a/README.md +++ b/README.md @@ -31,8 +31,9 @@ imports = [ | [Apple MacBook Pro 10,1][] | `` | | Apple MacBook Pro 12,1 | `` | | BeagleBoard PocketBeagle | `` | -| [Dell XPS 13 9380][] | `` | +| [Dell XPS 13 9360][] | `` | | [Dell XPS 13 9370][] | `` | +| [Dell XPS 13 9380][] | `` | | [Dell XPS 15 9550][] | `` | | [Inverse Path USB armory][] | `` | | Lenovo IdeaPad Z510 | `` | @@ -60,8 +61,9 @@ imports = [ [Acer Aspire 4810T]: acer/aspire/4810t [Apple MacBook Pro 10,1]: apple/macbook-pro/10-1 -[Dell XPS 13 9380]: dell/xps/13-9380 +[Dell XPS 13 9360]: dell/xps/13-9360 [Dell XPS 13 9370]: dell/xps/13-9370 +[Dell XPS 13 9380]: dell/xps/13-9380 [Dell XPS 15 9550]: dell/xps/15-9550 [Inverse Path USB armory]: inversepath/usbarmory [Lenovo ThinkPad X1 (6th Gen)]: lenovo/thinkpad/x1/6th-gen From a8ea967866515cee5a4281ac7799bd82219e5fb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Neto?= Date: Sat, 4 May 2019 15:04:05 -0300 Subject: [PATCH 202/274] t430: add acpi_call module --- lenovo/thinkpad/t430/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lenovo/thinkpad/t430/default.nix b/lenovo/thinkpad/t430/default.nix index 09cee74942e..bdad1be9878 100644 --- a/lenovo/thinkpad/t430/default.nix +++ b/lenovo/thinkpad/t430/default.nix @@ -4,6 +4,7 @@ imports = [ ../. ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix ]; boot = { From 127dbfd849cfe2b6d27288441bacea6a648a409e Mon Sep 17 00:00:00 2001 From: Joris Engbers Date: Wed, 8 May 2019 23:34:21 +0200 Subject: [PATCH 203/274] Add thinkpad 480s to list of profiles. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 60fb9e9813a..339c8b60aaf 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ imports = [ | Lenovo ThinkPad T440p | `` | | Lenovo ThinkPad T450s | `` | | Lenovo ThinkPad T460s | `` | +| Lenovo ThinkPad T480s | `` | | Lenovo ThinkPad X140e | `` | | Lenovo ThinkPad X220 | `` | | Lenovo ThinkPad X230 | `` | From a5db2c9eaf4a061cf8508517d1faad949b923252 Mon Sep 17 00:00:00 2001 From: Joris Engbers Date: Wed, 8 May 2019 23:52:27 +0200 Subject: [PATCH 204/274] Add basic support for the thinkpad t470s --- README.md | 1 + lenovo/thinkpad/t470s/default.nix | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 lenovo/thinkpad/t470s/default.nix diff --git a/README.md b/README.md index 339c8b60aaf..fbe9ff60186 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ imports = [ | Lenovo ThinkPad T440p | `` | | Lenovo ThinkPad T450s | `` | | Lenovo ThinkPad T460s | `` | +| Lenovo ThinkPad T470s | `` | | Lenovo ThinkPad T480s | `` | | Lenovo ThinkPad X140e | `` | | Lenovo ThinkPad X220 | `` | diff --git a/lenovo/thinkpad/t470s/default.nix b/lenovo/thinkpad/t470s/default.nix new file mode 100644 index 00000000000..e62337171b9 --- /dev/null +++ b/lenovo/thinkpad/t470s/default.nix @@ -0,0 +1,9 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix + ../. + ]; +} From 83c44abc3f62aa8df5a51d204f84fe59fb4b8b26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 1 Jul 2019 10:15:35 +0100 Subject: [PATCH 205/274] dell/xps/13-9380: also import intel profile --- dell/xps/13-9380/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/dell/xps/13-9380/default.nix b/dell/xps/13-9380/default.nix index 47e676509d7..d04f5044997 100644 --- a/dell/xps/13-9380/default.nix +++ b/dell/xps/13-9380/default.nix @@ -2,6 +2,7 @@ { imports = [ + ../../../common/cpu/intel ../../../common/pc/laptop ../../../common/pc/laptop/acpi_call.nix ]; From 2691961397e876cbca8f66bb5436d93a60248577 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 1 Jul 2019 10:35:28 +0100 Subject: [PATCH 206/274] dell/xps/13-9380: mention fwupd --- dell/xps/13-9380/README.wiki | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/dell/xps/13-9380/README.wiki b/dell/xps/13-9380/README.wiki index a2a7f5deb2b..c5ad61e3fd6 100644 --- a/dell/xps/13-9380/README.wiki +++ b/dell/xps/13-9380/README.wiki @@ -1,5 +1,16 @@ = Dell XPS 13 9380 = +== Firmware upgrades == + +Note that this device is supported by [https://fwupd.org/ fwupd]. +To perform firmware upgrades just activate the service + + +services.fwupd.enable = true; + + +Then use fwupdmgr to perform updates. + == Battery drain when sleeping == The laptop uses the S2 sleep mode by default instead of S3, which leads to From f870de5eaee23912057bf9be6de66512a3c90679 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 2 Jul 2019 10:49:23 +0100 Subject: [PATCH 207/274] toshiba/swanky: switch to default kernels Both unstable and 19.03 come with 4.19+ kernels making this option obsolete. --- toshiba/swanky/default.nix | 3 --- 1 file changed, 3 deletions(-) diff --git a/toshiba/swanky/default.nix b/toshiba/swanky/default.nix index 9504d147db0..8361df66e53 100644 --- a/toshiba/swanky/default.nix +++ b/toshiba/swanky/default.nix @@ -13,9 +13,6 @@ in ../../common/pc/laptop ]; - # Sound only properly works out of the box on 4.18+ kernels. - boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; - # Required for screen brightness control: boot.kernelParams = [ "acpi_backlight=vendor" ]; From 1d9358a8cf67004cc9067d9fb3b791848cf64e8d Mon Sep 17 00:00:00 2001 From: Victor Nawothnig Date: Thu, 4 Jul 2019 16:59:11 +0200 Subject: [PATCH 208/274] Specify a correct unit description --- common/pc/laptop/cpu-throttling-bug.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/pc/laptop/cpu-throttling-bug.nix b/common/pc/laptop/cpu-throttling-bug.nix index a44bb7225d0..7f3caa2b2d8 100644 --- a/common/pc/laptop/cpu-throttling-bug.nix +++ b/common/pc/laptop/cpu-throttling-bug.nix @@ -6,7 +6,7 @@ # See https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues systemd.services.cpu-throttling = { enable = true; - description = "Sets the offset to 3 °C, so the new trip point is 97 °C"; + description = "CPU Throttling Fix"; documentation = [ "https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues" ]; @@ -22,7 +22,7 @@ systemd.timers.cpu-throttling = { enable = true; - description = "Set cpu heating limit to 97 °C"; + description = "CPU Throttling Fix"; documentation = [ "https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues" ]; From e1a10b1536ad7df486edb45d621521c96bc510af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 23 Jul 2019 09:04:03 +0100 Subject: [PATCH 209/274] enable fstrim on SSDs This will run TRIM once a week using a systemd timer. Running TRIM regularly will improves the performance and increases the SSDs lifespan. Since it is based on the utillinux no additional package is required. --- common/pc/ssd/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common/pc/ssd/default.nix b/common/pc/ssd/default.nix index af0b49568cd..00922e64993 100644 --- a/common/pc/ssd/default.nix +++ b/common/pc/ssd/default.nix @@ -4,4 +4,6 @@ boot.kernel.sysctl = { "vm.swappiness" = lib.mkDefault 1; }; + + services.fstrim.enable = lib.mkDefault true; } From 4c8b4cf54fea8d3a67152b1292bec4b15ce5feec Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 1 Sep 2019 17:57:50 +0200 Subject: [PATCH 210/274] thinkpad: emulate wheel for a trackpoint by default Most trackpoint users I know use the middle-button to have some scrolling functionality. So I think that for ThinkPads at least we should have this enabled by default if the trackpoint shall be used. --- lenovo/thinkpad/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lenovo/thinkpad/default.nix b/lenovo/thinkpad/default.nix index ff22639b4fd..99d4937e49c 100644 --- a/lenovo/thinkpad/default.nix +++ b/lenovo/thinkpad/default.nix @@ -1,9 +1,10 @@ -{ lib, pkgs, ... }: +{ config, lib, pkgs, ... }: { imports = [ ../../common/pc/laptop ]; hardware.trackpoint.enable = lib.mkDefault true; + hardware.trackpoint.emulateWheel = lib.mkDefault config.hardware.trackpoint.enable; # Fingerprint reader: login and unlock with fingerprint (if you add one with `fprintd-enroll`) # services.fprintd.enable = true; From abca8d018021bb03faf3507fb99e855801dffba0 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sun, 1 Sep 2019 17:58:15 +0200 Subject: [PATCH 211/274] thinkpad/x1/6th-gen: fix trackpoint name Newer ThinkPads have a new name for the Trackpoint - "TPPS/2 Elan TrackPoint". Having the "[...] IBM Trackpoint" as default caused some weird side-effects on my machine (e.g. stopped the trackpoint working after a suspend) with the wrong name. Although this is mentioned in the option's description[1], I think that this should be declared explicitly here. As soon, as we supported newer models as well[2], we should probably move this into its own common profile. [1] https://nixos.org/nixos/options.html#hardware.trackpoint.device [2] https://certification.ubuntu.com/catalog/component/input/5313/input%3ATPPS/2ElanTrackPoint/ --- lenovo/thinkpad/x1/6th-gen/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lenovo/thinkpad/x1/6th-gen/default.nix b/lenovo/thinkpad/x1/6th-gen/default.nix index 295c8b0b43a..e8c6f0e2651 100644 --- a/lenovo/thinkpad/x1/6th-gen/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/default.nix @@ -12,4 +12,8 @@ ../../../../common/pc/laptop/acpi_call.nix ../../../../common/pc/laptop/cpu-throttling-bug.nix ]; + + # New ThinkPads have a different TrackPoint manufacturer/name. + # See also https://certification.ubuntu.com/catalog/component/input/5313/input%3ATPPS/2ElanTrackPoint/ + hardware.trackpoint.device = "TPPS/2 Elan TrackPoint"; } From 9e7fffdd5b8018c88c63e41387514cb0b8777aa7 Mon Sep 17 00:00:00 2001 From: Reno Reckling Date: Mon, 2 Sep 2019 19:11:30 +0200 Subject: [PATCH 212/274] Add better pulseaudio support for thinkpad t490 --- lenovo/thinkpad/t490/default.nix | 30 ++++++ lenovo/thinkpad/t490/t490-profile-set.conf | 107 +++++++++++++++++++++ 2 files changed, 137 insertions(+) create mode 100644 lenovo/thinkpad/t490/default.nix create mode 100644 lenovo/thinkpad/t490/t490-profile-set.conf diff --git a/lenovo/thinkpad/t490/default.nix b/lenovo/thinkpad/t490/default.nix new file mode 100644 index 00000000000..e795aa7cc43 --- /dev/null +++ b/lenovo/thinkpad/t490/default.nix @@ -0,0 +1,30 @@ +{ nixos, pkgs, config, stdenv, ... }: +{ + imports = [ + ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix + ../../../common/pc/laptop/cpu-throttling-bug.nix + ../. + ]; + + services = { + # This fixes the pulseaudio profiles of the Thinkpad T490. + # The laptop contains a single audio card with 5 sub-devices. Default pulseaudio only offers a single sink + # which can only be switched between speaker/HDMI via a manual profile change. + # This configures a profile set for pulseaudio which offers multiple sinks corresponding to the + # speaker + 4 HDMI ports. This allows the user to play audio streams on the speaker and any of the 4 HDMI/USB-C + # ports at the same time. + udev.extraRules = let + t490ProfileSet = ./t490-profile-set.conf; + in '' + SUBSYSTEM!="sound", GOTO="pulseaudio_end" + ACTION!="change", GOTO="pulseaudio_end" + KERNEL!="card*", GOTO="pulseaudio_end" + + # Lenovo T490 + ATTRS{subsystem_vendor}=="0x17aa", ATTRS{subsystem_device}=="0x2279", ENV{PULSE_PROFILE_SET}="${t490ProfileSet}" + + LABEL="pulseaudio_end" + ''; + }; +} diff --git a/lenovo/thinkpad/t490/t490-profile-set.conf b/lenovo/thinkpad/t490/t490-profile-set.conf new file mode 100644 index 00000000000..98f8f0318de --- /dev/null +++ b/lenovo/thinkpad/t490/t490-profile-set.conf @@ -0,0 +1,107 @@ +[Profile speaker+hdmi-stereo] +description = Speaker + HDMI Stereo +output-mappings = analog-stereo hdmi-stereo hdmi-stereo-extra1 hdmi-stereo-extra2 +input-mappings = analog-stereo + +[Mapping analog-stereo] +device-strings = front:%f +channel-map = left,right +paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2 +paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic +priority = 15 + +[Mapping hdmi-stereo] +description = Stereo (HDMI) +device-strings = hdmi:%f +paths-output = hdmi-output-0 +channel-map = left,right +priority = 6 +direction = output + +[Mapping hdmi-stereo-extra1] +description = Stereo (HDMI 2) +device-strings = hdmi:%f,1 +paths-output = hdmi-output-1 +channel-map = left,right +priority = 8 +direction = output + +[Mapping hdmi-stereo-extra2] +description = Stereo (HDMI 3) +device-strings = hdmi:%f,2 +paths-output = hdmi-output-2 +channel-map = left,right +priority = 6 +direction = output + +[Profile speaker+hdmi-surround] +description = Speaker + HDMI 5.1 +output-mappings = analog-stereo hdmi-surround hdmi-surround-extra1 hdmi-surround-extra2 +input-mappings = analog-stereo + +[Mapping analog-stereo] +device-strings = front:%f +channel-map = left,right +paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2 +paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic +priority = 15 + +[Mapping hdmi-surround] +description = Digital Surround 5.1 (HDMI) +device-strings = hdmi:%f +paths-output = hdmi-output-0 +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +priority = 6 +direction = output + +[Mapping hdmi-surround-extra1] +description = Digital Surround 5.1 (HDMI 2) +device-strings = hdmi:%f,1 +paths-output = hdmi-output-1 +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +priority = 8 +direction = output + +[Mapping hdmi-surround-extra2] +description = Digital Surround 5.1 (HDMI 3) +device-strings = hdmi:%f,2 +paths-output = hdmi-output-2 +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe +priority = 6 +direction = output + +[Profile speaker+hdmi-surround71] +description = Speaker + HDMI 7.1 +output-mappings = analog-stereo hdmi-surround71 hdmi-surround71-extra1 hdmi-surround71-extra2 +input-mappings = analog-stereo + +[Mapping analog-stereo] +device-strings = front:%f +channel-map = left,right +paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2 +paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic +priority = 15 + +[Mapping hdmi-surround71] +description = Digital Surround 7.1 (HDMI) +device-strings = hdmi:%f +paths-output = hdmi-output-0 +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right +priority = 6 +direction = output + +[Mapping hdmi-surround71-extra1] +description = Digital Surround 7.1 (HDMI 2) +device-strings = hdmi:%f,1 +paths-output = hdmi-output-1 +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right +priority = 8 +direction = output + +[Mapping hdmi-surround71-extra2] +description = Digital Surround 7.1 (HDMI 3) +device-strings = hdmi:%f,2 +paths-output = hdmi-output-2 +channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe,side-left,side-right +priority = 6 +direction = output From e338e4ee16d63c4f1298e204e0db5b8185d88f03 Mon Sep 17 00:00:00 2001 From: SRGOM Date: Tue, 3 Sep 2019 00:47:25 -0600 Subject: [PATCH 213/274] Update README.md At first (till third glance) I thought only the listed profiles are supported --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fbe9ff60186..81d495d671e 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,9 @@ imports = [ ]; ``` -## Profiles +## Incomplete list of Profiles + +See code for all available configurations. | Model | Path | | --------------------------------- | -------------------------------------------- | From 5932cef1b9a45f97c5846f376a4252c49adf7a27 Mon Sep 17 00:00:00 2001 From: Reno Reckling Date: Tue, 3 Sep 2019 20:08:01 +0200 Subject: [PATCH 214/274] update readme for T490 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fbe9ff60186..66ccdf70b73 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ imports = [ | Lenovo ThinkPad T460s | `` | | Lenovo ThinkPad T470s | `` | | Lenovo ThinkPad T480s | `` | +| Lenovo ThinkPad T490 | `` | | Lenovo ThinkPad X140e | `` | | Lenovo ThinkPad X220 | `` | | Lenovo ThinkPad X230 | `` | From 83ca0c4e6b587240fef055e31cca5ef6fdd94761 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Wed, 4 Sep 2019 22:36:27 +0200 Subject: [PATCH 215/274] thinkpad/x250: add acpi_call This kernel module is needed to, for example, support tlp's - `START_CHARGE_THRESH_BAT?` and - `STOP_CHARGE_THRESH_BAT?` options. --- lenovo/thinkpad/x250/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lenovo/thinkpad/x250/default.nix b/lenovo/thinkpad/x250/default.nix index 870d9a85774..55ae2096342 100644 --- a/lenovo/thinkpad/x250/default.nix +++ b/lenovo/thinkpad/x250/default.nix @@ -2,5 +2,6 @@ imports = [ ../. ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix ]; } From 26bbc980b9b7c6b0d38b51fec5b41e977731fb5c Mon Sep 17 00:00:00 2001 From: Ashley Gillman Date: Sun, 15 Jul 2018 22:28:25 +0100 Subject: [PATCH 216/274] Add Dell E7240 Profile (Current XPS 15 works well) --- README.md | 82 ++++++++++++++++++++++-------------------- dell/e7240/README.md | 8 +++++ dell/e7240/default.nix | 8 +++++ release.nix | 1 + 4 files changed, 60 insertions(+), 39 deletions(-) create mode 100644 dell/e7240/README.md create mode 100644 dell/e7240/default.nix diff --git a/README.md b/README.md index bd57ba341ad..e852161028f 100644 --- a/README.md +++ b/README.md @@ -24,48 +24,52 @@ imports = [ See code for all available configurations. -| Model | Path | -| --------------------------------- | -------------------------------------------- | -| [Acer Aspire 4810T][] | `` | -| Airis N990 | `` | -| Apple MacBook Air 4,X | `` | -| Apple MacBook Air 6,X | `` | -| [Apple MacBook Pro 10,1][] | `` | -| Apple MacBook Pro 12,1 | `` | -| BeagleBoard PocketBeagle | `` | -| [Dell XPS 13 9360][] | `` | -| [Dell XPS 13 9370][] | `` | -| [Dell XPS 13 9380][] | `` | -| [Dell XPS 15 9550][] | `` | -| [Inverse Path USB armory][] | `` | -| Lenovo IdeaPad Z510 | `` | -| Lenovo ThinkPad T410 | `` | -| Lenovo ThinkPad T430 | `` | -| Lenovo ThinkPad T440s | `` | -| Lenovo ThinkPad T440p | `` | -| Lenovo ThinkPad T450s | `` | -| Lenovo ThinkPad T460s | `` | -| Lenovo ThinkPad T470s | `` | -| Lenovo ThinkPad T480s | `` | -| Lenovo ThinkPad T490 | `` | -| Lenovo ThinkPad X140e | `` | -| Lenovo ThinkPad X220 | `` | -| Lenovo ThinkPad X230 | `` | -| Lenovo ThinkPad X250 | `` | -| [Lenovo ThinkPad X260][] | `` | -| Lenovo ThinkPad X270 | `` | -| [Lenovo ThinkPad X1 (6th Gen)][] | ``| -| [Microsoft Surface Pro 3][] | `` | -| PC Engines APU | `` | -| [Raspberry Pi 2][] | `` | -| [Samsung Series 9 NP900X3C][] | `` | -| [Purism Librem 13v3][] | `` | -| Supermicro A1SRi-2758F | `` | -| Supermicro X10SLL-F | `` | -| [Toshiba Chromebook 2 `swanky`][] | `` | + + +| Model | Path | +| --------------------------------- | -------------------------------------------- | +| [Acer Aspire 4810T][] | `` | +| Airis N990 | `` | +| Apple MacBook Air 4,X | `` | +| Apple MacBook Air 6,X | `` | +| [Apple MacBook Pro 10,1][] | `` | +| Apple MacBook Pro 12,1 | `` | +| BeagleBoard PocketBeagle | `` | +| [Dell XPS E7240][] | `` | +| [Dell XPS 13 9360][] | `` | +| [Dell XPS 13 9370][] | `` | +| [Dell XPS 13 9380][] | `` | +| [Dell XPS 15 9550][] | `` | +| [Inverse Path USB armory][] | `` | +| Lenovo IdeaPad Z510 | `` | +| Lenovo ThinkPad T410 | `` | +| Lenovo ThinkPad T430 | `` | +| Lenovo ThinkPad T440s | `` | +| Lenovo ThinkPad T440p | `` | +| Lenovo ThinkPad T450s | `` | +| Lenovo ThinkPad T460s | `` | +| Lenovo ThinkPad T470s | `` | +| Lenovo ThinkPad T480s | `` | +| Lenovo ThinkPad T490 | `` | +| Lenovo ThinkPad X140e | `` | +| Lenovo ThinkPad X220 | `` | +| Lenovo ThinkPad X230 | `` | +| Lenovo ThinkPad X250 | `` | +| [Lenovo ThinkPad X260][] | `` | +| Lenovo ThinkPad X270 | `` | +| [Lenovo ThinkPad X1 (6th Gen)][] | `` | +| [Microsoft Surface Pro 3][] | `` | +| PC Engines APU | `` | +| [Raspberry Pi 2][] | `` | +| [Samsung Series 9 NP900X3C][] | `` | +| [Purism Librem 13v3][] | `` | +| Supermicro A1SRi-2758F | `` | +| Supermicro X10SLL-F | `` | +| [Toshiba Chromebook 2 `swanky`][] | `` | [Acer Aspire 4810T]: acer/aspire/4810t [Apple MacBook Pro 10,1]: apple/macbook-pro/10-1 +[Dell XPS E7240][]: dell/e7240 [Dell XPS 13 9360]: dell/xps/13-9360 [Dell XPS 13 9370]: dell/xps/13-9370 [Dell XPS 13 9380]: dell/xps/13-9380 diff --git a/dell/e7240/README.md b/dell/e7240/README.md new file mode 100644 index 00000000000..b712f4d2bc2 --- /dev/null +++ b/dell/e7240/README.md @@ -0,0 +1,8 @@ +On some kernel versions user ashgillman has experiences suspend issues +(see https://bugzilla.redhat.com/show_bug.cgi?id=1597481). + +Try: + +```nix +boot.kernelPackages = pkgs.linuxPackages_4_14; +``` diff --git a/dell/e7240/default.nix b/dell/e7240/default.nix new file mode 100644 index 00000000000..3334a745f8c --- /dev/null +++ b/dell/e7240/default.nix @@ -0,0 +1,8 @@ +{ lib, pkgs, ... }: + +{ + imports = [ + ../../common/cpu/intel + ../../common/pc/laptop + ]; +} diff --git a/release.nix b/release.nix index 11ba88831fa..ecc3ec71724 100644 --- a/release.nix +++ b/release.nix @@ -31,6 +31,7 @@ in apple-macbook-pro-11-5 = buildProfile ./apple/macbook-pro/11-5; apple-macbook-pro-12-1 = buildProfile ./apple/macbook-pro/12-1; + dell-e7240 = buildProfile ./dell/e7240; dell-xps-13-9380 = buildProfile ./dell/xps/13-9380; dell-xps-13-9370 = buildProfile ./dell/xps/13-9370; dell-xps-15-9550 = buildProfile ./dell/xps/15-9550; From de600352bc4ba2c5ae3dd62a472b54be99d6bfc4 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Sat, 28 Sep 2019 23:58:20 +0200 Subject: [PATCH 217/274] thinkpad/x1-extreme/gen2: add module --- README.md | 79 +++++++++++---------- lenovo/thinkpad/x1-extreme/default.nix | 8 +++ lenovo/thinkpad/x1-extreme/gen2/default.nix | 47 ++++++++++++ 3 files changed, 95 insertions(+), 39 deletions(-) create mode 100644 lenovo/thinkpad/x1-extreme/default.nix create mode 100644 lenovo/thinkpad/x1-extreme/gen2/default.nix diff --git a/README.md b/README.md index bd57ba341ad..be6cdde5333 100644 --- a/README.md +++ b/README.md @@ -24,45 +24,46 @@ imports = [ See code for all available configurations. -| Model | Path | -| --------------------------------- | -------------------------------------------- | -| [Acer Aspire 4810T][] | `` | -| Airis N990 | `` | -| Apple MacBook Air 4,X | `` | -| Apple MacBook Air 6,X | `` | -| [Apple MacBook Pro 10,1][] | `` | -| Apple MacBook Pro 12,1 | `` | -| BeagleBoard PocketBeagle | `` | -| [Dell XPS 13 9360][] | `` | -| [Dell XPS 13 9370][] | `` | -| [Dell XPS 13 9380][] | `` | -| [Dell XPS 15 9550][] | `` | -| [Inverse Path USB armory][] | `` | -| Lenovo IdeaPad Z510 | `` | -| Lenovo ThinkPad T410 | `` | -| Lenovo ThinkPad T430 | `` | -| Lenovo ThinkPad T440s | `` | -| Lenovo ThinkPad T440p | `` | -| Lenovo ThinkPad T450s | `` | -| Lenovo ThinkPad T460s | `` | -| Lenovo ThinkPad T470s | `` | -| Lenovo ThinkPad T480s | `` | -| Lenovo ThinkPad T490 | `` | -| Lenovo ThinkPad X140e | `` | -| Lenovo ThinkPad X220 | `` | -| Lenovo ThinkPad X230 | `` | -| Lenovo ThinkPad X250 | `` | -| [Lenovo ThinkPad X260][] | `` | -| Lenovo ThinkPad X270 | `` | -| [Lenovo ThinkPad X1 (6th Gen)][] | ``| -| [Microsoft Surface Pro 3][] | `` | -| PC Engines APU | `` | -| [Raspberry Pi 2][] | `` | -| [Samsung Series 9 NP900X3C][] | `` | -| [Purism Librem 13v3][] | `` | -| Supermicro A1SRi-2758F | `` | -| Supermicro X10SLL-F | `` | -| [Toshiba Chromebook 2 `swanky`][] | `` | +| Model | Path | +| --------------------------------- | -------------------------------------------------- | +| [Acer Aspire 4810T][] | `` | +| Airis N990 | `` | +| Apple MacBook Air 4,X | `` | +| Apple MacBook Air 6,X | `` | +| [Apple MacBook Pro 10,1][] | `` | +| Apple MacBook Pro 12,1 | `` | +| BeagleBoard PocketBeagle | `` | +| [Dell XPS 13 9360][] | `` | +| [Dell XPS 13 9370][] | `` | +| [Dell XPS 13 9380][] | `` | +| [Dell XPS 15 9550][] | `` | +| [Inverse Path USB armory][] | `` | +| Lenovo IdeaPad Z510 | `` | +| Lenovo ThinkPad T410 | `` | +| Lenovo ThinkPad T430 | `` | +| Lenovo ThinkPad T440s | `` | +| Lenovo ThinkPad T440p | `` | +| Lenovo ThinkPad T450s | `` | +| Lenovo ThinkPad T460s | `` | +| Lenovo ThinkPad T470s | `` | +| Lenovo ThinkPad T480s | `` | +| Lenovo ThinkPad T490 | `` | +| Lenovo ThinkPad X140e | `` | +| Lenovo ThinkPad X220 | `` | +| Lenovo ThinkPad X230 | `` | +| Lenovo ThinkPad X250 | `` | +| [Lenovo ThinkPad X260][] | `` | +| Lenovo ThinkPad X270 | `` | +| [Lenovo ThinkPad X1 (6th Gen)][] | `` | +| Lenovo ThinkPad X1 Extreme Gen 2 | `` | +| [Microsoft Surface Pro 3][] | `` | +| PC Engines APU | `` | +| [Raspberry Pi 2][] | `` | +| [Samsung Series 9 NP900X3C][] | `` | +| [Purism Librem 13v3][] | `` | +| Supermicro A1SRi-2758F | `` | +| Supermicro X10SLL-F | `` | +| [Toshiba Chromebook 2 `swanky`][] | `` | [Acer Aspire 4810T]: acer/aspire/4810t [Apple MacBook Pro 10,1]: apple/macbook-pro/10-1 diff --git a/lenovo/thinkpad/x1-extreme/default.nix b/lenovo/thinkpad/x1-extreme/default.nix new file mode 100644 index 00000000000..09a0ec1700a --- /dev/null +++ b/lenovo/thinkpad/x1-extreme/default.nix @@ -0,0 +1,8 @@ +{ + imports = [ + ../. + ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix + ../../../common/pc/laptop/ssd + ]; +} diff --git a/lenovo/thinkpad/x1-extreme/gen2/default.nix b/lenovo/thinkpad/x1-extreme/gen2/default.nix new file mode 100644 index 00000000000..912cc950cab --- /dev/null +++ b/lenovo/thinkpad/x1-extreme/gen2/default.nix @@ -0,0 +1,47 @@ +{ config, lib, ... }: + +with lib; + +{ + imports = [ + ../. + ../../../../common/pc/laptop/cpu-throttling-bug.nix + ]; + + # Fixes an issue with incorrect battery reporting. See + # https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Extreme_(Gen_2)#Invalid_Stats_Workaround + boot.initrd.availableKernelModules = [ "battery" ]; + + # New ThinkPads have a different TrackPoint manufacturer/name. + # See also https://certification.ubuntu.com/catalog/component/input/5313/input%3ATPPS/2ElanTrackPoint/ + hardware.trackpoint.device = "TPPS/2 Elan TrackPoint"; + + # Since the HDMI port is connected to the NVIDIA card. + hardware.bumblebee.connectDisplay = true; + + nixpkgs.overlays = [ + (self: super: { + bumblebee = super.bumblebee.override { + extraNvidiaDeviceOptions = '' + Option "AllowEmptyInitialConfiguration" + ''; + }; + }) + ]; + + services.xserver = mkMerge [ + { + # Set the right DPI. xdpyinfo says the screen is 508×285 mm but + # it actually is 344×193 mm. + monitorSection = '' + DisplaySize 344 193 + ''; + } + + # To support intel-virtual-output when using Bumblebee. + (mkIf config.hardware.bumblebee.enable { + deviceSection = ''Option "VirtualHeads" "1"''; + videoDrivers = [ "intel" ]; + }) + ]; +} From b60ea643a4db066d48f7bdc08689a1fe6eacf348 Mon Sep 17 00:00:00 2001 From: Reno Reckling Date: Fri, 4 Oct 2019 19:27:28 +0200 Subject: [PATCH 218/274] match specifically on the sound chip --- lenovo/thinkpad/t490/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lenovo/thinkpad/t490/default.nix b/lenovo/thinkpad/t490/default.nix index e795aa7cc43..1a4f71dfc20 100644 --- a/lenovo/thinkpad/t490/default.nix +++ b/lenovo/thinkpad/t490/default.nix @@ -22,7 +22,7 @@ KERNEL!="card*", GOTO="pulseaudio_end" # Lenovo T490 - ATTRS{subsystem_vendor}=="0x17aa", ATTRS{subsystem_device}=="0x2279", ENV{PULSE_PROFILE_SET}="${t490ProfileSet}" + ATTRS{vendor}=="0x8086" ATTRS{device}=="0x9dc8" ATTRS{subsystem_vendor}=="0x17aa", ATTRS{subsystem_device}=="0x2279", ENV{PULSE_PROFILE_SET}="${t490ProfileSet}" LABEL="pulseaudio_end" ''; From d94273063433fcad2af2d0c36b6a938598846887 Mon Sep 17 00:00:00 2001 From: Adam Sandberg Eriksson Date: Wed, 16 Oct 2019 15:05:55 +0100 Subject: [PATCH 219/274] Fix readme markdown syntax --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e0e061c21e3..e16e6e4e436 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ See code for all available configurations. [Acer Aspire 4810T]: acer/aspire/4810t [Apple MacBook Pro 10,1]: apple/macbook-pro/10-1 -[Dell XPS E7240][]: dell/e7240 +[Dell XPS E7240]: dell/e7240 [Dell XPS 13 9360]: dell/xps/13-9360 [Dell XPS 13 9370]: dell/xps/13-9370 [Dell XPS 13 9380]: dell/xps/13-9380 From ed0d3cc198557b9260295aa8a384dd5080706aee Mon Sep 17 00:00:00 2001 From: *Kim Zick Date: Wed, 16 Oct 2019 14:25:20 -0400 Subject: [PATCH 220/274] Initial p53 hardware configuration (#125) --- README.md | 1 + lenovo/thinkpad/p53/default.nix | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 lenovo/thinkpad/p53/default.nix diff --git a/README.md b/README.md index e16e6e4e436..4cfbf534c59 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,7 @@ See code for all available configurations. | [Dell XPS 15 9550][] | `` | | [Inverse Path USB armory][] | `` | | Lenovo IdeaPad Z510 | `` | +| Lenovo ThinkPad P53 | `` | | Lenovo ThinkPad T410 | `` | | Lenovo ThinkPad T430 | `` | | Lenovo ThinkPad T440s | `` | diff --git a/lenovo/thinkpad/p53/default.nix b/lenovo/thinkpad/p53/default.nix new file mode 100644 index 00000000000..6eadb6ec84d --- /dev/null +++ b/lenovo/thinkpad/p53/default.nix @@ -0,0 +1,9 @@ +{ nixos, pkgs, config, stdenv, ... }: +{ + imports = [ + ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix + ../../../common/pc/laptop/cpu-throttling-bug.nix + ../. + ]; +} From 2bf94227c1efbf47e99f55dacd799fffe87207e8 Mon Sep 17 00:00:00 2001 From: Michael Peyton Jones Date: Fri, 19 Jul 2019 11:03:36 +0100 Subject: [PATCH 221/274] Replace ad hoc throttling fix with throttled `throttled` is a service designed to fix the same CPU throttling bug, but it's an actively maintainted upstream project that we can use. --- common/pc/laptop/cpu-throttling-bug.nix | 38 --------------------- dell/xps/13-9370/default.nix | 3 +- lenovo/thinkpad/p53/default.nix | 5 +-- lenovo/thinkpad/t480s/default.nix | 3 +- lenovo/thinkpad/t490/default.nix | 5 +-- lenovo/thinkpad/x1-extreme/gen2/default.nix | 3 +- lenovo/thinkpad/x1/6th-gen/default.nix | 5 +-- 7 files changed, 15 insertions(+), 47 deletions(-) delete mode 100644 common/pc/laptop/cpu-throttling-bug.nix diff --git a/common/pc/laptop/cpu-throttling-bug.nix b/common/pc/laptop/cpu-throttling-bug.nix deleted file mode 100644 index 7f3caa2b2d8..00000000000 --- a/common/pc/laptop/cpu-throttling-bug.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ config, pkgs, ... }: -{ - # Temporary fix for cpu throttling issues visible in the kernel log - # (journalctl -k) by setting the same temperature limits used by - # Window$ - # See https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues - systemd.services.cpu-throttling = { - enable = true; - description = "CPU Throttling Fix"; - documentation = [ - "https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues" - ]; - path = [ pkgs.msr-tools ]; - script = "wrmsr -a 0x1a2 0x3000000"; - serviceConfig = { - Type = "oneshot"; - }; - wantedBy = [ - "timers.target" - ]; - }; - - systemd.timers.cpu-throttling = { - enable = true; - description = "CPU Throttling Fix"; - documentation = [ - "https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)#Power_management.2FThrottling_issues" - ]; - timerConfig = { - OnActiveSec = 60; - OnUnitActiveSec = 60; - Unit = "cpu-throttling.service"; - }; - wantedBy = [ - "timers.target" - ]; - }; -} diff --git a/dell/xps/13-9370/default.nix b/dell/xps/13-9370/default.nix index cd53acd02fc..609aebfadf4 100644 --- a/dell/xps/13-9370/default.nix +++ b/dell/xps/13-9370/default.nix @@ -5,7 +5,6 @@ ../../../common/cpu/intel/kaby-lake ../../../common/pc/laptop ../../../common/pc/laptop/acpi_call.nix - ../../../common/pc/laptop/cpu-throttling-bug.nix ]; # Force S3 sleep mode. See README.wiki for details. @@ -13,4 +12,6 @@ # touchpad goes over i2c boot.blacklistedKernelModules = [ "psmouse" ]; + + services.throttled.enable = lib.mkDefault true; } diff --git a/lenovo/thinkpad/p53/default.nix b/lenovo/thinkpad/p53/default.nix index 6eadb6ec84d..a499d5c2d51 100644 --- a/lenovo/thinkpad/p53/default.nix +++ b/lenovo/thinkpad/p53/default.nix @@ -1,9 +1,10 @@ -{ nixos, pkgs, config, stdenv, ... }: +{ nixos, pkgs, lib, config, stdenv, ... }: { imports = [ ../../../common/cpu/intel ../../../common/pc/laptop/acpi_call.nix - ../../../common/pc/laptop/cpu-throttling-bug.nix ../. ]; + + services.throttled.enable = lib.mkDefault true; } diff --git a/lenovo/thinkpad/t480s/default.nix b/lenovo/thinkpad/t480s/default.nix index 3e079d5fb06..1a14afa6b5e 100644 --- a/lenovo/thinkpad/t480s/default.nix +++ b/lenovo/thinkpad/t480s/default.nix @@ -4,7 +4,8 @@ imports = [ ../../../common/cpu/intel ../../../common/pc/laptop/acpi_call.nix - ../../../common/pc/laptop/cpu-throttling-bug.nix ../. ]; + + services.throttled.enable = lib.mkDefault true; } diff --git a/lenovo/thinkpad/t490/default.nix b/lenovo/thinkpad/t490/default.nix index 1a4f71dfc20..3578da66c73 100644 --- a/lenovo/thinkpad/t490/default.nix +++ b/lenovo/thinkpad/t490/default.nix @@ -1,9 +1,8 @@ -{ nixos, pkgs, config, stdenv, ... }: +{ nixos, lib, pkgs, config, stdenv, ... }: { imports = [ ../../../common/cpu/intel ../../../common/pc/laptop/acpi_call.nix - ../../../common/pc/laptop/cpu-throttling-bug.nix ../. ]; @@ -26,5 +25,7 @@ LABEL="pulseaudio_end" ''; + + throttled.enable = lib.mkDefault true; }; } diff --git a/lenovo/thinkpad/x1-extreme/gen2/default.nix b/lenovo/thinkpad/x1-extreme/gen2/default.nix index 912cc950cab..6b0ebbd5d1e 100644 --- a/lenovo/thinkpad/x1-extreme/gen2/default.nix +++ b/lenovo/thinkpad/x1-extreme/gen2/default.nix @@ -5,7 +5,6 @@ with lib; { imports = [ ../. - ../../../../common/pc/laptop/cpu-throttling-bug.nix ]; # Fixes an issue with incorrect battery reporting. See @@ -44,4 +43,6 @@ with lib; videoDrivers = [ "intel" ]; }) ]; + + services.throttled.enable = lib.mkDefault true; } diff --git a/lenovo/thinkpad/x1/6th-gen/default.nix b/lenovo/thinkpad/x1/6th-gen/default.nix index e8c6f0e2651..00446b8c278 100644 --- a/lenovo/thinkpad/x1/6th-gen/default.nix +++ b/lenovo/thinkpad/x1/6th-gen/default.nix @@ -5,15 +5,16 @@ # # Enable the lower-power S3 suspend state by upgrading the BIOS to version >= 1.30, # then manually selecting Linux in the power management section. -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: { imports = [ ../. ../../../../common/pc/laptop/acpi_call.nix - ../../../../common/pc/laptop/cpu-throttling-bug.nix ]; # New ThinkPads have a different TrackPoint manufacturer/name. # See also https://certification.ubuntu.com/catalog/component/input/5313/input%3ATPPS/2ElanTrackPoint/ hardware.trackpoint.device = "TPPS/2 Elan TrackPoint"; + + services.throttled.enable = lib.mkDefault true; } From 4916acd221241d9686a07075b69986a03a1c564d Mon Sep 17 00:00:00 2001 From: Samuel Leathers Date: Sun, 27 Oct 2019 09:02:50 +0100 Subject: [PATCH 222/274] dell/xps: enable thermald service --- dell/xps/13-9360/default.nix | 5 ++++- dell/xps/13-9370/default.nix | 3 +++ dell/xps/13-9380/default.nix | 3 +++ dell/xps/15-9550/default.nix | 3 +++ 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/dell/xps/13-9360/default.nix b/dell/xps/13-9360/default.nix index e13e758d44c..5ff1e54a46b 100644 --- a/dell/xps/13-9360/default.nix +++ b/dell/xps/13-9360/default.nix @@ -13,7 +13,7 @@ efi.canTouchEfiVariables = lib.mkDefault true; systemd-boot.enable = lib.mkDefault true; }; - + hardware.firmware = lib.mkBefore [ pkgs.qca6174-firmware ]; # TODO: move to general HiDPI profile @@ -23,4 +23,7 @@ nixpkgs.overlays = [(final: previous: { qca6174-firmware = final.callPackage ./qca6174-firmware.nix {}; })]; + + # This will save you money and possibly your life! + services.thermald.enable = true; } diff --git a/dell/xps/13-9370/default.nix b/dell/xps/13-9370/default.nix index 609aebfadf4..dbe852f0c27 100644 --- a/dell/xps/13-9370/default.nix +++ b/dell/xps/13-9370/default.nix @@ -14,4 +14,7 @@ boot.blacklistedKernelModules = [ "psmouse" ]; services.throttled.enable = lib.mkDefault true; + + # This will save you money and possibly your life! + services.thermald.enable = true; } diff --git a/dell/xps/13-9380/default.nix b/dell/xps/13-9380/default.nix index d04f5044997..162cc2618eb 100644 --- a/dell/xps/13-9380/default.nix +++ b/dell/xps/13-9380/default.nix @@ -12,4 +12,7 @@ # touchpad goes over i2c boot.blacklistedKernelModules = [ "psmouse" ]; + + # This will save you money and possibly your life! + services.thermald.enable = true; } diff --git a/dell/xps/15-9550/default.nix b/dell/xps/15-9550/default.nix index 90cfc6e2936..9677972a6b7 100644 --- a/dell/xps/15-9550/default.nix +++ b/dell/xps/15-9550/default.nix @@ -10,6 +10,9 @@ boot.loader.systemd-boot.enable = lib.mkDefault true; boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; + # This will save you money and possibly your life! + services.thermald.enable = true; + # To just use Intel integrated graphics with Intel's open source driver # hardware.nvidiaOptimus.disable = true; } From 5316e919c8e01dcff9c64c8aa3f8947e9d07680d Mon Sep 17 00:00:00 2001 From: Alexander Berlind Date: Wed, 30 Oct 2019 20:15:22 +0100 Subject: [PATCH 223/274] Add Dell XPS-7390 Profile (#128) --- README.md | 2 ++ dell/xps/13-7390/README.wiki | 12 ++++++++++++ dell/xps/13-7390/default.nix | 11 +++++++++++ 3 files changed, 25 insertions(+) create mode 100644 dell/xps/13-7390/README.wiki create mode 100644 dell/xps/13-7390/default.nix diff --git a/README.md b/README.md index 4cfbf534c59..648f1295c93 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ See code for all available configurations. | Apple MacBook Pro 12,1 | `` | | BeagleBoard PocketBeagle | `` | | [Dell XPS E7240][] | `` | +| [Dell XPS 13 7390][] | `` | | [Dell XPS 13 9360][] | `` | | [Dell XPS 13 9370][] | `` | | [Dell XPS 13 9380][] | `` | @@ -70,6 +71,7 @@ See code for all available configurations. [Acer Aspire 4810T]: acer/aspire/4810t [Apple MacBook Pro 10,1]: apple/macbook-pro/10-1 [Dell XPS E7240]: dell/e7240 +[Dell XPS 13 7390]: dell/xps/13-7390 [Dell XPS 13 9360]: dell/xps/13-9360 [Dell XPS 13 9370]: dell/xps/13-9370 [Dell XPS 13 9380]: dell/xps/13-9380 diff --git a/dell/xps/13-7390/README.wiki b/dell/xps/13-7390/README.wiki new file mode 100644 index 00000000000..c5eac594576 --- /dev/null +++ b/dell/xps/13-7390/README.wiki @@ -0,0 +1,12 @@ += Dell XPS 13 7390 = + +== Firmware upgrades == + +Note that this device is supported by [https://fwupd.org/ fwupd]. +To perform firmware upgrades just activate the service + + +services.fwupd.enable = true; + + +Then use fwupdmgr to perform updates. diff --git a/dell/xps/13-7390/default.nix b/dell/xps/13-7390/default.nix new file mode 100644 index 00000000000..727ea5c9e57 --- /dev/null +++ b/dell/xps/13-7390/default.nix @@ -0,0 +1,11 @@ +{ lib, pkgs, ... }: + +{ + imports = [ + ../../../common/cpu/intel + ../../../common/pc/laptop + ../../../common/pc/laptop/ssd + ]; + + services.thermald.enable = true; +} From 5575153e2d96efc8caadfc46989b11c6e64454a4 Mon Sep 17 00:00:00 2001 From: Oleksii Filonenko Date: Sat, 2 Nov 2019 12:52:58 +0200 Subject: [PATCH 224/274] Add Lenovo ThinkPad T420 profile --- README.md | 1 + lenovo/thinkpad/t420/default.nix | 9 +++++++++ 2 files changed, 10 insertions(+) create mode 100644 lenovo/thinkpad/t420/default.nix diff --git a/README.md b/README.md index 648f1295c93..f5b1268f9ec 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ See code for all available configurations. | Lenovo IdeaPad Z510 | `` | | Lenovo ThinkPad P53 | `` | | Lenovo ThinkPad T410 | `` | +| Lenovo ThinkPad T420 | `` | | Lenovo ThinkPad T430 | `` | | Lenovo ThinkPad T440s | `` | | Lenovo ThinkPad T440p | `` | diff --git a/lenovo/thinkpad/t420/default.nix b/lenovo/thinkpad/t420/default.nix new file mode 100644 index 00000000000..5d3efe831c9 --- /dev/null +++ b/lenovo/thinkpad/t420/default.nix @@ -0,0 +1,9 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../. + ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix + ]; +} From 19b4d5cede55b4a90354890b9e9c82232332c279 Mon Sep 17 00:00:00 2001 From: Lorenzo Manacorda Date: Sat, 26 Oct 2019 14:21:36 +0200 Subject: [PATCH 225/274] intel: add intel-media-driver Provides hardware accelerated video playback from Broadwell onwards. --- common/cpu/intel/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/common/cpu/intel/default.nix b/common/cpu/intel/default.nix index 7f2223c72e4..ad945f394a6 100644 --- a/common/cpu/intel/default.nix +++ b/common/cpu/intel/default.nix @@ -10,5 +10,6 @@ vaapiIntel vaapiVdpau libvdpau-va-gl + intel-media-driver ]; } From adecd1113c2d4137ef23237f9af450736fd8d2cc Mon Sep 17 00:00:00 2001 From: ilian Date: Tue, 12 Nov 2019 10:36:10 +0000 Subject: [PATCH 226/274] apple: Add support for MacBook Air 3,X (#91) --- README.md | 1 + apple/macbook-air/3/default.nix | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 apple/macbook-air/3/default.nix diff --git a/README.md b/README.md index f5b1268f9ec..d82ef1c5d08 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ See code for all available configurations. | --------------------------------- | -------------------------------------------------- | | [Acer Aspire 4810T][] | `` | | Airis N990 | `` | +| Apple MacBook Air 3,X | `` | | Apple MacBook Air 4,X | `` | | Apple MacBook Air 6,X | `` | | [Apple MacBook Pro 10,1][] | `` | diff --git a/apple/macbook-air/3/default.nix b/apple/macbook-air/3/default.nix new file mode 100644 index 00000000000..03221edcd0b --- /dev/null +++ b/apple/macbook-air/3/default.nix @@ -0,0 +1,15 @@ +{ config, lib, ... }: + +{ + imports = [ + ../../. + ../../../common/pc/laptop + ../../../common/pc/ssd + ]; + + # Built-in iSight is recognized by the generic uvcvideo kernel module + hardware.facetimehd.enable = false; + + hardware.cpu.intel.updateMicrocode = + lib.mkDefault config.hardware.enableRedistributableFirmware; +} From c3b2ac63ff06e5dd4fa66f75bfab7892b3edfdc5 Mon Sep 17 00:00:00 2001 From: Alexander Berlind Date: Sat, 28 Dec 2019 10:50:04 +0100 Subject: [PATCH 227/274] Add deepsleep to avoid wakeups during sleep mode (#136) --- dell/xps/13-7390/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dell/xps/13-7390/default.nix b/dell/xps/13-7390/default.nix index 727ea5c9e57..991e4352cb5 100644 --- a/dell/xps/13-7390/default.nix +++ b/dell/xps/13-7390/default.nix @@ -7,5 +7,7 @@ ../../../common/pc/laptop/ssd ]; + boot.kernelParams = [ "mem_sleep_default=deep" ]; + services.thermald.enable = true; } From 1d746f22983f050af004a3ebca90651c2c6d1464 Mon Sep 17 00:00:00 2001 From: mishudark Date: Tue, 31 Dec 2019 12:43:42 +0100 Subject: [PATCH 228/274] Add Lenovo ThinkPad X280 profile --- README.md | 1 + lenovo/thinkpad/x280/default.nix | 12 ++++++++++++ release.nix | 1 + 3 files changed, 14 insertions(+) create mode 100644 lenovo/thinkpad/x280/default.nix diff --git a/README.md b/README.md index d82ef1c5d08..c86792e461e 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ See code for all available configurations. | Lenovo ThinkPad X250 | `` | | [Lenovo ThinkPad X260][] | `` | | Lenovo ThinkPad X270 | `` | +| Lenovo ThinkPad X280 | `` | | [Lenovo ThinkPad X1 (6th Gen)][] | `` | | Lenovo ThinkPad X1 Extreme Gen 2 | `` | | [Microsoft Surface Pro 3][] | `` | diff --git a/lenovo/thinkpad/x280/default.nix b/lenovo/thinkpad/x280/default.nix new file mode 100644 index 00000000000..a9423e54732 --- /dev/null +++ b/lenovo/thinkpad/x280/default.nix @@ -0,0 +1,12 @@ +{ config, pkgs, lib, ... }: + +{ + imports = [ + ../. + ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix + ../../../common/pc/laptop/ssd/default.nix + ]; + + services.throttled.enable = lib.mkDefault true; +} diff --git a/release.nix b/release.nix index ecc3ec71724..88abd260d75 100644 --- a/release.nix +++ b/release.nix @@ -45,6 +45,7 @@ in lenovo-thinkpad-x230 = buildProfile ./lenovo/thinkpad/x230; lenovo-thinkpad-x250 = buildProfile ./lenovo/thinkpad/x250; lenovo-thinkpad-x260 = buildProfile ./lenovo/thinkpad/x260; + lenovo-thinkpad-x280 = buildProfile ./lenovo/thinkpad/x280; microsoft-surface-pro-3 = buildProfile ./microsoft/surface-pro/3; From 6081bfd6d5d1a7f918aafb107f8e2b67b743b34a Mon Sep 17 00:00:00 2001 From: "*Kim Zick (rummik)" Date: Thu, 2 Jan 2020 11:35:56 -0500 Subject: [PATCH 229/274] Add Lenovo ThinkPad L13 profile --- lenovo/thinkpad/l13/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 lenovo/thinkpad/l13/default.nix diff --git a/lenovo/thinkpad/l13/default.nix b/lenovo/thinkpad/l13/default.nix new file mode 100644 index 00000000000..3c09f5091ed --- /dev/null +++ b/lenovo/thinkpad/l13/default.nix @@ -0,0 +1,10 @@ +{ nixos, lib, pkgs, config, stdenv, ... }: +{ + imports = [ + ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix + ../. + ]; + + services.throttled.enable = lib.mkDefault true; +} From c30e20594b35d610e1409fe3c60dd1193ad40767 Mon Sep 17 00:00:00 2001 From: *Kim Zick Date: Tue, 7 Jan 2020 10:04:52 -0500 Subject: [PATCH 230/274] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c86792e461e..94ac173f4f8 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ See code for all available configurations. | [Dell XPS 15 9550][] | `` | | [Inverse Path USB armory][] | `` | | Lenovo IdeaPad Z510 | `` | +| Lenovo ThinkPad L13 | `` | | Lenovo ThinkPad P53 | `` | | Lenovo ThinkPad T410 | `` | | Lenovo ThinkPad T420 | `` | From 814bd1a02422e7007fe469442c94f1ec54b065d6 Mon Sep 17 00:00:00 2001 From: Tom Bereknyei Date: Thu, 18 Jul 2019 15:19:31 -0400 Subject: [PATCH 231/274] Initial 15-7590 --- dell/xps/15-7590/README.wiki | 46 ++++++++++++++++++++++++++++++++++++ dell/xps/15-7590/default.nix | 14 +++++++++++ 2 files changed, 60 insertions(+) create mode 100644 dell/xps/15-7590/README.wiki create mode 100644 dell/xps/15-7590/default.nix diff --git a/dell/xps/15-7590/README.wiki b/dell/xps/15-7590/README.wiki new file mode 100644 index 00000000000..b323b317188 --- /dev/null +++ b/dell/xps/15-7590/README.wiki @@ -0,0 +1,46 @@ += Dell XPS 15 7590 = +*Mostly copied from 15-9550 + +== Tested Hardware == + +* CPU: Intel(R) Core(TM) i9-9980HK +* RAM: 32 GB +* HDD: 1 TiB SSD +* Screen: 15" 4k (3840✕2160) +* Input: Touchscreen and trackpad. + +== Firmware Configuration == + +Not much tweaking of NixOS itself was needed. But we currently cannot automate the firmware setup, so this must be done by hand. + +=== Before installation === + +These settings are needed both for booting the final install, and installer itself. Therefore, they must be done first. + +* ''Disable Secure Boot (but keep UEFI Boot).'' Thakfully doing so is as easy as changing any other simple setting. + +* ''Disable Intel hardware RAID and use AHCI instead.'' Intel doesn't seem to provide a working linux driver for this. (If you just have SSD it's pointless and just slows things down needlessly anyways.) + +=== Wifi === +Wifi does not work with kernels older than 5.1 (firmware not present) or newer (https://bbs.archlinux.org/viewtopic.php?id=247705) +``` + # Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.grub = { + device = "nodev"; + efiSupport = true; + efiInstallAsRemovable = true; + }; + boot.loader.efi.canTouchEfiVariables = true; + boot.kernelPackages = pkgs.linuxPackages_5_1; +``` +=== After installation === + +* ''Add systemd-boot to UEFI boot list.'' The (uneditable anyways) settings mapping drive UUIDs to HD* work fine. + +=== Optional === + +* ''Update BIOS.'' According to Reddit, this helps with battery life. + +=== Troubleshooting === + diff --git a/dell/xps/15-7590/default.nix b/dell/xps/15-7590/default.nix new file mode 100644 index 00000000000..a3540e7cf32 --- /dev/null +++ b/dell/xps/15-7590/default.nix @@ -0,0 +1,14 @@ +{ lib, ... }: + +{ + imports = [ + ../../../common/cpu/intel + ../../../common/pc/laptop + ]; + + # TODO: boot loader + boot.loader.systemd-boot.enable = lib.mkDefault true; + boot.kernelPackages = pkgs.linuxPackages_5_1; + boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; + +} From 64afb7c12df56edf5070ddd1e92a21bf5d059fdf Mon Sep 17 00:00:00 2001 From: Tom Bereknyei Date: Sun, 21 Jul 2019 21:49:13 -0400 Subject: [PATCH 232/274] Wifi fixed by removing iwlwifi-cc-a0-48.ucode --- dell/xps/15-7590/README.wiki | 5 ++++- dell/xps/15-7590/default.nix | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/dell/xps/15-7590/README.wiki b/dell/xps/15-7590/README.wiki index b323b317188..b583b19d55d 100644 --- a/dell/xps/15-7590/README.wiki +++ b/dell/xps/15-7590/README.wiki @@ -22,7 +22,10 @@ These settings are needed both for booting the final install, and installer itse * ''Disable Intel hardware RAID and use AHCI instead.'' Intel doesn't seem to provide a working linux driver for this. (If you just have SSD it's pointless and just slows things down needlessly anyways.) === Wifi === -Wifi does not work with kernels older than 5.1 (firmware not present) or newer (https://bbs.archlinux.org/viewtopic.php?id=247705) +~~Wifi does not work with kernels older than 5.1 (firmware not present) or newer~~ (https://bbs.archlinux.org/viewtopic.php?id=247705) + +Update: The 48.ucode causes the Killer wifi card to crash. The iwlfwifi-cc-a0-46.ucode works perfectly. default.nix contains an overlay that removes the offending ucode from the linux-firmware bundle. + ``` # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; diff --git a/dell/xps/15-7590/default.nix b/dell/xps/15-7590/default.nix index a3540e7cf32..4a9030ab30c 100644 --- a/dell/xps/15-7590/default.nix +++ b/dell/xps/15-7590/default.nix @@ -11,4 +11,24 @@ boot.kernelPackages = pkgs.linuxPackages_5_1; boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; + # The 48.ucode causes the Killer wifi card to crash. + # The iwlfwifi-cc-a0-46.ucode works perfectly + nixpkgs.pkgs = import { + config.allowUnfree = true; + overlays = [ + (self: super: { + firmwareLinuxNonfree = super.firmwareLinuxNonfree.overrideAttrs (old: { + src = super.fetchgit{ + url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; + rev = "bf13a71b18af229b4c900b321ef1f8443028ded8"; + sha256 = "1dcaqdqyffxiadx420pg20157wqidz0c0ca5mrgyfxgrbh6a4mdj"; + }; + postInstall = '' + rm $out/lib/firmware/iwlwifi-cc-a0-48.ucode + ''; + outputHash = "0dq48i1cr8f0qx3nyq50l9w9915vhgpwmwiw3b4yhisbc3afyay4"; + }); + }) + ]; + }; } From 53ca456f6013f3c6762943a172ee0d4cc656e26f Mon Sep 17 00:00:00 2001 From: Tom Bereknyei Date: Sat, 17 Aug 2019 02:08:08 -0400 Subject: [PATCH 233/274] Suggested fixes --- dell/xps/15-7590/README.wiki | 3 +++ dell/xps/15-7590/default.nix | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/dell/xps/15-7590/README.wiki b/dell/xps/15-7590/README.wiki index b583b19d55d..7c7458253fa 100644 --- a/dell/xps/15-7590/README.wiki +++ b/dell/xps/15-7590/README.wiki @@ -37,6 +37,9 @@ Update: The 48.ucode causes the Killer wifi card to crash. The iwlfwifi-cc-a0-46 boot.loader.efi.canTouchEfiVariables = true; boot.kernelPackages = pkgs.linuxPackages_5_1; ``` +Disable the `canTouchEfiVariables` after a boot or two to prevent NVRAM wearout. + + === After installation === * ''Add systemd-boot to UEFI boot list.'' The (uneditable anyways) settings mapping drive UUIDs to HD* work fine. diff --git a/dell/xps/15-7590/default.nix b/dell/xps/15-7590/default.nix index 4a9030ab30c..066637361c2 100644 --- a/dell/xps/15-7590/default.nix +++ b/dell/xps/15-7590/default.nix @@ -4,10 +4,11 @@ imports = [ ../../../common/cpu/intel ../../../common/pc/laptop + ../../../common/pc/ssd ]; # TODO: boot loader - boot.loader.systemd-boot.enable = lib.mkDefault true; + #boot.loader.systemd-boot.enable = lib.mkDefault true; boot.kernelPackages = pkgs.linuxPackages_5_1; boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; From f128fbbdd62527781b3761498c55e014d7fc4d51 Mon Sep 17 00:00:00 2001 From: tomberek Date: Sat, 17 Aug 2019 02:04:44 -0400 Subject: [PATCH 234/274] Update dell/xps/15-7590/README.wiki MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Jörg Thalheim --- dell/xps/15-7590/README.wiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dell/xps/15-7590/README.wiki b/dell/xps/15-7590/README.wiki index 7c7458253fa..b55a946ed6e 100644 --- a/dell/xps/15-7590/README.wiki +++ b/dell/xps/15-7590/README.wiki @@ -17,7 +17,7 @@ Not much tweaking of NixOS itself was needed. But we currently cannot automate t These settings are needed both for booting the final install, and installer itself. Therefore, they must be done first. -* ''Disable Secure Boot (but keep UEFI Boot).'' Thakfully doing so is as easy as changing any other simple setting. +* ''Disable Secure Boot (but keep UEFI Boot).'' Thankfully doing so is as easy as changing any other simple setting. * ''Disable Intel hardware RAID and use AHCI instead.'' Intel doesn't seem to provide a working linux driver for this. (If you just have SSD it's pointless and just slows things down needlessly anyways.) From 3f1a5617bf3aca2b2c4e61af5e8ad644de4cf4e7 Mon Sep 17 00:00:00 2001 From: Tom Bereknyei Date: Sat, 1 Feb 2020 20:43:01 -0500 Subject: [PATCH 235/274] Make note about EFI and remove 5.1 kernel hardcode --- dell/xps/15-7590/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/dell/xps/15-7590/default.nix b/dell/xps/15-7590/default.nix index 066637361c2..aa3dd7f3c99 100644 --- a/dell/xps/15-7590/default.nix +++ b/dell/xps/15-7590/default.nix @@ -7,10 +7,8 @@ ../../../common/pc/ssd ]; - # TODO: boot loader - #boot.loader.systemd-boot.enable = lib.mkDefault true; - boot.kernelPackages = pkgs.linuxPackages_5_1; - boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; + # Set to true for just the first run, then disable it. + # boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; # The 48.ucode causes the Killer wifi card to crash. # The iwlfwifi-cc-a0-46.ucode works perfectly From 22a16c801ccc908e6d4c8893e0bdf7e38e623e89 Mon Sep 17 00:00:00 2001 From: Tom Bereknyei Date: Sat, 1 Feb 2020 21:11:31 -0500 Subject: [PATCH 236/274] Apply suggestions from 9999years --- dell/xps/15-7590/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dell/xps/15-7590/default.nix b/dell/xps/15-7590/default.nix index aa3dd7f3c99..cad9ba68985 100644 --- a/dell/xps/15-7590/default.nix +++ b/dell/xps/15-7590/default.nix @@ -10,6 +10,12 @@ # Set to true for just the first run, then disable it. # boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; + # Earlier font-size setup + console.earlySetup = true; + + # Prevent small EFI partiion from filling up + boot.loader.grub.configurationLimit = 10; + # The 48.ucode causes the Killer wifi card to crash. # The iwlfwifi-cc-a0-46.ucode works perfectly nixpkgs.pkgs = import { From 5758237cbc389321b8078a4901891a5b1c1ea460 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 4 Feb 2020 11:53:51 +0000 Subject: [PATCH 237/274] README.md: link to dell xps 15-7590 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c86792e461e..adee2a27c20 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ See code for all available configurations. | [Dell XPS 13 9360][] | `` | | [Dell XPS 13 9370][] | `` | | [Dell XPS 13 9380][] | `` | +| [Dell XPS 15 7590][] | `` | | [Dell XPS 15 9550][] | `` | | [Inverse Path USB armory][] | `` | | Lenovo IdeaPad Z510 | `` | From 77983d16f6ddcbdaf65d7656e82d39669095be6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 4 Feb 2020 12:00:38 +0000 Subject: [PATCH 238/274] xps-15-7590: convert wiki to markdown. This allows it to symlink it in the README --- dell/xps/15-7590/{README.wiki => README.md} | 39 ++++++++++----------- 1 file changed, 18 insertions(+), 21 deletions(-) rename dell/xps/15-7590/{README.wiki => README.md} (59%) diff --git a/dell/xps/15-7590/README.wiki b/dell/xps/15-7590/README.md similarity index 59% rename from dell/xps/15-7590/README.wiki rename to dell/xps/15-7590/README.md index b55a946ed6e..9c41d94d200 100644 --- a/dell/xps/15-7590/README.wiki +++ b/dell/xps/15-7590/README.md @@ -1,28 +1,28 @@ -= Dell XPS 15 7590 = -*Mostly copied from 15-9550 +# Dell XPS 15 7590 +- Mostly copied from 15-9550 -== Tested Hardware == +## Tested Hardware -* CPU: Intel(R) Core(TM) i9-9980HK -* RAM: 32 GB -* HDD: 1 TiB SSD -* Screen: 15" 4k (3840✕2160) -* Input: Touchscreen and trackpad. +- CPU: Intel(R) Core(TM) i9-9980HK +- RAM: 32 GB +- HDD: 1 TiB SSD +- Screen: 15" 4k (3840✕2160) +- Input: Touchscreen and trackpad. -== Firmware Configuration == +## Firmware Configuration Not much tweaking of NixOS itself was needed. But we currently cannot automate the firmware setup, so this must be done by hand. -=== Before installation === +### Before installation These settings are needed both for booting the final install, and installer itself. Therefore, they must be done first. -* ''Disable Secure Boot (but keep UEFI Boot).'' Thankfully doing so is as easy as changing any other simple setting. +- **Disable Secure Boot (but keep UEFI Boot).** Thankfully doing so is as easy as changing any other simple setting. -* ''Disable Intel hardware RAID and use AHCI instead.'' Intel doesn't seem to provide a working linux driver for this. (If you just have SSD it's pointless and just slows things down needlessly anyways.) +- **Disable Intel hardware RAID and use AHCI instead.** Intel doesn't seem to provide a working linux driver for this. (If you just have SSD it's pointless and just slows things down needlessly anyways.) -=== Wifi === -~~Wifi does not work with kernels older than 5.1 (firmware not present) or newer~~ (https://bbs.archlinux.org/viewtopic.php?id=247705) +### Wifi +**Wifi does not work with kernels older than 5.1 (firmware not present) or newer** (https://bbs.archlinux.org/viewtopic.php?id=247705) Update: The 48.ucode causes the Killer wifi card to crash. The iwlfwifi-cc-a0-46.ucode works perfectly. default.nix contains an overlay that removes the offending ucode from the linux-firmware bundle. @@ -40,13 +40,10 @@ Update: The 48.ucode causes the Killer wifi card to crash. The iwlfwifi-cc-a0-46 Disable the `canTouchEfiVariables` after a boot or two to prevent NVRAM wearout. -=== After installation === +### After installation -* ''Add systemd-boot to UEFI boot list.'' The (uneditable anyways) settings mapping drive UUIDs to HD* work fine. +- **Add systemd-boot to UEFI boot list.** The (uneditable anyways) settings mapping drive UUIDs to HD* work fine. -=== Optional === - -* ''Update BIOS.'' According to Reddit, this helps with battery life. - -=== Troubleshooting === +### Optional +- **Update BIOS.** According to Reddit, this helps with battery life. \ No newline at end of file From 4e19a42bd2349b4386357db02c27fbf41413969e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 4 Feb 2020 12:03:13 +0000 Subject: [PATCH 239/274] dell-xps-15-7590: fix README link --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index adee2a27c20..23199abe6b8 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,7 @@ See code for all available configurations. [Dell XPS 13 9360]: dell/xps/13-9360 [Dell XPS 13 9370]: dell/xps/13-9370 [Dell XPS 13 9380]: dell/xps/13-9380 +[Dell XPS 15 7590]: dell/xps/15-9550 [Dell XPS 15 9550]: dell/xps/15-9550 [Inverse Path USB armory]: inversepath/usbarmory [Lenovo ThinkPad X1 (6th Gen)]: lenovo/thinkpad/x1/6th-gen From 2ab4e61b32bb70533ff03a86d3e2b3896e918fe0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 4 Feb 2020 12:04:46 +0000 Subject: [PATCH 240/274] Revert "xps-15-7590: convert wiki to markdown." This reverts commit 77983d16f6ddcbdaf65d7656e82d39669095be6f. apparently github can link to wiki text fine. --- README.md | 2 +- dell/xps/15-7590/{README.md => README.wiki} | 39 +++++++++++---------- 2 files changed, 22 insertions(+), 19 deletions(-) rename dell/xps/15-7590/{README.md => README.wiki} (59%) diff --git a/README.md b/README.md index 23199abe6b8..b7eeae08063 100644 --- a/README.md +++ b/README.md @@ -79,7 +79,7 @@ See code for all available configurations. [Dell XPS 13 9360]: dell/xps/13-9360 [Dell XPS 13 9370]: dell/xps/13-9370 [Dell XPS 13 9380]: dell/xps/13-9380 -[Dell XPS 15 7590]: dell/xps/15-9550 +[Dell XPS 15 7590]: dell/xps/15-7590 [Dell XPS 15 9550]: dell/xps/15-9550 [Inverse Path USB armory]: inversepath/usbarmory [Lenovo ThinkPad X1 (6th Gen)]: lenovo/thinkpad/x1/6th-gen diff --git a/dell/xps/15-7590/README.md b/dell/xps/15-7590/README.wiki similarity index 59% rename from dell/xps/15-7590/README.md rename to dell/xps/15-7590/README.wiki index 9c41d94d200..b55a946ed6e 100644 --- a/dell/xps/15-7590/README.md +++ b/dell/xps/15-7590/README.wiki @@ -1,28 +1,28 @@ -# Dell XPS 15 7590 -- Mostly copied from 15-9550 += Dell XPS 15 7590 = +*Mostly copied from 15-9550 -## Tested Hardware +== Tested Hardware == -- CPU: Intel(R) Core(TM) i9-9980HK -- RAM: 32 GB -- HDD: 1 TiB SSD -- Screen: 15" 4k (3840✕2160) -- Input: Touchscreen and trackpad. +* CPU: Intel(R) Core(TM) i9-9980HK +* RAM: 32 GB +* HDD: 1 TiB SSD +* Screen: 15" 4k (3840✕2160) +* Input: Touchscreen and trackpad. -## Firmware Configuration +== Firmware Configuration == Not much tweaking of NixOS itself was needed. But we currently cannot automate the firmware setup, so this must be done by hand. -### Before installation +=== Before installation === These settings are needed both for booting the final install, and installer itself. Therefore, they must be done first. -- **Disable Secure Boot (but keep UEFI Boot).** Thankfully doing so is as easy as changing any other simple setting. +* ''Disable Secure Boot (but keep UEFI Boot).'' Thankfully doing so is as easy as changing any other simple setting. -- **Disable Intel hardware RAID and use AHCI instead.** Intel doesn't seem to provide a working linux driver for this. (If you just have SSD it's pointless and just slows things down needlessly anyways.) +* ''Disable Intel hardware RAID and use AHCI instead.'' Intel doesn't seem to provide a working linux driver for this. (If you just have SSD it's pointless and just slows things down needlessly anyways.) -### Wifi -**Wifi does not work with kernels older than 5.1 (firmware not present) or newer** (https://bbs.archlinux.org/viewtopic.php?id=247705) +=== Wifi === +~~Wifi does not work with kernels older than 5.1 (firmware not present) or newer~~ (https://bbs.archlinux.org/viewtopic.php?id=247705) Update: The 48.ucode causes the Killer wifi card to crash. The iwlfwifi-cc-a0-46.ucode works perfectly. default.nix contains an overlay that removes the offending ucode from the linux-firmware bundle. @@ -40,10 +40,13 @@ Update: The 48.ucode causes the Killer wifi card to crash. The iwlfwifi-cc-a0-46 Disable the `canTouchEfiVariables` after a boot or two to prevent NVRAM wearout. -### After installation +=== After installation === -- **Add systemd-boot to UEFI boot list.** The (uneditable anyways) settings mapping drive UUIDs to HD* work fine. +* ''Add systemd-boot to UEFI boot list.'' The (uneditable anyways) settings mapping drive UUIDs to HD* work fine. -### Optional +=== Optional === + +* ''Update BIOS.'' According to Reddit, this helps with battery life. + +=== Troubleshooting === -- **Update BIOS.** According to Reddit, this helps with battery life. \ No newline at end of file From 521f68099984977d749d52b9a954da15732b095f Mon Sep 17 00:00:00 2001 From: Rebecca Turner Date: Fri, 7 Feb 2020 09:55:01 -0500 Subject: [PATCH 241/274] Add Dell XPS 15-7590 suggested options These suggested options are taken from my configuration but aren't quite universal enough to be enabled by default. --- dell/xps/15-7590/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dell/xps/15-7590/default.nix b/dell/xps/15-7590/default.nix index cad9ba68985..221070833d7 100644 --- a/dell/xps/15-7590/default.nix +++ b/dell/xps/15-7590/default.nix @@ -10,6 +10,13 @@ # Set to true for just the first run, then disable it. # boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; + # Load GPU drivers. + # hardware.bumblebee.enable = lib.mkDefault true; + + # High DPI for X users. 175 "looks reasonable" but I didn't do the actual DPI + # calculation. + # services.xserver.dpi = lib.mkDefault 175; + # Earlier font-size setup console.earlySetup = true; From 6587634ad83156202c4d8911e6bc4b8e28047157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 9 Feb 2020 08:40:38 +0000 Subject: [PATCH 242/274] xps/15-7590: don't enable unfree firmware by default Also don't set nixpkgs.pkgs. Instead just add an overlay. --- dell/xps/15-7590/README.wiki | 4 +++- dell/xps/15-7590/default.nix | 33 +++++++++++++++------------------ 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/dell/xps/15-7590/README.wiki b/dell/xps/15-7590/README.wiki index b55a946ed6e..052df2911f1 100644 --- a/dell/xps/15-7590/README.wiki +++ b/dell/xps/15-7590/README.wiki @@ -24,7 +24,9 @@ These settings are needed both for booting the final install, and installer itse === Wifi === ~~Wifi does not work with kernels older than 5.1 (firmware not present) or newer~~ (https://bbs.archlinux.org/viewtopic.php?id=247705) -Update: The 48.ucode causes the Killer wifi card to crash. The iwlfwifi-cc-a0-46.ucode works perfectly. default.nix contains an overlay that removes the offending ucode from the linux-firmware bundle. +Update: The 48.ucode causes the Killer wifi card to crash. The iwlfwifi-cc-a0-46.ucode works perfectly. +default.nix contains an overlay that removes the offending ucode from the linux-firmware bundle. +To use it one also needs to enable unfree firmware in their own configuration (hardware.enableRedistributableFirmware = true;) ``` # Use the systemd-boot EFI boot loader. diff --git a/dell/xps/15-7590/default.nix b/dell/xps/15-7590/default.nix index cad9ba68985..b7c5b66410b 100644 --- a/dell/xps/15-7590/default.nix +++ b/dell/xps/15-7590/default.nix @@ -18,22 +18,19 @@ # The 48.ucode causes the Killer wifi card to crash. # The iwlfwifi-cc-a0-46.ucode works perfectly - nixpkgs.pkgs = import { - config.allowUnfree = true; - overlays = [ - (self: super: { - firmwareLinuxNonfree = super.firmwareLinuxNonfree.overrideAttrs (old: { - src = super.fetchgit{ - url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; - rev = "bf13a71b18af229b4c900b321ef1f8443028ded8"; - sha256 = "1dcaqdqyffxiadx420pg20157wqidz0c0ca5mrgyfxgrbh6a4mdj"; - }; - postInstall = '' - rm $out/lib/firmware/iwlwifi-cc-a0-48.ucode - ''; - outputHash = "0dq48i1cr8f0qx3nyq50l9w9915vhgpwmwiw3b4yhisbc3afyay4"; - }); - }) - ]; - }; + nixpkgs.overlays = [ + (self: super: { + firmwareLinuxNonfree = super.firmwareLinuxNonfree.overrideAttrs (old: { + src = super.fetchgit{ + url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; + rev = "bf13a71b18af229b4c900b321ef1f8443028ded8"; + sha256 = "1dcaqdqyffxiadx420pg20157wqidz0c0ca5mrgyfxgrbh6a4mdj"; + }; + postInstall = '' + rm $out/lib/firmware/iwlwifi-cc-a0-48.ucode + ''; + outputHash = "0dq48i1cr8f0qx3nyq50l9w9915vhgpwmwiw3b4yhisbc3afyay4"; + }); + }) + ]; } From d75b12a962d403e053fc3e547a3f1f2003ea4387 Mon Sep 17 00:00:00 2001 From: Luis Hebendanz Date: Tue, 11 Feb 2020 19:42:02 +0100 Subject: [PATCH 243/274] Added profile for issues 69289 --- lenovo/thinkpad/e495/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 lenovo/thinkpad/e495/default.nix diff --git a/lenovo/thinkpad/e495/default.nix b/lenovo/thinkpad/e495/default.nix new file mode 100644 index 00000000000..ac0b9492bb1 --- /dev/null +++ b/lenovo/thinkpad/e495/default.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../. + ../../../common/cpu/amd + ]; + + boot.kernelPackages = pkgs.linuxPackages_5_2; +} From f6e2381344544751ce3eda7f95c71a190ee6a639 Mon Sep 17 00:00:00 2001 From: Luis Hebendanz Date: Wed, 12 Feb 2020 10:52:49 +0100 Subject: [PATCH 244/274] Update lenovo/thinkpad/e495/default.nix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Jörg Thalheim --- lenovo/thinkpad/e495/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lenovo/thinkpad/e495/default.nix b/lenovo/thinkpad/e495/default.nix index ac0b9492bb1..5c78d99374d 100644 --- a/lenovo/thinkpad/e495/default.nix +++ b/lenovo/thinkpad/e495/default.nix @@ -6,5 +6,6 @@ ../../../common/cpu/amd ]; - boot.kernelPackages = pkgs.linuxPackages_5_2; + # see https://github.com/NixOS/nixpkgs/issues/69289 + boot.kernelPackages = lib.mkIf (lib.versionOlder linux.version "5.2") pkgs.linuxPackages_latest; } From 6c7550d0b40932c9263960ff07d60318bbd59a65 Mon Sep 17 00:00:00 2001 From: Luis Hebendanz Date: Wed, 12 Feb 2020 10:56:49 +0100 Subject: [PATCH 245/274] Added entry Thnikpad E495 to README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7d79785fc42..68ba99aac4e 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ See code for all available configurations. | [Dell XPS 15 9550][] | `` | | [Inverse Path USB armory][] | `` | | Lenovo IdeaPad Z510 | `` | +| Lenovo ThinkPad E495 | `` | | Lenovo ThinkPad L13 | `` | | Lenovo ThinkPad P53 | `` | | Lenovo ThinkPad T410 | `` | From f5a4954ca3f062dca1c36a2ccd6354b8eaf671aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 12 Feb 2020 10:57:21 +0000 Subject: [PATCH 246/274] thinkpad/e495: fix evaluation fixes #145 --- lenovo/thinkpad/e495/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lenovo/thinkpad/e495/default.nix b/lenovo/thinkpad/e495/default.nix index 5c78d99374d..51ddb5cfd01 100644 --- a/lenovo/thinkpad/e495/default.nix +++ b/lenovo/thinkpad/e495/default.nix @@ -7,5 +7,5 @@ ]; # see https://github.com/NixOS/nixpkgs/issues/69289 - boot.kernelPackages = lib.mkIf (lib.versionOlder linux.version "5.2") pkgs.linuxPackages_latest; + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.2") pkgs.linuxPackages_latest; } From 74efa57ee46ece7ccd95fc133c08badb798f0552 Mon Sep 17 00:00:00 2001 From: Rebecca Turner Date: Tue, 18 Feb 2020 06:13:15 -0500 Subject: [PATCH 247/274] Support NixOS 19.09 for (#141) Virtual console options were renamed in 20.03; use `console.earlySetup` or `boot.earlyVconsoleSetup` depending on OS version. https://github.com/NixOS/nixos-hardware/pull/114#discussion_r374953204 --- dell/xps/15-7590/default.nix | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/dell/xps/15-7590/default.nix b/dell/xps/15-7590/default.nix index 2fcaf8b7a23..eeb69e204ee 100644 --- a/dell/xps/15-7590/default.nix +++ b/dell/xps/15-7590/default.nix @@ -1,6 +1,13 @@ { lib, ... }: - -{ +# Earlier font-size setup. +# Virtual console options were renamed in 20.03; use the right option depending +# on the OS version; keep this here at least until 20.03 is stable. +lib.recursiveUpdate +(if lib.versionAtLeast (lib.versions.majorMinor lib.version) "20.03" then { + console.earlySetup = true; +} else { + boot.earlyVconsoleSetup = true; +}) { imports = [ ../../../common/cpu/intel ../../../common/pc/laptop @@ -28,8 +35,9 @@ nixpkgs.overlays = [ (self: super: { firmwareLinuxNonfree = super.firmwareLinuxNonfree.overrideAttrs (old: { - src = super.fetchgit{ - url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; + src = super.fetchgit { + url = + "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; rev = "bf13a71b18af229b4c900b321ef1f8443028ded8"; sha256 = "1dcaqdqyffxiadx420pg20157wqidz0c0ca5mrgyfxgrbh6a4mdj"; }; From 8b50556e2da89adff2491759c8f5d28af5dd580c Mon Sep 17 00:00:00 2001 From: Daniel Rafaj Date: Wed, 5 Feb 2020 11:40:43 +0100 Subject: [PATCH 248/274] Add xps 9560 with its own quirks, I added versions: 1 default one, with nvidia working and intel working, needs optirun to run application with nvidia 2 intel only, I am using this as my daily driver for long time, only intel is turned on and nvidia is turned off and doesn't drain any power. 3 nvidia only, intel is dissabled and nvidia is picked as default gpu, no need to fiddle with optirun etc, good for gpu heavy application. All these settings needs to reboot to work properly --- dell/xps/15-9560/README.wiki | 54 +++++++++++++++++++++++++++++ dell/xps/15-9560/default.nix | 24 +++++++++++++ dell/xps/15-9560/intel/default.nix | 18 ++++++++++ dell/xps/15-9560/nvidia/default.nix | 20 +++++++++++ dell/xps/15-9560/xps-common.nix | 12 +++++++ 5 files changed, 128 insertions(+) create mode 100644 dell/xps/15-9560/README.wiki create mode 100644 dell/xps/15-9560/default.nix create mode 100644 dell/xps/15-9560/intel/default.nix create mode 100644 dell/xps/15-9560/nvidia/default.nix create mode 100644 dell/xps/15-9560/xps-common.nix diff --git a/dell/xps/15-9560/README.wiki b/dell/xps/15-9560/README.wiki new file mode 100644 index 00000000000..faf4ced8bec --- /dev/null +++ b/dell/xps/15-9560/README.wiki @@ -0,0 +1,54 @@ += Dell XPS 15 9560 = + +== Tested Hardware == + +* CPU: Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz +* RAM: 16 GB +* HDD: 512 GiB SSD +* Screen: 15.6" FHD(1920x1080) InfinityEdge +* Graphics: NVIDIA Corporation GTX1050 4GB GDDR5, with Intel Graphics too. +* Input: trackpad + + +== Firmware Configuration == + +Not much tweaking of NixOS itself was needed. But we currently cannot automate the firmware setup, so this must be done by hand. + +=== Before installation === + +These settings are needed both for booting the final install, and installer itself. Therefore, they must be done first. + +* ''Disable Secure Boot (but keep UEFI Boot).'' Thakfully doing so is as easy as changing any other simple setting. + +* ''Disable Intel hardware RAID and use AHCI instead.'' Intel doesn't seem to provide a working linux driver for this. (If you just have SSD it's pointless and just slows things down needlessly anyways.) + + +=== After installation === + +* ''Add systemd-boot to UEFI boot list.'' The (uneditable anyways) settings mapping drive UUIDs to HD* work fine. + +=== Optional === + +* ''Disable C-States.'' This is a processor idling thing. It seems to cause random crashes (Blank screen, no normal panic debug dump). Unfortunately, without it, the computer cannot be suspended. On the other hand, it doesn't seem to affect acpi's estimation of battery life when the computer is running with minimal load, but I haven't tested battery life in practice. I list it as optional as there's a tradeoff, and the crashes are rare enough one can probably get through installation just fine. + +* ''Update BIOS.'' According to Reddit, this helps with battery life. + +* ''Update Intel's Thunderbolt firmware.'' Without this, the Thunderbolt port will only work as power source, and not transfer data. + +=== Troubleshooting === + +==== rcu_sched freezing problems ==== + +After a recent update my machine became unstable. X couldn't start and even running `lspci` would lock the machine. I'm not sure what the root cause was, but I found the fix here: https://wiki.archlinux.org/index.php/Dell_XPS_15_9560#Troubleshooting + +TL;DR I added this line: + I am leaving these params here, I haven't test these so use on your own risk. + I am using different method to disable nvidia. + ("acpi_rev_override=1" param is save and I have been using it for a while now, + no crashes.) + +``` +boot.kernelParams = [ "acpi_rev_override=1" "pcie_aspm=off" "nouveau.modeset=0" ]; +``` + +Some more detail about the problem can be found here: https://bbs.archlinux.org/viewtopic.php?id=223056 diff --git a/dell/xps/15-9560/default.nix b/dell/xps/15-9560/default.nix new file mode 100644 index 00000000000..e7ec6c29d53 --- /dev/null +++ b/dell/xps/15-9560/default.nix @@ -0,0 +1,24 @@ +{ lib, pkgs, ... }: + +{ + imports = [ + ../../../common/cpu/intel + ../../../common/pc/laptop + ./xps-common.nix + ]; + + # This configuration makes intel default and optionaly applications could run nvidia with optirun. + # To Optimize for your use case import intel or nvidia only configuration instead + # xps-9560/intel + # or + # xps-9560/nvidia + + + ##### bumblebee working, needs reboot to take affect and to use it run: optirun "" + services.xserver.videoDrivers = lib.mkDefault [ "intel" "nvidia" ]; + boot.blacklistedKernelModules = lib.mkDefault [ "nouveau" "bbswitch" ]; + boot.extraModulePackages = lib.mkDefault [ pkgs.linuxPackages.nvidia_x11 ]; + hardware.bumblebee.enable = lib.mkDefault true; + hardware.bumblebee.pmMethod = lib.mkDefault "none"; + +} diff --git a/dell/xps/15-9560/intel/default.nix b/dell/xps/15-9560/intel/default.nix new file mode 100644 index 00000000000..f20379786dd --- /dev/null +++ b/dell/xps/15-9560/intel/default.nix @@ -0,0 +1,18 @@ +{ lib, pkgs, ... }: + +{ + imports = [ + ../../../../common/cpu/intel + ../../../../common/pc/laptop + ../xps-common.nix + ]; + + + # This runs only Intel and nvidia does not drain power. + + ##### disable nvidia, very nice battery life. + hardware.nvidiaOptimus.disable = lib.mkDefault true; + boot.blacklistedKernelModules = lib.mkDefault [ "nouveau" "nvidia" ]; + services.xserver.videoDrivers = lib.mkDefault [ "intel" ]; + +} diff --git a/dell/xps/15-9560/nvidia/default.nix b/dell/xps/15-9560/nvidia/default.nix new file mode 100644 index 00000000000..2cd5d1b158d --- /dev/null +++ b/dell/xps/15-9560/nvidia/default.nix @@ -0,0 +1,20 @@ +{ lib, pkgs, ... }: + +{ + imports = [ + ../../../../common/cpu/intel + ../../../../common/pc/laptop + ../xps-common.nix + ]; + + + # This runs only nvidia, great for games or heavy use of render applications + + ##### disable intel, run nvidia only and as default + services.xserver.videoDrivers = lib.mkDefault ["nvidia"]; + hardware.nvidia.modesetting.enable = lib.mkDefault true; + hardware.nvidia.optimus_prime.enable = lib.mkDefault true; + hardware.nvidia.optimus_prime.nvidiaBusId = lib.mkDefault "PCI:1:0:0"; + hardware.nvidia.optimus_prime.intelBusId = lib.mkDefault "PCI:0:2:0"; + +} diff --git a/dell/xps/15-9560/xps-common.nix b/dell/xps/15-9560/xps-common.nix new file mode 100644 index 00000000000..62aae078545 --- /dev/null +++ b/dell/xps/15-9560/xps-common.nix @@ -0,0 +1,12 @@ +{ lib, ... }: + +{ + + # Boot loader + boot.loader.systemd-boot.enable = lib.mkDefault true; + boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; + boot.kernelParams = lib.mkDefault [ "acpi_rev_override" ]; + + # This will save you money and possibly your life! + services.thermald.enable = lib.mkDefault true; +} From 26454a206d67fa02f2656fe6aaca053f31983600 Mon Sep 17 00:00:00 2001 From: Daniel Rafaj Date: Wed, 5 Feb 2020 11:47:52 +0100 Subject: [PATCH 249/274] add xps 9560 root readme to be able to easily find --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 68ba99aac4e..c3cd6724cf7 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,9 @@ See code for all available configurations. | [Dell XPS 13 9380][] | `` | | [Dell XPS 15 7590][] | `` | | [Dell XPS 15 9550][] | `` | +| [Dell XPS 15 9560][] | `` | +| [Dell XPS 15 9560, intel only][] | `` | +| [Dell XPS 15 9560, nvidia only][] | `` | | [Inverse Path USB armory][] | `` | | Lenovo IdeaPad Z510 | `` | | Lenovo ThinkPad E495 | `` | @@ -83,6 +86,9 @@ See code for all available configurations. [Dell XPS 13 9380]: dell/xps/13-9380 [Dell XPS 15 7590]: dell/xps/15-7590 [Dell XPS 15 9550]: dell/xps/15-9550 +[Dell XPS 15 9560]: dell/xps/15-9560 +[Dell XPS 15 9560, intel only]: dell/xps/15-9560/intel +[Dell XPS 15 9560, nvidia only]: dell/xps/15-9560/nvidia [Inverse Path USB armory]: inversepath/usbarmory [Lenovo ThinkPad X1 (6th Gen)]: lenovo/thinkpad/x1/6th-gen [Lenovo ThinkPad X260]: lenovo/thinkpad/x260 From 9c952961f1f1a643b8b8e5d4efab6717afec1bbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Wed, 19 Feb 2020 11:01:02 +0000 Subject: [PATCH 250/274] Add parallel test runner The new test runner will evaluate all test profiles from the README.md in parallel in separate nix-build processes. Since we do not load all processes into one process, this also helps saving memory. --- .travis.yml | 3 +- README.md | 6 +++ raspberry-pi/2/default.nix | 2 +- release.nix | 55 -------------------- tests/build-profile.nix | 19 +++++++ tests/run.py | 102 +++++++++++++++++++++++++++++++++++++ 6 files changed, 130 insertions(+), 57 deletions(-) delete mode 100644 release.nix create mode 100644 tests/build-profile.nix create mode 100755 tests/run.py diff --git a/.travis.yml b/.travis.yml index 30ff7de840d..91cf21da023 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,2 +1,3 @@ language: nix -script: nix-build release.nix --dry-run --show-trace +script: + ./tests/run.py diff --git a/README.md b/README.md index c3cd6724cf7..ca011c4890c 100644 --- a/README.md +++ b/README.md @@ -97,3 +97,9 @@ See code for all available configurations. [Samsung Series 9 NP900X3C]: samsung/np900x3c [Purism Librem 13v3]: purism/librem/13v3 [Toshiba Chromebook 2 `swanky`]: toshiba/swanky + +## How to contribute a new device profile + +1. Add your device profile expression in the appropriate directory +2. Link it in the table in README.md +3. Run ./tests/run.py to test it. The test script script will parse all the profiles from the README.md diff --git a/raspberry-pi/2/default.nix b/raspberry-pi/2/default.nix index bc9ca2ab0c2..d10bbd2424d 100644 --- a/raspberry-pi/2/default.nix +++ b/raspberry-pi/2/default.nix @@ -4,7 +4,7 @@ boot = { consoleLogLevel = lib.mkDefault 7; extraTTYs = [ "ttyAMA0" ]; - kernelPackages = lib.mkDefault pkgs.linuxPackages_rpi; + kernelPackages = lib.mkDefault pkgs.linuxPackages_rpi2; kernelParams = [ "dwc_otg.lpm_enable=0" "console=ttyAMA0,115200" diff --git a/release.nix b/release.nix deleted file mode 100644 index 88abd260d75..00000000000 --- a/release.nix +++ /dev/null @@ -1,55 +0,0 @@ -{ ... }: - -let - shim = { - boot.loader.systemd-boot.enable = true; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/00000000-0000-0000-0000-000000000000"; - fsType = "btrfs"; - }; - - nixpkgs.config = { - allowBroken = true; - allowUnfree = true; - }; - }; - - buildProfile = profile: (import { - configuration.imports = [ profile shim ]; - }).system; -in - -{ - acer-aspire-4810t = buildProfile ./acer/aspire/4810t; - - airis-n990 = buildProfile ./airis/n990; - - apple-macbook-air-4 = buildProfile ./apple/macbook-air/4; - apple-macbook-air-6 = buildProfile ./apple/macbook-air/6; - apple-macbook-pro-10-1 = buildProfile ./apple/macbook-pro/10-1; - apple-macbook-pro-11-5 = buildProfile ./apple/macbook-pro/11-5; - apple-macbook-pro-12-1 = buildProfile ./apple/macbook-pro/12-1; - - dell-e7240 = buildProfile ./dell/e7240; - dell-xps-13-9380 = buildProfile ./dell/xps/13-9380; - dell-xps-13-9370 = buildProfile ./dell/xps/13-9370; - dell-xps-15-9550 = buildProfile ./dell/xps/15-9550; - - lenovo-thinkpad-t410 = buildProfile ./lenovo/thinkpad/t410; - lenovo-thinkpad-t440p = buildProfile ./lenovo/thinkpad/t440p; - lenovo-thinkpad-t450s = buildProfile ./lenovo/thinkpad/t450s; - lenovo-thinkpad-t460s = buildProfile ./lenovo/thinkpad/t460s; - lenovo-thinkpad-x140e = buildProfile ./lenovo/thinkpad/x140e; - lenovo-thinkpad-x220 = buildProfile ./lenovo/thinkpad/x220; - lenovo-thinkpad-x230 = buildProfile ./lenovo/thinkpad/x230; - lenovo-thinkpad-x250 = buildProfile ./lenovo/thinkpad/x250; - lenovo-thinkpad-x260 = buildProfile ./lenovo/thinkpad/x260; - lenovo-thinkpad-x280 = buildProfile ./lenovo/thinkpad/x280; - - microsoft-surface-pro-3 = buildProfile ./microsoft/surface-pro/3; - - pcengines-apu = buildProfile ./pcengines/apu; - - toshiba-swanky = buildProfile ./toshiba/swanky; -} diff --git a/tests/build-profile.nix b/tests/build-profile.nix new file mode 100644 index 00000000000..c4509d36ad3 --- /dev/null +++ b/tests/build-profile.nix @@ -0,0 +1,19 @@ +{ profile }: + +let + shim = { + boot.loader.systemd-boot.enable = true; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/00000000-0000-0000-0000-000000000000"; + fsType = "btrfs"; + }; + + nixpkgs.config = { + allowBroken = true; + allowUnfree = true; + }; + }; +in (import { + configuration.imports = [ profile shim ]; +}).system diff --git a/tests/run.py b/tests/run.py new file mode 100755 index 00000000000..653337d1919 --- /dev/null +++ b/tests/run.py @@ -0,0 +1,102 @@ +#!/usr/bin/env nix-shell +#!nix-shell -p nix -p python3 -i python + +import argparse +import multiprocessing +import re +import subprocess +import sys +from pathlib import Path +from typing import List, Tuple + +TEST_ROOT = Path(__file__).resolve().parent +ROOT = TEST_ROOT.parent + +GREEN = "\033[92m" +RED = "\033[91m" +RESET = "\033[0m" + + +def parse_readme() -> List[str]: + profiles = set() + with open(ROOT.joinpath("README.md")) as f: + for line in f: + results = re.findall(r"]+>", line) + profiles.update(results) + return list(profiles) + + +def build_profile(profile: str) -> Tuple[str, subprocess.CompletedProcess]: + # Hard-code this for now until we have enough other architectures to care about this. + system = "x86_64-linux" + if "raspberry-pi/2" in profile: + system = "armv7l-linux" + + cmd = [ + "nix-build", + "-I", + f"nixos-hardware={ROOT}", + "--dry-run", + "--show-trace", + "build-profile.nix", + "--system", + system, + "--arg", + "profile", + profile, + ] + res = subprocess.run( + cmd, cwd=TEST_ROOT, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, + ) + return (profile, res) + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser(description="Run hardware tests") + parser.add_argument( + "--jobs", + type=int, + default=multiprocessing.cpu_count(), + help="Number of parallel evaluations." + "If set to 1 it disable multi processing (suitable for debugging)", + ) + parser.add_argument("profiles", nargs="*") + return parser.parse_args() + + +def main() -> None: + args = parse_args() + if len(args.profiles) == 0: + profiles = parse_readme() + else: + profiles = args.profiles + + failed_profiles = [] + + def eval_finished(args: Tuple[str, subprocess.CompletedProcess]) -> None: + profile, res = args + if res.returncode == 0: + print(f"{GREEN}OK {profile}{RESET}") + else: + print(f"{RED}FAIL {profile}:{RESET}", file=sys.stderr) + if res.stdout != "": + print(f"{RED}{res.stdout.rstrip()}{RESET}", file=sys.stderr) + print(f"{RED}{res.stderr.rstrip()}{RESET}", file=sys.stderr) + failed_profiles.append(profile) + + if len(profiles) == 0 or args.jobs == 1: + for profile in profiles: + eval_finished(build_profile(profile)) + else: + pool = multiprocessing.Pool(processes=args.jobs) + for r in pool.imap(build_profile, profiles): + eval_finished(r) + if len(failed_profiles) > 0: + print(f"\n{RED}The following {len(failed_profiles)} test(s) failed:{RESET}") + for profile in failed_profiles: + print(f"{sys.argv[0]} '{profile}'") + sys.exit(1) + + +if __name__ == "__main__": + main() From 62a1812f3c20b7119013650f926806fecd956574 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 3 Mar 2020 17:31:54 +0000 Subject: [PATCH 251/274] Update README.wiki --- dell/xps/13-7390/README.wiki | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dell/xps/13-7390/README.wiki b/dell/xps/13-7390/README.wiki index c5eac594576..48858aab6c7 100644 --- a/dell/xps/13-7390/README.wiki +++ b/dell/xps/13-7390/README.wiki @@ -1,5 +1,9 @@ = Dell XPS 13 7390 = +== Installation == +You need to disable AHCI as described here. +https://wiki.ubuntu.com/Dell/XPS/XPS-13-7390-2-in-1 + == Firmware upgrades == Note that this device is supported by [https://fwupd.org/ fwupd]. From 3d983701f9f6f247d272adb46d834bf591a47938 Mon Sep 17 00:00:00 2001 From: David Anderson Date: Wed, 11 Mar 2020 00:09:55 -0700 Subject: [PATCH 252/274] lenovo/thinkpad/t495: init from e495. The E495 and T495 are based on the same core Ryzen platform, so the E495 tweaks apply similarly to the T495. Tested on my own T495, works well. --- README.md | 1 + lenovo/thinkpad/t495/default.nix | 11 +++++++++++ 2 files changed, 12 insertions(+) create mode 100644 lenovo/thinkpad/t495/default.nix diff --git a/README.md b/README.md index ca011c4890c..85670281607 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ See code for all available configurations. | Lenovo ThinkPad T470s | `` | | Lenovo ThinkPad T480s | `` | | Lenovo ThinkPad T490 | `` | +| Lenovo ThinkPad T495 | `` | | Lenovo ThinkPad X140e | `` | | Lenovo ThinkPad X220 | `` | | Lenovo ThinkPad X230 | `` | diff --git a/lenovo/thinkpad/t495/default.nix b/lenovo/thinkpad/t495/default.nix new file mode 100644 index 00000000000..51ddb5cfd01 --- /dev/null +++ b/lenovo/thinkpad/t495/default.nix @@ -0,0 +1,11 @@ +{ config, lib, pkgs, ... }: + +{ + imports = [ + ../. + ../../../common/cpu/amd + ]; + + # see https://github.com/NixOS/nixpkgs/issues/69289 + boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.2") pkgs.linuxPackages_latest; +} From 03dedf4cfd6762810b08b452258dd64e6584259a Mon Sep 17 00:00:00 2001 From: David Anderson Date: Sat, 14 Mar 2020 20:55:05 -0700 Subject: [PATCH 253/274] thinkpad/t495: fix backlight save/load and and battery conditioning. Saving/loading the backlight state requires the acpi_backlight=native kernel parameter. acpi_call is required by TLP to get access to battery conditioning information from the firmware. Signed-off-by: David Anderson --- lenovo/thinkpad/t495/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lenovo/thinkpad/t495/default.nix b/lenovo/thinkpad/t495/default.nix index 51ddb5cfd01..64957e6e06c 100644 --- a/lenovo/thinkpad/t495/default.nix +++ b/lenovo/thinkpad/t495/default.nix @@ -4,8 +4,13 @@ imports = [ ../. ../../../common/cpu/amd + ../../../common/pc/laptop/acpi_call.nix ]; + # Force use of the thinkpad_acpi driver for backlight control. + # This allows the backlight save/load systemd service to work. + boot.kernelParams = [ "acpi_backlight=native" ]; + # see https://github.com/NixOS/nixpkgs/issues/69289 boot.kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "5.2") pkgs.linuxPackages_latest; } From c6722b86bfb34159c130606ff2ce46ef741c3b17 Mon Sep 17 00:00:00 2001 From: Niklaus Giger Date: Mon, 23 Mar 2020 20:19:54 +0100 Subject: [PATCH 254/274] Document librem laptop 15v3 --- README.md | 2 +- purism/librem/13v3/README.md | 40 ++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 85670281607..1d9234ffa9d 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ See code for all available configurations. | PC Engines APU | `` | | [Raspberry Pi 2][] | `` | | [Samsung Series 9 NP900X3C][] | `` | -| [Purism Librem 13v3][] | `` | +| [Purism Librem 13v3/15v3][] | `` | | Supermicro A1SRi-2758F | `` | | Supermicro X10SLL-F | `` | | [Toshiba Chromebook 2 `swanky`][] | `` | diff --git a/purism/librem/13v3/README.md b/purism/librem/13v3/README.md index 8009eb3279c..2ecb6bd704d 100644 --- a/purism/librem/13v3/README.md +++ b/purism/librem/13v3/README.md @@ -1,3 +1,6 @@ +This config is for [Librem 13v3](https://puri.sm/products/librem-13/) and [15v3](https://puri.sm/products/librem-15/) Laptops from Purism. + + Librem comes with Coreboot + SeaBIOS payload. That means EFI boot is not possible. Use `fdisk` to partition hard drive, and GRUB as a bootloader: @@ -10,3 +13,40 @@ possible. Use `fdisk` to partition hard drive, and GRUB as a bootloader: }; } ``` + +## Adding a PureOS partition to the GRUB menu + +I first assume that `boot.loader.grub.useOSProber = true;` should be sufficient. +However GRUB was not able to identify the disks correctly and it took me several +reinstallation till setting `boot.loader.grub.fsIdentifier= "provided";` and using +boot.loader.grub.extraEntries allowed me to dual boot NixOS and PureOS. + +Be aware that each time the PureOS updates the /boot/grub/grub.cfg you will be unable +to boot into NixOS unless you patch grub.cfg manually again. + +Therefore: If you want to be able to boot into your old PureOS distribution +add the following lines, assuming that you have a separate boot partition +Adapt linux version and the UUID to your disk!! + + +```nix +{ + boot.loader.grub.useOSProber = false; + boot.loader.grub.fsIdentifier= "provided"; + boot.loader.grub.extraEntries = '' + menuentry "PureOS with linux 4.19.0-5-amd64 on /dev/sdb2 " { + insmod gzio + if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi + insmod part_msdos + insmod ext2 + set root='hd0,msdos1' + if [ x$feature_platform_search_hint = xy ]; then + search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 ef7a4dcf-8cc4-4870-b860-3ed64906f9b9 + else + search --no-floppy --fs-uuid --set=root ef7a4dcf-8cc4-4870-b860-3ed64906f9b9 + fi + linux /vmlinuz-4.19.0-5-amd64 root=UUID=43899f26-04f2-4ccb-b52a-c9441f1a1a6d ro quiet splash resume=UUID=923317f8-d8bb-4e1f-bca3-f36a556de609 # $vt_handoff + initrd /initrd.img-4.19.0-5-amd64 + }; +} +``` From 9238b5f06e1bdac913554b5eb4666cb11d506d82 Mon Sep 17 00:00:00 2001 From: Niklaus Giger Date: Mon, 23 Mar 2020 20:21:11 +0100 Subject: [PATCH 255/274] Automatically lock the desktop when removing the librem key --- purism/librem/13v3/README.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/purism/librem/13v3/README.md b/purism/librem/13v3/README.md index 2ecb6bd704d..b4bae0b2f88 100644 --- a/purism/librem/13v3/README.md +++ b/purism/librem/13v3/README.md @@ -50,3 +50,38 @@ Adapt linux version and the UUID to your disk!! }; } ``` + +## Automatically lock the desktop when removing the librem key + +The [instructions](https://docs.puri.sm/Librem_Key/Getting_Started/User_Manual.html#automatically-lock-the-desktop-when-removing-the-librem-key) to lock the screen after unplugging the [Librem Key](https://puri.sm/products/librem-key/#overview) don't work under NixOS. + +This snippet works on my Librem 15v3 laptop running KDE without wayland and is using the xlock from the package xlockmore. + +```nix +{ pkgs, services , systemd, ... }: +let + libremScreenSaver = pkgs.writeScriptBin "libremScreenSaver" '' + #!${pkgs.bash}/bin/bash + user=`ps aux | egrep "start_kdeinit|gdm-(wayland|x)-session"| head -n 1 | awk '{print $1}'` + if [ -n "$user" ]; then + sudo -u $user DISPLAY=:0 xlock 2>&1 | logger lockScreen for user $user + else + logger libremScreenSaver failed to find a user. Not running KDE? + fi + ''; + +in { + services.udev.path = [ pkgs.procps pkgs.logger pkgs.gawk pkgs.xlockmore ]; + services.udev.extraRules = '' + ACTION=="remove", ENV{PRODUCT}=="316d/4c4b/101" RUN+="${pkgs.systemd}/bin/systemctl --no-block start lockScreen@%k.service" + ''; + systemd.services."lockScreen@" = { + bindsTo = [ "dev-%i.device"] ; + path = [ pkgs.procps pkgs.logger pkgs.sudo pkgs.xlockmore pkgs.gawk ] ; + serviceConfig = { + Type = "oneshot"; # was simple + ExecStart = "${libremScreenSaver}/bin/libremScreenSaver %I"; + }; + }; +} +``` From 12bb72aa6bac6634ca17c5664fda84e29995f763 Mon Sep 17 00:00:00 2001 From: Niklaus Giger Date: Thu, 26 Mar 2020 10:35:01 +0100 Subject: [PATCH 256/274] Create separate directories for librem 13v3 and 15v3 --- README.md | 4 +++- purism/librem/15v3 | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) create mode 120000 purism/librem/15v3 diff --git a/README.md b/README.md index 1d9234ffa9d..8210ed10cab 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,8 @@ See code for all available configurations. | PC Engines APU | `` | | [Raspberry Pi 2][] | `` | | [Samsung Series 9 NP900X3C][] | `` | -| [Purism Librem 13v3/15v3][] | `` | +| [Purism Librem 13v3][] | `` | +| [Purism Librem 15v3][] | `` | | Supermicro A1SRi-2758F | `` | | Supermicro X10SLL-F | `` | | [Toshiba Chromebook 2 `swanky`][] | `` | @@ -97,6 +98,7 @@ See code for all available configurations. [Raspberry Pi 2]: raspberry-pi/2 [Samsung Series 9 NP900X3C]: samsung/np900x3c [Purism Librem 13v3]: purism/librem/13v3 +[Purism Librem 13v5]: purism/librem/13v5 [Toshiba Chromebook 2 `swanky`]: toshiba/swanky ## How to contribute a new device profile diff --git a/purism/librem/15v3 b/purism/librem/15v3 new file mode 120000 index 00000000000..feb0d06fafd --- /dev/null +++ b/purism/librem/15v3 @@ -0,0 +1 @@ +13v3/ \ No newline at end of file From 0ef7d22b6cd714af9af507ba9e4eab410fd93930 Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Tue, 14 Apr 2020 22:45:54 +0200 Subject: [PATCH 257/274] lenovo/thinkpad/t460s: Remove problematic options See there links for details: https://github.com/NixOS/nixos-hardware/pull/134#pullrequestreview-336181593 https://github.com/NixOS/nixos-hardware/pull/134#discussion_r361146814 --- lenovo/thinkpad/t460s/default.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lenovo/thinkpad/t460s/default.nix b/lenovo/thinkpad/t460s/default.nix index 41558a35b7f..59e0942634e 100644 --- a/lenovo/thinkpad/t460s/default.nix +++ b/lenovo/thinkpad/t460s/default.nix @@ -5,8 +5,4 @@ ../../../common/cpu/intel ../. ]; - - # TODO: boot loader - boot.loader.systemd-boot.enable = lib.mkDefault true; - boot.loader.efi.canTouchEfiVariables = lib.mkDefault true; } From 157ae443af7171422626684bd6b42a3e9a503365 Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Tue, 14 Apr 2020 22:53:55 +0200 Subject: [PATCH 258/274] lenovo/thinkpad/t460s: Add missing acpi_call module This is required by tlp for battery management. --- lenovo/thinkpad/t460s/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lenovo/thinkpad/t460s/default.nix b/lenovo/thinkpad/t460s/default.nix index 59e0942634e..e62337171b9 100644 --- a/lenovo/thinkpad/t460s/default.nix +++ b/lenovo/thinkpad/t460s/default.nix @@ -3,6 +3,7 @@ { imports = [ ../../../common/cpu/intel + ../../../common/pc/laptop/acpi_call.nix ../. ]; } From 76f681355cb6c2aab79d190907fbb521bd19ec87 Mon Sep 17 00:00:00 2001 From: j0hax Date: Tue, 21 Apr 2020 02:54:18 +0200 Subject: [PATCH 259/274] Change TLP charge thresholds --- lenovo/thinkpad/x230/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lenovo/thinkpad/x230/default.nix b/lenovo/thinkpad/x230/default.nix index 58b09f4c5d5..6c528ced57a 100644 --- a/lenovo/thinkpad/x230/default.nix +++ b/lenovo/thinkpad/x230/default.nix @@ -16,4 +16,10 @@ services.xserver.deviceSection = lib.mkDefault '' Option "TearFree" "true" ''; + + services.tlp.extraConfig = lib.mkDefault '' + START_CHARGE_THRESH_BAT0=67 + STOP_CHARGE_THRESH_BAT0=100 + ''; + } From 41d2c3322b118ba26dd9968b5853c11a451a59d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Tue, 21 Apr 2020 21:10:18 +0100 Subject: [PATCH 260/274] Revert "Change TLP charge thresholds" This reverts commit 76f681355cb6c2aab79d190907fbb521bd19ec87. This setting is opinionated and should be left to the user. See: https://github.com/NixOS/nixos-hardware/pull/154#issuecomment-617181517 --- lenovo/thinkpad/x230/default.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/lenovo/thinkpad/x230/default.nix b/lenovo/thinkpad/x230/default.nix index 6c528ced57a..58b09f4c5d5 100644 --- a/lenovo/thinkpad/x230/default.nix +++ b/lenovo/thinkpad/x230/default.nix @@ -16,10 +16,4 @@ services.xserver.deviceSection = lib.mkDefault '' Option "TearFree" "true" ''; - - services.tlp.extraConfig = lib.mkDefault '' - START_CHARGE_THRESH_BAT0=67 - STOP_CHARGE_THRESH_BAT0=100 - ''; - } From c8e3843b0ad1137e9399451ba55f2c0c1fbcd340 Mon Sep 17 00:00:00 2001 From: Wout Mertens Date: Thu, 23 Apr 2020 10:52:16 +0200 Subject: [PATCH 261/274] 7390: clarify intent --- dell/xps/13-7390/README.wiki | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dell/xps/13-7390/README.wiki b/dell/xps/13-7390/README.wiki index 48858aab6c7..fdc975f0d6d 100644 --- a/dell/xps/13-7390/README.wiki +++ b/dell/xps/13-7390/README.wiki @@ -1,8 +1,8 @@ = Dell XPS 13 7390 = == Installation == -You need to disable AHCI as described here. -https://wiki.ubuntu.com/Dell/XPS/XPS-13-7390-2-in-1 + +You need to disable RAID and use AHCI instead as described [here](https://wiki.ubuntu.com/Dell/XPS/XPS-13-7390-2-in-1). == Firmware upgrades == From bb1a8b78ba479866e88fe8627d93f42c34bf841f Mon Sep 17 00:00:00 2001 From: Wout Mertens Date: Thu, 23 Apr 2020 10:53:17 +0200 Subject: [PATCH 262/274] wiki syntax --- dell/xps/13-7390/README.wiki | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dell/xps/13-7390/README.wiki b/dell/xps/13-7390/README.wiki index fdc975f0d6d..6ec37d0f447 100644 --- a/dell/xps/13-7390/README.wiki +++ b/dell/xps/13-7390/README.wiki @@ -2,7 +2,7 @@ == Installation == -You need to disable RAID and use AHCI instead as described [here](https://wiki.ubuntu.com/Dell/XPS/XPS-13-7390-2-in-1). +You need to disable RAID and use AHCI instead as described [https://wiki.ubuntu.com/Dell/XPS/XPS-13-7390-2-in-1 here]. == Firmware upgrades == From 7efd48f10058e2bb40239a74fe349645964e47d4 Mon Sep 17 00:00:00 2001 From: Delan Azabani Date: Fri, 24 Apr 2020 18:36:40 +1000 Subject: [PATCH 263/274] README: fix nix-channel --update command Following the current instructions yields these errors for some reason: ``` $ sudo nixos-rebuild switch warning: Nix search path entry '/nix/var/nix/profiles/per-user/root/channels/nixos' does not exist, ignoring error: file 'nixpkgs/nixos' was not found in the Nix search path (add it using $NIX_PATH or -I), at (string):1:13 building Nix... warning: Nix search path entry '/nix/var/nix/profiles/per-user/root/channels/nixos' does not exist, ignoring error: file 'nixpkgs/nixos' was not found in the Nix search path (add it using $NIX_PATH or -I) warning: Nix search path entry '/nix/var/nix/profiles/per-user/root/channels/nixos' does not exist, ignoring error: file 'nixpkgs' was not found in the Nix search path (add it using $NIX_PATH or -I) warning: Nix search path entry '/nix/var/nix/profiles/per-user/root/channels/nixos' does not exist, ignoring error: file 'nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix' was not found in the Nix search path (add it using $NIX_PATH or -I) /tmp/nixos-rebuild.vs4JVw/nix warning: Nix search path entry '/nix/var/nix/profiles/per-user/root/channels/nixos' does not exist, ignoring error: file 'nixpkgs' was not found in the Nix search path (add it using $NIX_PATH or -I) building the system configuration... warning: Nix search path entry '/nix/var/nix/profiles/per-user/root/channels/nixos' does not exist, ignoring error: file 'nixpkgs/nixos' was not found in the Nix search path (add it using $NIX_PATH or -I) ``` --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8210ed10cab..08eb1277e83 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Add and update `nixos-hardware` channel: ``` $ sudo nix-channel --add https://github.com/NixOS/nixos-hardware/archive/master.tar.gz nixos-hardware -$ sudo nix-channel --update nixos-hardware +$ sudo nix-channel --update ``` Then import an appropriate profile path from the table below. For example, to From d7d897fe2499df6a4ea561d7ed642d1c1f30c98e Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Tue, 5 May 2020 01:19:42 +0530 Subject: [PATCH 264/274] New dell/latitude/3480 The touchpad is painful to use unless the "psmouse" kernel module is disabled. --- README.md | 1 + dell/latitude/3480/default.nix | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 dell/latitude/3480/default.nix diff --git a/README.md b/README.md index 08eb1277e83..2fbf058f605 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,7 @@ See code for all available configurations. | [Apple MacBook Pro 10,1][] | `` | | Apple MacBook Pro 12,1 | `` | | BeagleBoard PocketBeagle | `` | +| Dell Latitude 3480 | `` | | [Dell XPS E7240][] | `` | | [Dell XPS 13 7390][] | `` | | [Dell XPS 13 9360][] | `` | diff --git a/dell/latitude/3480/default.nix b/dell/latitude/3480/default.nix new file mode 100644 index 00000000000..86be458a1d9 --- /dev/null +++ b/dell/latitude/3480/default.nix @@ -0,0 +1,14 @@ +{ lib, pkgs, ... }: + +{ + imports = [ + ../../../common/cpu/intel + ../../../common/pc/laptop + ../../../common/pc/laptop/ssd + ]; + + # touchpad goes over i2c + boot.blacklistedKernelModules = [ "psmouse" ]; + + services.xserver.videoDrivers = lib.mkDefault [ "intel" ]; +} From 130560e553ef648d81b7c7d4034efd4797a5fb57 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Wed, 6 May 2020 00:20:10 +0200 Subject: [PATCH 265/274] Add InfinityBook v4 (#159) --- README.md | 1 + tuxedo/infinitybook/v4/default.nix | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 tuxedo/infinitybook/v4/default.nix diff --git a/README.md b/README.md index 2fbf058f605..e62a19dcaa1 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,7 @@ See code for all available configurations. | Supermicro A1SRi-2758F | `` | | Supermicro X10SLL-F | `` | | [Toshiba Chromebook 2 `swanky`][] | `` | +| [Tuxedo InfinityBook v4][] | `` | [Acer Aspire 4810T]: acer/aspire/4810t [Apple MacBook Pro 10,1]: apple/macbook-pro/10-1 diff --git a/tuxedo/infinitybook/v4/default.nix b/tuxedo/infinitybook/v4/default.nix new file mode 100644 index 00000000000..36450bf5268 --- /dev/null +++ b/tuxedo/infinitybook/v4/default.nix @@ -0,0 +1,5 @@ +{ + boot.kernelParams = [ + "i8042.reset" + ]; +} From 16cdc10b488c605c200fdb796e029da25d754906 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 7 May 2020 14:12:35 +0000 Subject: [PATCH 266/274] google/pixelbook: init --- README.md | 2 ++ google/pixelbook/default.nix | 9 +++++++++ 2 files changed, 11 insertions(+) create mode 100644 google/pixelbook/default.nix diff --git a/README.md b/README.md index e62a19dcaa1..bd5e119a7cd 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,7 @@ See code for all available configurations. | [Dell XPS 15 9560][] | `` | | [Dell XPS 15 9560, intel only][] | `` | | [Dell XPS 15 9560, nvidia only][] | `` | +| [Google Pixelbook][] | `` | | [Inverse Path USB armory][] | `` | | Lenovo IdeaPad Z510 | `` | | Lenovo ThinkPad E495 | `` | @@ -93,6 +94,7 @@ See code for all available configurations. [Dell XPS 15 9560]: dell/xps/15-9560 [Dell XPS 15 9560, intel only]: dell/xps/15-9560/intel [Dell XPS 15 9560, nvidia only]: dell/xps/15-9560/nvidia +[Google Pixelbook]: google/pixelbook [Inverse Path USB armory]: inversepath/usbarmory [Lenovo ThinkPad X1 (6th Gen)]: lenovo/thinkpad/x1/6th-gen [Lenovo ThinkPad X260]: lenovo/thinkpad/x260 diff --git a/google/pixelbook/default.nix b/google/pixelbook/default.nix new file mode 100644 index 00000000000..1ea4c7afdbd --- /dev/null +++ b/google/pixelbook/default.nix @@ -0,0 +1,9 @@ +{ ... }: + +{ + imports = [ + ../../common/pc/laptop + ../../common/pc/laptop/ssd + ../../common/cpu/intel/kaby-lake + ]; +} From 69b9bdd53a6c5d2559066691349282f8f961cb3e Mon Sep 17 00:00:00 2001 From: Matthew Smith Date: Thu, 14 May 2020 20:33:15 +0100 Subject: [PATCH 267/274] dell/xps/13-9360: Stop using i18n.consoleFont trace: warning: The option `i18n.consoleFont' defined in `/nix/var/nix/profiles/per-user/root/channels/nixos-hardware/dell/xps/13-9360' has been renamed to `console.font'. --- dell/xps/13-9360/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/dell/xps/13-9360/default.nix b/dell/xps/13-9360/default.nix index 5ff1e54a46b..439bbe09f56 100644 --- a/dell/xps/13-9360/default.nix +++ b/dell/xps/13-9360/default.nix @@ -1,6 +1,14 @@ { lib, pkgs, ... }: -{ +# TODO: move to general HiDPI profile +# 4K screen, use bigger console font +# i18n.consoleFont deprecated in >=20.03, choose option based on OS version +lib.recursiveUpdate +(if lib.versionAtLeast (lib.versions.majorMinor lib.version) "20.03" then { + console.font = lib.mkDefault "latarcyrheb-sun32"; +} else { + i18n.consoleFont = lib.mkDefault "latarcyrheb-sun32"; +}) { imports = [ ../../../common/cpu/intel/kaby-lake ../../../common/pc/laptop @@ -16,9 +24,6 @@ hardware.firmware = lib.mkBefore [ pkgs.qca6174-firmware ]; - # TODO: move to general HiDPI profile - i18n.consoleFont = lib.mkDefault "latarcyrheb-sun32"; # 4K screen, use bigger console font - # TODO: upstream to NixOS/nixpkgs nixpkgs.overlays = [(final: previous: { qca6174-firmware = final.callPackage ./qca6174-firmware.nix {}; From 5f830cf8fcf073c0495f6f7f6fc9a27a63857e5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 17 May 2020 07:56:56 +0100 Subject: [PATCH 268/274] make tests less verbose --- tests/run.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/run.py b/tests/run.py index 653337d1919..dde79291409 100755 --- a/tests/run.py +++ b/tests/run.py @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#!nix-shell -p nix -p python3 -i python +#!nix-shell --quiet -p nix -p python3 -i python import argparse import multiprocessing @@ -33,12 +33,13 @@ def build_profile(profile: str) -> Tuple[str, subprocess.CompletedProcess]: system = "armv7l-linux" cmd = [ - "nix-build", + "nix", + "build", + "-f", "build-profile.nix", "-I", f"nixos-hardware={ROOT}", "--dry-run", "--show-trace", - "build-profile.nix", "--system", system, "--arg", From 744d5561bed95b224a7e401d42381653789f269e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 17 May 2020 08:07:37 +0100 Subject: [PATCH 269/274] README.md: add missing link --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bd5e119a7cd..56dbbca4bab 100644 --- a/README.md +++ b/README.md @@ -104,6 +104,7 @@ See code for all available configurations. [Purism Librem 13v3]: purism/librem/13v3 [Purism Librem 13v5]: purism/librem/13v5 [Toshiba Chromebook 2 `swanky`]: toshiba/swanky +[Tuxedo InfinityBook v4]: nixos-hardware/tuxedo/infinitybook/v4 ## How to contribute a new device profile From 8c320bbc8a10879c788a2a2b53b0378f7cf7573d Mon Sep 17 00:00:00 2001 From: Hoang Xuan Phu Date: Sat, 16 May 2020 16:12:10 -0400 Subject: [PATCH 270/274] lenovo/thinkpad/x1/7th-gen: init --- README.md | 2 ++ lenovo/thinkpad/x1/7th-gen/audio.nix | 15 +++++++++++++++ lenovo/thinkpad/x1/7th-gen/default.nix | 7 +++++++ 3 files changed, 24 insertions(+) create mode 100644 lenovo/thinkpad/x1/7th-gen/audio.nix create mode 100644 lenovo/thinkpad/x1/7th-gen/default.nix diff --git a/README.md b/README.md index bd5e119a7cd..f417be1b89b 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,7 @@ See code for all available configurations. | Lenovo ThinkPad X270 | `` | | Lenovo ThinkPad X280 | `` | | [Lenovo ThinkPad X1 (6th Gen)][] | `` | +| [Lenovo ThinkPad X1 (7th Gen)][] | `` | | Lenovo ThinkPad X1 Extreme Gen 2 | `` | | [Microsoft Surface Pro 3][] | `` | | PC Engines APU | `` | @@ -97,6 +98,7 @@ See code for all available configurations. [Google Pixelbook]: google/pixelbook [Inverse Path USB armory]: inversepath/usbarmory [Lenovo ThinkPad X1 (6th Gen)]: lenovo/thinkpad/x1/6th-gen +[Lenovo ThinkPad X1 (7th Gen)]: lenovo/thinkpad/x1/7th-gen [Lenovo ThinkPad X260]: lenovo/thinkpad/x260 [Microsoft Surface Pro 3]: microsoft/surface-pro/3 [Raspberry Pi 2]: raspberry-pi/2 diff --git a/lenovo/thinkpad/x1/7th-gen/audio.nix b/lenovo/thinkpad/x1/7th-gen/audio.nix new file mode 100644 index 00000000000..02f0fdf0ebb --- /dev/null +++ b/lenovo/thinkpad/x1/7th-gen/audio.nix @@ -0,0 +1,15 @@ +{ lib, pkgs, ... }: +{ + # This can be removed when the default kernel is at least version 5.6 + # https://github.com/NixOS/nixpkgs/pull/86168 + boot.kernelPackages = lib.mkIf + (lib.versionOlder pkgs.linux.version "5.6") + (lib.mkDefault pkgs.linuxPackages_5_6); + + # This can be removed when PulseAudio is at least version 14 + # https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_7)#Audio + hardware.pulseaudio.extraConfig = '' + load-module module-alsa-sink device=hw:0,0 channels=4 + load-module module-alsa-source device=hw:0,6 channels=4 + ''; +} diff --git a/lenovo/thinkpad/x1/7th-gen/default.nix b/lenovo/thinkpad/x1/7th-gen/default.nix new file mode 100644 index 00000000000..8349d05678a --- /dev/null +++ b/lenovo/thinkpad/x1/7th-gen/default.nix @@ -0,0 +1,7 @@ +{ + imports = [ + ../. + ../../../../common/pc/laptop/acpi_call.nix + ./audio.nix + ]; +} From 4b129a0f711aea22c52ad8ff48a3126a1b32a988 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 18 May 2020 11:27:18 +0100 Subject: [PATCH 271/274] fix toshiba/swanky evaluation (#167) --- tests/run.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/run.py b/tests/run.py index dde79291409..d592049878b 100755 --- a/tests/run.py +++ b/tests/run.py @@ -35,10 +35,10 @@ def build_profile(profile: str) -> Tuple[str, subprocess.CompletedProcess]: cmd = [ "nix", "build", - "-f", "build-profile.nix", + "-f", + "build-profile.nix", "-I", f"nixos-hardware={ROOT}", - "--dry-run", "--show-trace", "--system", system, @@ -46,6 +46,11 @@ def build_profile(profile: str) -> Tuple[str, subprocess.CompletedProcess]: "profile", profile, ] + + # uses import from derivation + if profile != "": + cmd += ["--dry-run"] + print("$ " + " ".join(cmd)) res = subprocess.run( cmd, cwd=TEST_ROOT, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, ) From a13d00bd7cbe5da3cc63c971c4a738486e2f9812 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 18 May 2020 11:38:36 +0100 Subject: [PATCH 272/274] tests: hide evaluation command behind verbose flag --- tests/run.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/tests/run.py b/tests/run.py index d592049878b..2f514d12890 100755 --- a/tests/run.py +++ b/tests/run.py @@ -6,6 +6,7 @@ import multiprocessing import re import subprocess import sys +from functools import partial from pathlib import Path from typing import List, Tuple @@ -26,7 +27,9 @@ def parse_readme() -> List[str]: return list(profiles) -def build_profile(profile: str) -> Tuple[str, subprocess.CompletedProcess]: +def build_profile( + profile: str, verbose: bool +) -> Tuple[str, subprocess.CompletedProcess]: # Hard-code this for now until we have enough other architectures to care about this. system = "x86_64-linux" if "raspberry-pi/2" in profile: @@ -50,7 +53,8 @@ def build_profile(profile: str) -> Tuple[str, subprocess.CompletedProcess]: # uses import from derivation if profile != "": cmd += ["--dry-run"] - print("$ " + " ".join(cmd)) + if verbose: + print(f"$ {' '.join(cmd)}") res = subprocess.run( cmd, cwd=TEST_ROOT, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, ) @@ -66,6 +70,9 @@ def parse_args() -> argparse.Namespace: help="Number of parallel evaluations." "If set to 1 it disable multi processing (suitable for debugging)", ) + parser.add_argument( + "--verbose", action="store_true", help="Print evaluation commands executed", + ) parser.add_argument("profiles", nargs="*") return parser.parse_args() @@ -90,12 +97,13 @@ def main() -> None: print(f"{RED}{res.stderr.rstrip()}{RESET}", file=sys.stderr) failed_profiles.append(profile) + build = partial(build_profile, verbose=args.verbose) if len(profiles) == 0 or args.jobs == 1: for profile in profiles: - eval_finished(build_profile(profile)) + eval_finished(build(profile)) else: pool = multiprocessing.Pool(processes=args.jobs) - for r in pool.imap(build_profile, profiles): + for r in pool.imap(build, profiles): eval_finished(r) if len(failed_profiles) > 0: print(f"\n{RED}The following {len(failed_profiles)} test(s) failed:{RESET}") From 90868c67e85fcf2efb3f6075203021f0f9bd97f5 Mon Sep 17 00:00:00 2001 From: Erik Arvstedt Date: Wed, 20 May 2020 16:29:50 +0200 Subject: [PATCH 273/274] pc/laptop: remove redundant cpuFreqGovernor setting This setting has been part of NixOS since version 16.09 --- common/pc/laptop/default.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/common/pc/laptop/default.nix b/common/pc/laptop/default.nix index ebc4931dbc2..946d066d04d 100644 --- a/common/pc/laptop/default.nix +++ b/common/pc/laptop/default.nix @@ -3,11 +3,5 @@ { imports = [ ../. ]; - # TODO: fix in NixOS/nixpkgs - # Disable governor set in hardware-configuration.nix, - # required when services.tlp.enable is true: - powerManagement.cpuFreqGovernor = - lib.mkIf config.services.tlp.enable (lib.mkForce null); - services.tlp.enable = lib.mkDefault true; } From b9a7e21ef61a336277b79772620784aca47d6298 Mon Sep 17 00:00:00 2001 From: Profpatsch Date: Sat, 20 Jun 2020 12:52:31 +0200 Subject: [PATCH 274/274] nixos-hardware: prepare for merge by moving to nixos/hardware MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It is going to be merged into nixpkgs, under `nixos/hardware`. This will give better discoverability, and considering the low turnover (less than 100 commits in the last year and only 350 total) it won’t make any dent on the size of nixpkgs. We have a monorepo, let’s use it. --- .gitignore => nixos/hardware/.gitignore | 0 .travis.yml => nixos/hardware/.travis.yml | 0 CODEOWNERS => nixos/hardware/CODEOWNERS | 0 CONTRIBUTING.md => nixos/hardware/CONTRIBUTING.md | 0 COPYING => nixos/hardware/COPYING | 0 README.md => nixos/hardware/README.md | 0 {acer => nixos/hardware/acer}/aspire/4810t/README.wiki | 0 {acer => nixos/hardware/acer}/aspire/4810t/default.nix | 0 {airis => nixos/hardware/airis}/n990/default.nix | 0 {apple => nixos/hardware/apple}/default.nix | 0 {apple => nixos/hardware/apple}/macbook-air/3/default.nix | 0 {apple => nixos/hardware/apple}/macbook-air/4/default.nix | 0 {apple => nixos/hardware/apple}/macbook-air/6/default.nix | 0 {apple => nixos/hardware/apple}/macbook-air/default.nix | 0 {apple => nixos/hardware/apple}/macbook-pro/10-1/README.wiki | 0 {apple => nixos/hardware/apple}/macbook-pro/10-1/default.nix | 0 {apple => nixos/hardware/apple}/macbook-pro/11-5/README.md | 0 {apple => nixos/hardware/apple}/macbook-pro/11-5/default.nix | 0 {apple => nixos/hardware/apple}/macbook-pro/12-1/default.nix | 0 {apple => nixos/hardware/apple}/macbook-pro/default.nix | 0 {asus => nixos/hardware/asus}/wireless-ac1300.nix | 0 {audio-gd => nixos/hardware/audio-gd}/compass2.nix | 0 .../hardware/beagleboard}/pocketbeagle/default.nix | 0 {common => nixos/hardware/common}/cpu/amd/default.nix | 0 {common => nixos/hardware/common}/cpu/intel/default.nix | 0 {common => nixos/hardware/common}/cpu/intel/kaby-lake/default.nix | 0 .../hardware/common}/cpu/intel/sandy-bridge/default.nix | 0 {common => nixos/hardware/common}/pc/default.nix | 0 {common => nixos/hardware/common}/pc/hdd/default.nix | 0 {common => nixos/hardware/common}/pc/laptop/acpi_call.nix | 0 {common => nixos/hardware/common}/pc/laptop/default.nix | 0 {common => nixos/hardware/common}/pc/laptop/hdd/default.nix | 0 {common => nixos/hardware/common}/pc/laptop/ssd | 0 {common => nixos/hardware/common}/pc/ssd/default.nix | 0 default.nix => nixos/hardware/default.nix | 0 {dell => nixos/hardware/dell}/e7240/README.md | 0 {dell => nixos/hardware/dell}/e7240/default.nix | 0 {dell => nixos/hardware/dell}/latitude/3480/default.nix | 0 {dell => nixos/hardware/dell}/xps/13-7390/README.wiki | 0 {dell => nixos/hardware/dell}/xps/13-7390/default.nix | 0 {dell => nixos/hardware/dell}/xps/13-9360/default.nix | 0 {dell => nixos/hardware/dell}/xps/13-9360/qca6174-firmware.nix | 0 {dell => nixos/hardware/dell}/xps/13-9370/README.wiki | 0 {dell => nixos/hardware/dell}/xps/13-9370/default.nix | 0 {dell => nixos/hardware/dell}/xps/13-9380/README.wiki | 0 {dell => nixos/hardware/dell}/xps/13-9380/default.nix | 0 {dell => nixos/hardware/dell}/xps/15-7590/README.wiki | 0 {dell => nixos/hardware/dell}/xps/15-7590/default.nix | 0 {dell => nixos/hardware/dell}/xps/15-9550/README.wiki | 0 {dell => nixos/hardware/dell}/xps/15-9550/default.nix | 0 {dell => nixos/hardware/dell}/xps/15-9560/README.wiki | 0 {dell => nixos/hardware/dell}/xps/15-9560/default.nix | 0 {dell => nixos/hardware/dell}/xps/15-9560/intel/default.nix | 0 {dell => nixos/hardware/dell}/xps/15-9560/nvidia/default.nix | 0 {dell => nixos/hardware/dell}/xps/15-9560/xps-common.nix | 0 {google => nixos/hardware/google}/pixelbook/default.nix | 0 {inversepath => nixos/hardware/inversepath}/usbarmory/README.txt | 0 {inversepath => nixos/hardware/inversepath}/usbarmory/default.nix | 0 {inversepath => nixos/hardware/inversepath}/usbarmory/host.nix | 0 .../hardware/inversepath}/usbarmory/kernel.config | 0 {inversepath => nixos/hardware/inversepath}/usbarmory/kernel.nix | 0 .../hardware/inversepath}/usbarmory/usbarmory-dts.patch | 0 {lenovo => nixos/hardware/lenovo}/ideapad/default.nix | 0 {lenovo => nixos/hardware/lenovo}/ideapad/z510/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/e495/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/l13/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/p53/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/t410/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/t420/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/t430/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/t440p/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/t440s/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/t450s/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/t460s/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/t470s/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/t480s/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/t490/default.nix | 0 .../hardware/lenovo}/thinkpad/t490/t490-profile-set.conf | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/t495/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/tp-smapi.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/x1-extreme/default.nix | 0 .../hardware/lenovo}/thinkpad/x1-extreme/gen2/default.nix | 0 .../hardware/lenovo}/thinkpad/x1/6th-gen/QHD/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/x1/6th-gen/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/x1/7th-gen/audio.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/x1/7th-gen/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/x1/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/x140e/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/x220/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/x230/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/x250/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/x260/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/x270/default.nix | 0 {lenovo => nixos/hardware/lenovo}/thinkpad/x280/default.nix | 0 {microsoft => nixos/hardware/microsoft}/hyper-v/README.md | 0 {microsoft => nixos/hardware/microsoft}/surface-pro/3/README.wiki | 0 {microsoft => nixos/hardware/microsoft}/surface-pro/3/default.nix | 0 {pcengines => nixos/hardware/pcengines}/apu/default.nix | 0 {purism => nixos/hardware/purism}/librem/13v3/README.md | 0 {purism => nixos/hardware/purism}/librem/13v3/default.nix | 0 {purism => nixos/hardware/purism}/librem/15v3 | 0 {raspberry-pi => nixos/hardware/raspberry-pi}/2/README.org | 0 {raspberry-pi => nixos/hardware/raspberry-pi}/2/default.nix | 0 {samsung => nixos/hardware/samsung}/np900x3c/README.wiki | 0 {samsung => nixos/hardware/samsung}/np900x3c/default.nix | 0 {supermicro => nixos/hardware/supermicro}/a1sri-2758f/default.nix | 0 {supermicro => nixos/hardware/supermicro}/x10sll-f/default.nix | 0 {tests => nixos/hardware/tests}/build-profile.nix | 0 {tests => nixos/hardware/tests}/run.py | 0 {toshiba => nixos/hardware/toshiba}/swanky/README.md | 0 {toshiba => nixos/hardware/toshiba}/swanky/default.nix | 0 {tuxedo => nixos/hardware/tuxedo}/infinitybook/v4/default.nix | 0 113 files changed, 0 insertions(+), 0 deletions(-) rename .gitignore => nixos/hardware/.gitignore (100%) rename .travis.yml => nixos/hardware/.travis.yml (100%) rename CODEOWNERS => nixos/hardware/CODEOWNERS (100%) rename CONTRIBUTING.md => nixos/hardware/CONTRIBUTING.md (100%) rename COPYING => nixos/hardware/COPYING (100%) rename README.md => nixos/hardware/README.md (100%) rename {acer => nixos/hardware/acer}/aspire/4810t/README.wiki (100%) rename {acer => nixos/hardware/acer}/aspire/4810t/default.nix (100%) rename {airis => nixos/hardware/airis}/n990/default.nix (100%) rename {apple => nixos/hardware/apple}/default.nix (100%) rename {apple => nixos/hardware/apple}/macbook-air/3/default.nix (100%) rename {apple => nixos/hardware/apple}/macbook-air/4/default.nix (100%) rename {apple => nixos/hardware/apple}/macbook-air/6/default.nix (100%) rename {apple => nixos/hardware/apple}/macbook-air/default.nix (100%) rename {apple => nixos/hardware/apple}/macbook-pro/10-1/README.wiki (100%) rename {apple => nixos/hardware/apple}/macbook-pro/10-1/default.nix (100%) rename {apple => nixos/hardware/apple}/macbook-pro/11-5/README.md (100%) rename {apple => nixos/hardware/apple}/macbook-pro/11-5/default.nix (100%) rename {apple => nixos/hardware/apple}/macbook-pro/12-1/default.nix (100%) rename {apple => nixos/hardware/apple}/macbook-pro/default.nix (100%) rename {asus => nixos/hardware/asus}/wireless-ac1300.nix (100%) rename {audio-gd => nixos/hardware/audio-gd}/compass2.nix (100%) rename {beagleboard => nixos/hardware/beagleboard}/pocketbeagle/default.nix (100%) rename {common => nixos/hardware/common}/cpu/amd/default.nix (100%) rename {common => nixos/hardware/common}/cpu/intel/default.nix (100%) rename {common => nixos/hardware/common}/cpu/intel/kaby-lake/default.nix (100%) rename {common => nixos/hardware/common}/cpu/intel/sandy-bridge/default.nix (100%) rename {common => nixos/hardware/common}/pc/default.nix (100%) rename {common => nixos/hardware/common}/pc/hdd/default.nix (100%) rename {common => nixos/hardware/common}/pc/laptop/acpi_call.nix (100%) rename {common => nixos/hardware/common}/pc/laptop/default.nix (100%) rename {common => nixos/hardware/common}/pc/laptop/hdd/default.nix (100%) rename {common => nixos/hardware/common}/pc/laptop/ssd (100%) rename {common => nixos/hardware/common}/pc/ssd/default.nix (100%) rename default.nix => nixos/hardware/default.nix (100%) rename {dell => nixos/hardware/dell}/e7240/README.md (100%) rename {dell => nixos/hardware/dell}/e7240/default.nix (100%) rename {dell => nixos/hardware/dell}/latitude/3480/default.nix (100%) rename {dell => nixos/hardware/dell}/xps/13-7390/README.wiki (100%) rename {dell => nixos/hardware/dell}/xps/13-7390/default.nix (100%) rename {dell => nixos/hardware/dell}/xps/13-9360/default.nix (100%) rename {dell => nixos/hardware/dell}/xps/13-9360/qca6174-firmware.nix (100%) rename {dell => nixos/hardware/dell}/xps/13-9370/README.wiki (100%) rename {dell => nixos/hardware/dell}/xps/13-9370/default.nix (100%) rename {dell => nixos/hardware/dell}/xps/13-9380/README.wiki (100%) rename {dell => nixos/hardware/dell}/xps/13-9380/default.nix (100%) rename {dell => nixos/hardware/dell}/xps/15-7590/README.wiki (100%) rename {dell => nixos/hardware/dell}/xps/15-7590/default.nix (100%) rename {dell => nixos/hardware/dell}/xps/15-9550/README.wiki (100%) rename {dell => nixos/hardware/dell}/xps/15-9550/default.nix (100%) rename {dell => nixos/hardware/dell}/xps/15-9560/README.wiki (100%) rename {dell => nixos/hardware/dell}/xps/15-9560/default.nix (100%) rename {dell => nixos/hardware/dell}/xps/15-9560/intel/default.nix (100%) rename {dell => nixos/hardware/dell}/xps/15-9560/nvidia/default.nix (100%) rename {dell => nixos/hardware/dell}/xps/15-9560/xps-common.nix (100%) rename {google => nixos/hardware/google}/pixelbook/default.nix (100%) rename {inversepath => nixos/hardware/inversepath}/usbarmory/README.txt (100%) rename {inversepath => nixos/hardware/inversepath}/usbarmory/default.nix (100%) rename {inversepath => nixos/hardware/inversepath}/usbarmory/host.nix (100%) rename {inversepath => nixos/hardware/inversepath}/usbarmory/kernel.config (100%) rename {inversepath => nixos/hardware/inversepath}/usbarmory/kernel.nix (100%) rename {inversepath => nixos/hardware/inversepath}/usbarmory/usbarmory-dts.patch (100%) rename {lenovo => nixos/hardware/lenovo}/ideapad/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/ideapad/z510/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/e495/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/l13/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/p53/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/t410/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/t420/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/t430/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/t440p/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/t440s/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/t450s/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/t460s/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/t470s/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/t480s/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/t490/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/t490/t490-profile-set.conf (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/t495/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/tp-smapi.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/x1-extreme/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/x1-extreme/gen2/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/x1/6th-gen/QHD/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/x1/6th-gen/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/x1/7th-gen/audio.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/x1/7th-gen/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/x1/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/x140e/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/x220/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/x230/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/x250/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/x260/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/x270/default.nix (100%) rename {lenovo => nixos/hardware/lenovo}/thinkpad/x280/default.nix (100%) rename {microsoft => nixos/hardware/microsoft}/hyper-v/README.md (100%) rename {microsoft => nixos/hardware/microsoft}/surface-pro/3/README.wiki (100%) rename {microsoft => nixos/hardware/microsoft}/surface-pro/3/default.nix (100%) rename {pcengines => nixos/hardware/pcengines}/apu/default.nix (100%) rename {purism => nixos/hardware/purism}/librem/13v3/README.md (100%) rename {purism => nixos/hardware/purism}/librem/13v3/default.nix (100%) rename {purism => nixos/hardware/purism}/librem/15v3 (100%) rename {raspberry-pi => nixos/hardware/raspberry-pi}/2/README.org (100%) rename {raspberry-pi => nixos/hardware/raspberry-pi}/2/default.nix (100%) rename {samsung => nixos/hardware/samsung}/np900x3c/README.wiki (100%) rename {samsung => nixos/hardware/samsung}/np900x3c/default.nix (100%) rename {supermicro => nixos/hardware/supermicro}/a1sri-2758f/default.nix (100%) rename {supermicro => nixos/hardware/supermicro}/x10sll-f/default.nix (100%) rename {tests => nixos/hardware/tests}/build-profile.nix (100%) rename {tests => nixos/hardware/tests}/run.py (100%) rename {toshiba => nixos/hardware/toshiba}/swanky/README.md (100%) rename {toshiba => nixos/hardware/toshiba}/swanky/default.nix (100%) rename {tuxedo => nixos/hardware/tuxedo}/infinitybook/v4/default.nix (100%) diff --git a/.gitignore b/nixos/hardware/.gitignore similarity index 100% rename from .gitignore rename to nixos/hardware/.gitignore diff --git a/.travis.yml b/nixos/hardware/.travis.yml similarity index 100% rename from .travis.yml rename to nixos/hardware/.travis.yml diff --git a/CODEOWNERS b/nixos/hardware/CODEOWNERS similarity index 100% rename from CODEOWNERS rename to nixos/hardware/CODEOWNERS diff --git a/CONTRIBUTING.md b/nixos/hardware/CONTRIBUTING.md similarity index 100% rename from CONTRIBUTING.md rename to nixos/hardware/CONTRIBUTING.md diff --git a/COPYING b/nixos/hardware/COPYING similarity index 100% rename from COPYING rename to nixos/hardware/COPYING diff --git a/README.md b/nixos/hardware/README.md similarity index 100% rename from README.md rename to nixos/hardware/README.md diff --git a/acer/aspire/4810t/README.wiki b/nixos/hardware/acer/aspire/4810t/README.wiki similarity index 100% rename from acer/aspire/4810t/README.wiki rename to nixos/hardware/acer/aspire/4810t/README.wiki diff --git a/acer/aspire/4810t/default.nix b/nixos/hardware/acer/aspire/4810t/default.nix similarity index 100% rename from acer/aspire/4810t/default.nix rename to nixos/hardware/acer/aspire/4810t/default.nix diff --git a/airis/n990/default.nix b/nixos/hardware/airis/n990/default.nix similarity index 100% rename from airis/n990/default.nix rename to nixos/hardware/airis/n990/default.nix diff --git a/apple/default.nix b/nixos/hardware/apple/default.nix similarity index 100% rename from apple/default.nix rename to nixos/hardware/apple/default.nix diff --git a/apple/macbook-air/3/default.nix b/nixos/hardware/apple/macbook-air/3/default.nix similarity index 100% rename from apple/macbook-air/3/default.nix rename to nixos/hardware/apple/macbook-air/3/default.nix diff --git a/apple/macbook-air/4/default.nix b/nixos/hardware/apple/macbook-air/4/default.nix similarity index 100% rename from apple/macbook-air/4/default.nix rename to nixos/hardware/apple/macbook-air/4/default.nix diff --git a/apple/macbook-air/6/default.nix b/nixos/hardware/apple/macbook-air/6/default.nix similarity index 100% rename from apple/macbook-air/6/default.nix rename to nixos/hardware/apple/macbook-air/6/default.nix diff --git a/apple/macbook-air/default.nix b/nixos/hardware/apple/macbook-air/default.nix similarity index 100% rename from apple/macbook-air/default.nix rename to nixos/hardware/apple/macbook-air/default.nix diff --git a/apple/macbook-pro/10-1/README.wiki b/nixos/hardware/apple/macbook-pro/10-1/README.wiki similarity index 100% rename from apple/macbook-pro/10-1/README.wiki rename to nixos/hardware/apple/macbook-pro/10-1/README.wiki diff --git a/apple/macbook-pro/10-1/default.nix b/nixos/hardware/apple/macbook-pro/10-1/default.nix similarity index 100% rename from apple/macbook-pro/10-1/default.nix rename to nixos/hardware/apple/macbook-pro/10-1/default.nix diff --git a/apple/macbook-pro/11-5/README.md b/nixos/hardware/apple/macbook-pro/11-5/README.md similarity index 100% rename from apple/macbook-pro/11-5/README.md rename to nixos/hardware/apple/macbook-pro/11-5/README.md diff --git a/apple/macbook-pro/11-5/default.nix b/nixos/hardware/apple/macbook-pro/11-5/default.nix similarity index 100% rename from apple/macbook-pro/11-5/default.nix rename to nixos/hardware/apple/macbook-pro/11-5/default.nix diff --git a/apple/macbook-pro/12-1/default.nix b/nixos/hardware/apple/macbook-pro/12-1/default.nix similarity index 100% rename from apple/macbook-pro/12-1/default.nix rename to nixos/hardware/apple/macbook-pro/12-1/default.nix diff --git a/apple/macbook-pro/default.nix b/nixos/hardware/apple/macbook-pro/default.nix similarity index 100% rename from apple/macbook-pro/default.nix rename to nixos/hardware/apple/macbook-pro/default.nix diff --git a/asus/wireless-ac1300.nix b/nixos/hardware/asus/wireless-ac1300.nix similarity index 100% rename from asus/wireless-ac1300.nix rename to nixos/hardware/asus/wireless-ac1300.nix diff --git a/audio-gd/compass2.nix b/nixos/hardware/audio-gd/compass2.nix similarity index 100% rename from audio-gd/compass2.nix rename to nixos/hardware/audio-gd/compass2.nix diff --git a/beagleboard/pocketbeagle/default.nix b/nixos/hardware/beagleboard/pocketbeagle/default.nix similarity index 100% rename from beagleboard/pocketbeagle/default.nix rename to nixos/hardware/beagleboard/pocketbeagle/default.nix diff --git a/common/cpu/amd/default.nix b/nixos/hardware/common/cpu/amd/default.nix similarity index 100% rename from common/cpu/amd/default.nix rename to nixos/hardware/common/cpu/amd/default.nix diff --git a/common/cpu/intel/default.nix b/nixos/hardware/common/cpu/intel/default.nix similarity index 100% rename from common/cpu/intel/default.nix rename to nixos/hardware/common/cpu/intel/default.nix diff --git a/common/cpu/intel/kaby-lake/default.nix b/nixos/hardware/common/cpu/intel/kaby-lake/default.nix similarity index 100% rename from common/cpu/intel/kaby-lake/default.nix rename to nixos/hardware/common/cpu/intel/kaby-lake/default.nix diff --git a/common/cpu/intel/sandy-bridge/default.nix b/nixos/hardware/common/cpu/intel/sandy-bridge/default.nix similarity index 100% rename from common/cpu/intel/sandy-bridge/default.nix rename to nixos/hardware/common/cpu/intel/sandy-bridge/default.nix diff --git a/common/pc/default.nix b/nixos/hardware/common/pc/default.nix similarity index 100% rename from common/pc/default.nix rename to nixos/hardware/common/pc/default.nix diff --git a/common/pc/hdd/default.nix b/nixos/hardware/common/pc/hdd/default.nix similarity index 100% rename from common/pc/hdd/default.nix rename to nixos/hardware/common/pc/hdd/default.nix diff --git a/common/pc/laptop/acpi_call.nix b/nixos/hardware/common/pc/laptop/acpi_call.nix similarity index 100% rename from common/pc/laptop/acpi_call.nix rename to nixos/hardware/common/pc/laptop/acpi_call.nix diff --git a/common/pc/laptop/default.nix b/nixos/hardware/common/pc/laptop/default.nix similarity index 100% rename from common/pc/laptop/default.nix rename to nixos/hardware/common/pc/laptop/default.nix diff --git a/common/pc/laptop/hdd/default.nix b/nixos/hardware/common/pc/laptop/hdd/default.nix similarity index 100% rename from common/pc/laptop/hdd/default.nix rename to nixos/hardware/common/pc/laptop/hdd/default.nix diff --git a/common/pc/laptop/ssd b/nixos/hardware/common/pc/laptop/ssd similarity index 100% rename from common/pc/laptop/ssd rename to nixos/hardware/common/pc/laptop/ssd diff --git a/common/pc/ssd/default.nix b/nixos/hardware/common/pc/ssd/default.nix similarity index 100% rename from common/pc/ssd/default.nix rename to nixos/hardware/common/pc/ssd/default.nix diff --git a/default.nix b/nixos/hardware/default.nix similarity index 100% rename from default.nix rename to nixos/hardware/default.nix diff --git a/dell/e7240/README.md b/nixos/hardware/dell/e7240/README.md similarity index 100% rename from dell/e7240/README.md rename to nixos/hardware/dell/e7240/README.md diff --git a/dell/e7240/default.nix b/nixos/hardware/dell/e7240/default.nix similarity index 100% rename from dell/e7240/default.nix rename to nixos/hardware/dell/e7240/default.nix diff --git a/dell/latitude/3480/default.nix b/nixos/hardware/dell/latitude/3480/default.nix similarity index 100% rename from dell/latitude/3480/default.nix rename to nixos/hardware/dell/latitude/3480/default.nix diff --git a/dell/xps/13-7390/README.wiki b/nixos/hardware/dell/xps/13-7390/README.wiki similarity index 100% rename from dell/xps/13-7390/README.wiki rename to nixos/hardware/dell/xps/13-7390/README.wiki diff --git a/dell/xps/13-7390/default.nix b/nixos/hardware/dell/xps/13-7390/default.nix similarity index 100% rename from dell/xps/13-7390/default.nix rename to nixos/hardware/dell/xps/13-7390/default.nix diff --git a/dell/xps/13-9360/default.nix b/nixos/hardware/dell/xps/13-9360/default.nix similarity index 100% rename from dell/xps/13-9360/default.nix rename to nixos/hardware/dell/xps/13-9360/default.nix diff --git a/dell/xps/13-9360/qca6174-firmware.nix b/nixos/hardware/dell/xps/13-9360/qca6174-firmware.nix similarity index 100% rename from dell/xps/13-9360/qca6174-firmware.nix rename to nixos/hardware/dell/xps/13-9360/qca6174-firmware.nix diff --git a/dell/xps/13-9370/README.wiki b/nixos/hardware/dell/xps/13-9370/README.wiki similarity index 100% rename from dell/xps/13-9370/README.wiki rename to nixos/hardware/dell/xps/13-9370/README.wiki diff --git a/dell/xps/13-9370/default.nix b/nixos/hardware/dell/xps/13-9370/default.nix similarity index 100% rename from dell/xps/13-9370/default.nix rename to nixos/hardware/dell/xps/13-9370/default.nix diff --git a/dell/xps/13-9380/README.wiki b/nixos/hardware/dell/xps/13-9380/README.wiki similarity index 100% rename from dell/xps/13-9380/README.wiki rename to nixos/hardware/dell/xps/13-9380/README.wiki diff --git a/dell/xps/13-9380/default.nix b/nixos/hardware/dell/xps/13-9380/default.nix similarity index 100% rename from dell/xps/13-9380/default.nix rename to nixos/hardware/dell/xps/13-9380/default.nix diff --git a/dell/xps/15-7590/README.wiki b/nixos/hardware/dell/xps/15-7590/README.wiki similarity index 100% rename from dell/xps/15-7590/README.wiki rename to nixos/hardware/dell/xps/15-7590/README.wiki diff --git a/dell/xps/15-7590/default.nix b/nixos/hardware/dell/xps/15-7590/default.nix similarity index 100% rename from dell/xps/15-7590/default.nix rename to nixos/hardware/dell/xps/15-7590/default.nix diff --git a/dell/xps/15-9550/README.wiki b/nixos/hardware/dell/xps/15-9550/README.wiki similarity index 100% rename from dell/xps/15-9550/README.wiki rename to nixos/hardware/dell/xps/15-9550/README.wiki diff --git a/dell/xps/15-9550/default.nix b/nixos/hardware/dell/xps/15-9550/default.nix similarity index 100% rename from dell/xps/15-9550/default.nix rename to nixos/hardware/dell/xps/15-9550/default.nix diff --git a/dell/xps/15-9560/README.wiki b/nixos/hardware/dell/xps/15-9560/README.wiki similarity index 100% rename from dell/xps/15-9560/README.wiki rename to nixos/hardware/dell/xps/15-9560/README.wiki diff --git a/dell/xps/15-9560/default.nix b/nixos/hardware/dell/xps/15-9560/default.nix similarity index 100% rename from dell/xps/15-9560/default.nix rename to nixos/hardware/dell/xps/15-9560/default.nix diff --git a/dell/xps/15-9560/intel/default.nix b/nixos/hardware/dell/xps/15-9560/intel/default.nix similarity index 100% rename from dell/xps/15-9560/intel/default.nix rename to nixos/hardware/dell/xps/15-9560/intel/default.nix diff --git a/dell/xps/15-9560/nvidia/default.nix b/nixos/hardware/dell/xps/15-9560/nvidia/default.nix similarity index 100% rename from dell/xps/15-9560/nvidia/default.nix rename to nixos/hardware/dell/xps/15-9560/nvidia/default.nix diff --git a/dell/xps/15-9560/xps-common.nix b/nixos/hardware/dell/xps/15-9560/xps-common.nix similarity index 100% rename from dell/xps/15-9560/xps-common.nix rename to nixos/hardware/dell/xps/15-9560/xps-common.nix diff --git a/google/pixelbook/default.nix b/nixos/hardware/google/pixelbook/default.nix similarity index 100% rename from google/pixelbook/default.nix rename to nixos/hardware/google/pixelbook/default.nix diff --git a/inversepath/usbarmory/README.txt b/nixos/hardware/inversepath/usbarmory/README.txt similarity index 100% rename from inversepath/usbarmory/README.txt rename to nixos/hardware/inversepath/usbarmory/README.txt diff --git a/inversepath/usbarmory/default.nix b/nixos/hardware/inversepath/usbarmory/default.nix similarity index 100% rename from inversepath/usbarmory/default.nix rename to nixos/hardware/inversepath/usbarmory/default.nix diff --git a/inversepath/usbarmory/host.nix b/nixos/hardware/inversepath/usbarmory/host.nix similarity index 100% rename from inversepath/usbarmory/host.nix rename to nixos/hardware/inversepath/usbarmory/host.nix diff --git a/inversepath/usbarmory/kernel.config b/nixos/hardware/inversepath/usbarmory/kernel.config similarity index 100% rename from inversepath/usbarmory/kernel.config rename to nixos/hardware/inversepath/usbarmory/kernel.config diff --git a/inversepath/usbarmory/kernel.nix b/nixos/hardware/inversepath/usbarmory/kernel.nix similarity index 100% rename from inversepath/usbarmory/kernel.nix rename to nixos/hardware/inversepath/usbarmory/kernel.nix diff --git a/inversepath/usbarmory/usbarmory-dts.patch b/nixos/hardware/inversepath/usbarmory/usbarmory-dts.patch similarity index 100% rename from inversepath/usbarmory/usbarmory-dts.patch rename to nixos/hardware/inversepath/usbarmory/usbarmory-dts.patch diff --git a/lenovo/ideapad/default.nix b/nixos/hardware/lenovo/ideapad/default.nix similarity index 100% rename from lenovo/ideapad/default.nix rename to nixos/hardware/lenovo/ideapad/default.nix diff --git a/lenovo/ideapad/z510/default.nix b/nixos/hardware/lenovo/ideapad/z510/default.nix similarity index 100% rename from lenovo/ideapad/z510/default.nix rename to nixos/hardware/lenovo/ideapad/z510/default.nix diff --git a/lenovo/thinkpad/default.nix b/nixos/hardware/lenovo/thinkpad/default.nix similarity index 100% rename from lenovo/thinkpad/default.nix rename to nixos/hardware/lenovo/thinkpad/default.nix diff --git a/lenovo/thinkpad/e495/default.nix b/nixos/hardware/lenovo/thinkpad/e495/default.nix similarity index 100% rename from lenovo/thinkpad/e495/default.nix rename to nixos/hardware/lenovo/thinkpad/e495/default.nix diff --git a/lenovo/thinkpad/l13/default.nix b/nixos/hardware/lenovo/thinkpad/l13/default.nix similarity index 100% rename from lenovo/thinkpad/l13/default.nix rename to nixos/hardware/lenovo/thinkpad/l13/default.nix diff --git a/lenovo/thinkpad/p53/default.nix b/nixos/hardware/lenovo/thinkpad/p53/default.nix similarity index 100% rename from lenovo/thinkpad/p53/default.nix rename to nixos/hardware/lenovo/thinkpad/p53/default.nix diff --git a/lenovo/thinkpad/t410/default.nix b/nixos/hardware/lenovo/thinkpad/t410/default.nix similarity index 100% rename from lenovo/thinkpad/t410/default.nix rename to nixos/hardware/lenovo/thinkpad/t410/default.nix diff --git a/lenovo/thinkpad/t420/default.nix b/nixos/hardware/lenovo/thinkpad/t420/default.nix similarity index 100% rename from lenovo/thinkpad/t420/default.nix rename to nixos/hardware/lenovo/thinkpad/t420/default.nix diff --git a/lenovo/thinkpad/t430/default.nix b/nixos/hardware/lenovo/thinkpad/t430/default.nix similarity index 100% rename from lenovo/thinkpad/t430/default.nix rename to nixos/hardware/lenovo/thinkpad/t430/default.nix diff --git a/lenovo/thinkpad/t440p/default.nix b/nixos/hardware/lenovo/thinkpad/t440p/default.nix similarity index 100% rename from lenovo/thinkpad/t440p/default.nix rename to nixos/hardware/lenovo/thinkpad/t440p/default.nix diff --git a/lenovo/thinkpad/t440s/default.nix b/nixos/hardware/lenovo/thinkpad/t440s/default.nix similarity index 100% rename from lenovo/thinkpad/t440s/default.nix rename to nixos/hardware/lenovo/thinkpad/t440s/default.nix diff --git a/lenovo/thinkpad/t450s/default.nix b/nixos/hardware/lenovo/thinkpad/t450s/default.nix similarity index 100% rename from lenovo/thinkpad/t450s/default.nix rename to nixos/hardware/lenovo/thinkpad/t450s/default.nix diff --git a/lenovo/thinkpad/t460s/default.nix b/nixos/hardware/lenovo/thinkpad/t460s/default.nix similarity index 100% rename from lenovo/thinkpad/t460s/default.nix rename to nixos/hardware/lenovo/thinkpad/t460s/default.nix diff --git a/lenovo/thinkpad/t470s/default.nix b/nixos/hardware/lenovo/thinkpad/t470s/default.nix similarity index 100% rename from lenovo/thinkpad/t470s/default.nix rename to nixos/hardware/lenovo/thinkpad/t470s/default.nix diff --git a/lenovo/thinkpad/t480s/default.nix b/nixos/hardware/lenovo/thinkpad/t480s/default.nix similarity index 100% rename from lenovo/thinkpad/t480s/default.nix rename to nixos/hardware/lenovo/thinkpad/t480s/default.nix diff --git a/lenovo/thinkpad/t490/default.nix b/nixos/hardware/lenovo/thinkpad/t490/default.nix similarity index 100% rename from lenovo/thinkpad/t490/default.nix rename to nixos/hardware/lenovo/thinkpad/t490/default.nix diff --git a/lenovo/thinkpad/t490/t490-profile-set.conf b/nixos/hardware/lenovo/thinkpad/t490/t490-profile-set.conf similarity index 100% rename from lenovo/thinkpad/t490/t490-profile-set.conf rename to nixos/hardware/lenovo/thinkpad/t490/t490-profile-set.conf diff --git a/lenovo/thinkpad/t495/default.nix b/nixos/hardware/lenovo/thinkpad/t495/default.nix similarity index 100% rename from lenovo/thinkpad/t495/default.nix rename to nixos/hardware/lenovo/thinkpad/t495/default.nix diff --git a/lenovo/thinkpad/tp-smapi.nix b/nixos/hardware/lenovo/thinkpad/tp-smapi.nix similarity index 100% rename from lenovo/thinkpad/tp-smapi.nix rename to nixos/hardware/lenovo/thinkpad/tp-smapi.nix diff --git a/lenovo/thinkpad/x1-extreme/default.nix b/nixos/hardware/lenovo/thinkpad/x1-extreme/default.nix similarity index 100% rename from lenovo/thinkpad/x1-extreme/default.nix rename to nixos/hardware/lenovo/thinkpad/x1-extreme/default.nix diff --git a/lenovo/thinkpad/x1-extreme/gen2/default.nix b/nixos/hardware/lenovo/thinkpad/x1-extreme/gen2/default.nix similarity index 100% rename from lenovo/thinkpad/x1-extreme/gen2/default.nix rename to nixos/hardware/lenovo/thinkpad/x1-extreme/gen2/default.nix diff --git a/lenovo/thinkpad/x1/6th-gen/QHD/default.nix b/nixos/hardware/lenovo/thinkpad/x1/6th-gen/QHD/default.nix similarity index 100% rename from lenovo/thinkpad/x1/6th-gen/QHD/default.nix rename to nixos/hardware/lenovo/thinkpad/x1/6th-gen/QHD/default.nix diff --git a/lenovo/thinkpad/x1/6th-gen/default.nix b/nixos/hardware/lenovo/thinkpad/x1/6th-gen/default.nix similarity index 100% rename from lenovo/thinkpad/x1/6th-gen/default.nix rename to nixos/hardware/lenovo/thinkpad/x1/6th-gen/default.nix diff --git a/lenovo/thinkpad/x1/7th-gen/audio.nix b/nixos/hardware/lenovo/thinkpad/x1/7th-gen/audio.nix similarity index 100% rename from lenovo/thinkpad/x1/7th-gen/audio.nix rename to nixos/hardware/lenovo/thinkpad/x1/7th-gen/audio.nix diff --git a/lenovo/thinkpad/x1/7th-gen/default.nix b/nixos/hardware/lenovo/thinkpad/x1/7th-gen/default.nix similarity index 100% rename from lenovo/thinkpad/x1/7th-gen/default.nix rename to nixos/hardware/lenovo/thinkpad/x1/7th-gen/default.nix diff --git a/lenovo/thinkpad/x1/default.nix b/nixos/hardware/lenovo/thinkpad/x1/default.nix similarity index 100% rename from lenovo/thinkpad/x1/default.nix rename to nixos/hardware/lenovo/thinkpad/x1/default.nix diff --git a/lenovo/thinkpad/x140e/default.nix b/nixos/hardware/lenovo/thinkpad/x140e/default.nix similarity index 100% rename from lenovo/thinkpad/x140e/default.nix rename to nixos/hardware/lenovo/thinkpad/x140e/default.nix diff --git a/lenovo/thinkpad/x220/default.nix b/nixos/hardware/lenovo/thinkpad/x220/default.nix similarity index 100% rename from lenovo/thinkpad/x220/default.nix rename to nixos/hardware/lenovo/thinkpad/x220/default.nix diff --git a/lenovo/thinkpad/x230/default.nix b/nixos/hardware/lenovo/thinkpad/x230/default.nix similarity index 100% rename from lenovo/thinkpad/x230/default.nix rename to nixos/hardware/lenovo/thinkpad/x230/default.nix diff --git a/lenovo/thinkpad/x250/default.nix b/nixos/hardware/lenovo/thinkpad/x250/default.nix similarity index 100% rename from lenovo/thinkpad/x250/default.nix rename to nixos/hardware/lenovo/thinkpad/x250/default.nix diff --git a/lenovo/thinkpad/x260/default.nix b/nixos/hardware/lenovo/thinkpad/x260/default.nix similarity index 100% rename from lenovo/thinkpad/x260/default.nix rename to nixos/hardware/lenovo/thinkpad/x260/default.nix diff --git a/lenovo/thinkpad/x270/default.nix b/nixos/hardware/lenovo/thinkpad/x270/default.nix similarity index 100% rename from lenovo/thinkpad/x270/default.nix rename to nixos/hardware/lenovo/thinkpad/x270/default.nix diff --git a/lenovo/thinkpad/x280/default.nix b/nixos/hardware/lenovo/thinkpad/x280/default.nix similarity index 100% rename from lenovo/thinkpad/x280/default.nix rename to nixos/hardware/lenovo/thinkpad/x280/default.nix diff --git a/microsoft/hyper-v/README.md b/nixos/hardware/microsoft/hyper-v/README.md similarity index 100% rename from microsoft/hyper-v/README.md rename to nixos/hardware/microsoft/hyper-v/README.md diff --git a/microsoft/surface-pro/3/README.wiki b/nixos/hardware/microsoft/surface-pro/3/README.wiki similarity index 100% rename from microsoft/surface-pro/3/README.wiki rename to nixos/hardware/microsoft/surface-pro/3/README.wiki diff --git a/microsoft/surface-pro/3/default.nix b/nixos/hardware/microsoft/surface-pro/3/default.nix similarity index 100% rename from microsoft/surface-pro/3/default.nix rename to nixos/hardware/microsoft/surface-pro/3/default.nix diff --git a/pcengines/apu/default.nix b/nixos/hardware/pcengines/apu/default.nix similarity index 100% rename from pcengines/apu/default.nix rename to nixos/hardware/pcengines/apu/default.nix diff --git a/purism/librem/13v3/README.md b/nixos/hardware/purism/librem/13v3/README.md similarity index 100% rename from purism/librem/13v3/README.md rename to nixos/hardware/purism/librem/13v3/README.md diff --git a/purism/librem/13v3/default.nix b/nixos/hardware/purism/librem/13v3/default.nix similarity index 100% rename from purism/librem/13v3/default.nix rename to nixos/hardware/purism/librem/13v3/default.nix diff --git a/purism/librem/15v3 b/nixos/hardware/purism/librem/15v3 similarity index 100% rename from purism/librem/15v3 rename to nixos/hardware/purism/librem/15v3 diff --git a/raspberry-pi/2/README.org b/nixos/hardware/raspberry-pi/2/README.org similarity index 100% rename from raspberry-pi/2/README.org rename to nixos/hardware/raspberry-pi/2/README.org diff --git a/raspberry-pi/2/default.nix b/nixos/hardware/raspberry-pi/2/default.nix similarity index 100% rename from raspberry-pi/2/default.nix rename to nixos/hardware/raspberry-pi/2/default.nix diff --git a/samsung/np900x3c/README.wiki b/nixos/hardware/samsung/np900x3c/README.wiki similarity index 100% rename from samsung/np900x3c/README.wiki rename to nixos/hardware/samsung/np900x3c/README.wiki diff --git a/samsung/np900x3c/default.nix b/nixos/hardware/samsung/np900x3c/default.nix similarity index 100% rename from samsung/np900x3c/default.nix rename to nixos/hardware/samsung/np900x3c/default.nix diff --git a/supermicro/a1sri-2758f/default.nix b/nixos/hardware/supermicro/a1sri-2758f/default.nix similarity index 100% rename from supermicro/a1sri-2758f/default.nix rename to nixos/hardware/supermicro/a1sri-2758f/default.nix diff --git a/supermicro/x10sll-f/default.nix b/nixos/hardware/supermicro/x10sll-f/default.nix similarity index 100% rename from supermicro/x10sll-f/default.nix rename to nixos/hardware/supermicro/x10sll-f/default.nix diff --git a/tests/build-profile.nix b/nixos/hardware/tests/build-profile.nix similarity index 100% rename from tests/build-profile.nix rename to nixos/hardware/tests/build-profile.nix diff --git a/tests/run.py b/nixos/hardware/tests/run.py similarity index 100% rename from tests/run.py rename to nixos/hardware/tests/run.py diff --git a/toshiba/swanky/README.md b/nixos/hardware/toshiba/swanky/README.md similarity index 100% rename from toshiba/swanky/README.md rename to nixos/hardware/toshiba/swanky/README.md diff --git a/toshiba/swanky/default.nix b/nixos/hardware/toshiba/swanky/default.nix similarity index 100% rename from toshiba/swanky/default.nix rename to nixos/hardware/toshiba/swanky/default.nix diff --git a/tuxedo/infinitybook/v4/default.nix b/nixos/hardware/tuxedo/infinitybook/v4/default.nix similarity index 100% rename from tuxedo/infinitybook/v4/default.nix rename to nixos/hardware/tuxedo/infinitybook/v4/default.nix