1{ buildPackages, fetchFromGitHub, fetchurl, perl, buildLinux, libelf, util-linux, kernelPatches ? [], ... } @ args:
2
3buildLinux (args // rec {
4 version = "4.14.180-176";
5
6 # modDirVersion needs to be x.y.z.
7 modDirVersion = "4.14.180";
8
9 # branchVersion needs to be x.y.
10 extraMeta.branch = "4.14";
11
12 src = fetchFromGitHub {
13 owner = "hardkernel";
14 repo = "linux";
15 rev = version;
16 sha256 = "0n7i7a2bkrm9p1wfr20h54cqm32fbjvwyn703r6zm1f6ivqhk43v";
17 };
18
19 kernelPatches = args.kernelPatches ++ [{
20 name = "usbip-tools-fno-common";
21 patch = fetchurl {
22 url = "https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/patch/?id=d5efc2e6b98fe661dbd8dd0d5d5bfb961728e57a";
23 hash = "sha256-1CXYCV5zMLA4YdbCr8cO2N4CHEDzQChS9qbKYHPm3U4=";
24 };
25 }];
26
27 defconfig = "odroidxu4_defconfig";
28
29 # This extraConfig is (only) required because the gator module fails to build as-is.
30 extraConfig = ''
31
32 GATOR n
33
34 # This attempted fix applies correctly but does not fix the build.
35 #GATOR_MALI_MIDGARD_PATH ${src}/drivers/gpu/arm/midgard
36
37 '' + (args.extraConfig or "");
38
39 extraMeta.platforms = [ "armv7l-linux" ];
40
41} // (args.argsOverride or {}))