From 1cc76f5b17353f1f1aceb6c1f79d7a250a8c8d63 Mon Sep 17 00:00:00 2001 From: aszlig Date: Tue, 23 Feb 2016 11:43:01 +0100 Subject: hardware/t100ha: Add custom kernel + patches The custom kernel has built in modules for the MMC storage and a small patch which is essentially diff of the merge of the "drm-intel-fixes" branch from git://anongit.freedesktop.org/drm-intel against 4.5-rc5. This is the HEAD of what I have merged: https://cgit.freedesktop.org/drm-intel/commit/?h=drm-intel-fixes&id=9b18572e83bfd5378b3fcff3acf123f7bddf558a Eventually these fixes will hit mainline so we can drop them very soon. Signed-off-by: aszlig --- modules/hardware/t100ha/default.nix | 44 ++++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 6 deletions(-) (limited to 'modules/hardware/t100ha/default.nix') diff --git a/modules/hardware/t100ha/default.nix b/modules/hardware/t100ha/default.nix index f0beea65..c55a1acc 100644 --- a/modules/hardware/t100ha/default.nix +++ b/modules/hardware/t100ha/default.nix @@ -8,13 +8,45 @@ in { options.vuizvui.hardware.t100ha.enable = lib.mkEnableOption desc; config = lib.mkIf cfg.enable { - # Needed for booting from MMC: - boot.initrd.availableKernelModules = [ - "xhci_pci" "sdhci_acpi" "mmc_block" - ]; + # It's a CherryTrail SoC, so we want to have the latest and greatest with a + # few additional patches: + boot.kernelPackages = let + nixpkgs = import ../../../nixpkgs-path.nix; + mkKernel = import "${nixpkgs}/pkgs/os-specific/linux/kernel/generic.nix"; + t100haKernel = mkKernel rec { + version = "4.5-rc5"; + modDirVersion = "4.5.0-rc5"; + extraMeta.branch = "4.5"; - # It's a CherryTrail SoC, so we want to have the latest and greatest: - boot.kernelPackages = pkgs.linuxPackages_latest; + src = pkgs.fetchurl { + url = "mirror://kernel/linux/kernel/v4.x/testing/" + + "linux-${version}.tar.xz"; + sha256 = "06qlypnrlkckxhf3clq6l2d3kps7rwfw811sxapjbnhzjd75fcx8"; + }; + + kernelPatches = lib.singleton { + name = "drm-fixes.patch"; + patch = ./drm-fixes.patch; + }; + + extraConfig = '' + MMC y + MMC_BLOCK y + MMC_SDHCI y + MMC_SDHCI_ACPI y + PINCTRL_CHERRYVIEW y + ''; + + features.iwlwifi = true; + features.efiBootStub = true; + features.needsCifsUtils = true; + features.canDisableNetfilterConntrackHelpers = true; + features.netfilterRPFilter = true; + + inherit (pkgs) stdenv perl buildLinux; + }; + self = pkgs.linuxPackagesFor t100haKernel self; + in self; # By default the console is rotated by 90 degrees to the right. boot.kernelParams = [ "fbcon=rotate:3" ]; -- cgit 1.4.1