blob: 78610f1b453aaccf7d8cb407f9fd86c1da3de2a2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
{
stdenv,
lib,
fetchurl,
fetchFromCodeberg,
linuxManualConfig,
...
}:
let pmaportsRev = "ecd710af96ac54650e945a268639f4a7cbc47960";
pmaports = "https://gitlab.postmarketos.org/postmarketOS/pmaports/-/raw/${pmaportsRev}/device/community/linux-postmarketos-allwinner";
patches = [
{ file = "0001-dts-add-dontbeevil-pinephone-devkit.patch";
hash = "sha256-zNUKUmg2Nfyeep3QxV0TKxU8HKrRrHZ4oRsE0DO7f2s="; }
{ file = "0002-dts-add-pinetab-dev-old-display-panel.patch";
hash = "sha256-TDlsfSeG5aPLKTKLEtKr/SMecVruWPW8vgcYUmRhMcs="; }
{ file = "0003-dts-pinetab-add-missing-ohci1.patch";
hash = "sha256-7rQ0O8yabfSyAL/cvrh9fIC3tMOkEkE7BfUDSOd+Mc8="; }
{ file = "0004-dts-pinetab-make-audio-routing-consistent-with-pinep.patch";
hash = "sha256-pt0zF7pEW2rtcI+HziOfOmCwoza2xKWZXrwUDai4OL8="; }
{ file = "0005-dts-pinephone-drop-modem-power-node.patch";
hash = "sha256-aPkA5Zz2Dt0VcixVNoT43EEcTzFdahEiThNfkmJ8jn8="; }
{ file = "0006-drm-panel-simple-Add-Hannstar-TQTM070CB501.patch";
hash = "sha256-9Dw9EXCB2TLzysQlqvnOenTqjF86tF14VjN9b4hMbrs="; }
{ file = "0007-ARM-dts-sun6i-Add-GoClever-Orion-70L-tablet.patch";
hash = "sha256-LardzbENRbPjDZrfd+r5sTYBd4hfy0EbkISK1zlJT/U="; }
{ file = "0008-drm-panel-simple-Add-Hannstar-HSD070IDW1-A.patch";
hash = "sha256-Ojb0+9yLyJzH2AM2ayvOdZKg7DFnMOvyp4sFALbJiOQ="; }
{ file = "0009-ARM-dts-sun6i-Add-Lark-FreeMe-70.2S-tablet.patch";
hash = "sha256-IchiHgAUEwED/biPUmpJiT+SBeEoDhywBM7Vz7RVsBY="; }
{ file = "0010-eMMC-workaround.patch";
hash = "sha256-ZlBH99pI74/1BkbAXUrrNyaUIvDqSKaI0FopA72Y6IQ="; }
{ file = "0011-arm64-dts-allwinner-orangepi-3-fix-ethernet.patch";
hash = "sha256-MIx4plKsTxhJAthGATi1Fh0er8YuMNrPqGqFuIsHfTI="; }
];
config-aarch64 = fetchurl {
url = "${pmaports}/config-postmarketos-allwinner.aarch64";
hash = "sha256-tr2J3pu+jquA7P0pp/G4FFq5sypxGEK/WYvCM0KVaS0=";
};
config-armv7 = fetchurl {
url = "${pmaports}/config-postmarketos-allwinner.armv7";
hash = "sha256-YIIhFtcKlX+PVC9SobCm4c4keSvE2BHQYZzm4x+xkSU=";
};
in
linuxManualConfig rec {
version = "6.18.3";
src = fetchFromCodeberg {
owner = "megi";
repo = "linux";
rev = "orange-pi-6.18-20260105-0049";
hash = "sha256-Gb2L8t8DBnTHNeUtYSM2FC0DthlBIwjRzsXyVCH76Ms=";
};
kernelPatches = lib.map
(patch: {
name = (lib.replaceString ".patch" "" patch.file);
patch = fetchurl {
url = "${pmaports}/${patch.file}";
hash = patch.hash;
};
})
patches;
configfile =
if stdenv.hostPlatform.isAarch64 then config-aarch64
else if stdenv.hostPlatform.isAarch32 then config-armv7
else throw "Unsupported architecture: ${stdenv.hostPlatform.system}";
allowImportFromDerivation = true;
extraMeta = {
description = "Kernel fork with Pine64 patches (megi's tree, slightly patched)";
homepage = "https://megous.com/git/linux/";
license = lib.licenses.gpl2Only;
maintainers = [];
};
}
|