-
Notifications
You must be signed in to change notification settings - Fork 1
/
pkgs_jh7100.nix
81 lines (61 loc) · 1.56 KB
/
pkgs_jh7100.nix
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
78
79
80
81
let
newlibPkgs = import <nixpkgs> {
crossSystem = {
config = "riscv64-none-elf";
libc = "newlib";
};
};
patchPhase = ''
runHook prePatch
substituteInPlace build/Makefile \
--replace "--specs=nano.specs" ""
patchShebangs build/fsz.sh
runHook postPatch
'';
buildPhase = ''
runHook preBuild
cd build
make CROSSCOMPILE=${newlibPkgs.stdenv.cc.targetPrefix}
runHook postBuild
'';
in
{
ddrinit = newlibPkgs.stdenv.mkDerivation {
pname = "jh7100-ddrinit";
version = "211102";
src = newlibPkgs.fetchFromGitHub {
owner = "starfive-tech";
repo = "JH7100_ddrinit";
rev = "ddrinit-2133-211102";
sha256 = "1q1p94l6sh7n0m60sxk6lv9yxif7d2skdzx9zrpmm26c62x5cw4k";
};
inherit patchPhase buildPhase;
installPhase = ''
runHook preInstall
mkdir -p $out
install -m0644 ddrinit-*.{asm,bin,elf} $out
runHook postInstall
'';
dontStrip = true;
dontPatchELF = true;
};
secondBoot = newlibPkgs.stdenv.mkDerivation {
pname = "jh7100-bootloader";
version = "211102";
src = newlibPkgs.fetchFromGitHub {
owner = "starfive-tech";
repo = "JH7100_secondBoot";
rev = "bootloader-211102_VisionFive_JH7100";
sha256 = "1szsksxgpri9jvj092hkv1z491bnbn50mb6l7q4nzlls2zrl6mfi";
};
inherit patchPhase buildPhase;
installPhase = ''
runHook preInstall
mkdir -p $out
install -m0644 bootloader*.{asm,bin,elf} $out
runHook postInstall
'';
dontStrip = true;
dontPatchELF = true;
};
}