From 0658481977a4b228273a4241ca2a485b4782d8f0 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Mon, 6 Jan 2020 15:21:57 -0500 Subject: [PATCH] Add kernel build --- kernel/default.nix | 47 ++++++++++++++++++++++++++++++++++++++++++++++ overlay.nix | 29 +++++++++++++++++++++++++++- 2 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 kernel/default.nix diff --git a/kernel/default.nix b/kernel/default.nix new file mode 100644 index 0000000..628a4ed --- /dev/null +++ b/kernel/default.nix @@ -0,0 +1,47 @@ +{ stdenv +, buildPackages +, fetchFromGitLab +, perl +, buildLinux +, modDirVersionArg ? null +, ... } @ args: + +let + inherit (stdenv.lib) + concatStrings + intersperse + take + splitString + optionalString + ; +in +( + buildLinux (args // rec { + version = "5.4.0"; + + # modDirVersion needs to be x.y.z, will automatically add .0 if needed + modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg; + + # branchVersion needs to be x.y + extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version))); + + src = fetchFromGitLab { + domain = "gitlab.manjaro.org"; + owner = "tsys"; + repo = "linux-pinebook-pro"; + rev = "877ca0e7283596f37845de50dc36bff5b88b91e1"; + sha256 = "1g1ysnd25d5b8rv437n6cbjb9496aj2ljzk7zkqgdjllk66yipl4"; + }; + + postInstall = (optionalString (args ? postInstall) args.postInstall) + '' + mkdir -p "$out/nix-support" + cp -v "$buildRoot/.config" "$out/nix-support/build.config" + ''; + } // (args.argsOverride or {})) +) +#).overrideAttrs(args: { +# postInstall = (optionalString (args ? postInstall) args.postInstall) + '' +# mkdir -p "$out/nix-support" +# cp -v "$buildRoot/.config" "$out/nix-support/build.config" +# ''; +#}) diff --git a/overlay.nix b/overlay.nix index 524d8e2..48804ba 100644 --- a/overlay.nix +++ b/overlay.nix @@ -1,10 +1,37 @@ final: super: let - inherit (final) callPackage; + inherit (final) callPackage kernelPatches linuxPackagesFor; in { # Alternative BSP u-boot, with nvme support if desired # * https://gitlab.manjaro.org/manjaro-arm/packages/core/uboot-pinebookpro u-boot-pinebookpro = callPackage ./u-boot {}; + linux-pinebookpro = callPackage ./kernel { + kernelPatches = [ + kernelPatches.bridge_stp_helper + #kernelPatches.export_kernel_fpu_functions + { + name = "pinebookpro-config-fixes"; + patch = null; + extraConfig = '' + PCIE_ROCKCHIP y + PCIE_ROCKCHIP_HOST y + PCIE_DW_PLAT y + PCIE_DW_PLAT_HOST y + PHY_ROCKCHIP_PCIE y + PHY_ROCKCHIP_INNO_HDMI y + PHY_ROCKCHIP_DP y + ROCKCHIP_MBOX y + STAGING_MEDIA y + VIDEO_HANTRO y + VIDEO_HANTRO_ROCKCHIP y + USB_DWC2_PCI y + ROCKCHIP_LVDS y + ROCKCHIP_RGB y + ''; + } + ]; + }; + linuxPackages-pinebookpro = linuxPackagesFor final.linux-pinebookpro; }