Commit Graph

31 Commits

Author SHA1 Message Date
Samuel Dionne-Riel
528fcc8762 armTrustedFirmware: Fix bintools 2.39 regression (LOAD segment with RWX)
Fixes:

```
.../aarch64-unknown-linux-gnu-ld.bfd: warning: /build/source/build/rk3399/release/bl31/bl31.elf has a LOAD segment with RWX permissions
.../aarch64-unknown-linux-gnu-ld.bfd: warning: /build/source/build/rk3399/release/bl31/bl31.elf has a LOAD segment with RWX permissions
.../aarch64-unknown-linux-gnu-ld.bfd: warning: /build/source/build/rk3399/release/bl31/bl31.elf has a LOAD segment with RWX permissions
make: *** [Makefile:1306: /build/source/build/rk3399/release/bl31/bl31.elf] Error 1
```

See: https://developer.trustedfirmware.org/T996
2022-10-09 15:52:43 -04:00
Adam Joseph
65e4d13554 arm-trusted-firmware: remove version parameter
The arm-trusted-firmware/default.nix expression exposes
`buildArmTrustedFirmware` and its `version?"2.7"` field to
`top-level/all-packages.nix`.  Unfortunately it doesn't work.
Changing the version field doesn't change what version of the ATF
source code is used.  Attempting to "lock" an installation to a
specific version by overriding this field (e.g. version="2.7") won't
work either; when nixpkgs bumps the version to 2.8 the user will end
up building the 2.8 source code but the resulting expression will be
labeled misleadingly in the store:

```
  /nix/store/eeee...-arm-trusted-firmware-2.7/
```

**using the 2.8 source code**.  So not only does `version` not lock
the version, it will actually *conceal* the fact that the underlying
source code has been upgraded!

Let's just remove the `version` field.  It doesn't work and never did.

https://github.com/NixOS/nixpkgs/pull/185004#discussion_r939526830

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-08-12 18:45:17 -07:00
Ben Wolsieffer
208af5a599 arm-trusted-firmware: 2.6 -> 2.7 2022-06-11 22:47:31 -04:00
Adam Joseph
8485bfc9bf arm-trusted-firmware: unfree only if hdcp.bin used; otherwise delete it
The `unfreeIncludeHDCPBlob` parameter was introduced as a result of
this reviewer request:

  https://github.com/NixOS/nixpkgs/issues/148890#issuecomment-1032002903

The default value `unfreeIncludeHDCPBlob?true` causes a change in the
`meta.license` field for all of the subpackages within
`pkgs/misc/arm-trusted-firmware/`, and results in them needing
`NIXPKGS_ALLOW_NONFREE=1`.

For non-Rockchip platforms the file hdcp.bin does not get included in
the output; the blob is for a Synopsys HDCP core that is currently
used only by Rockchip (although other companies could license it from
Synopsys in the future). Therefore on non-Rockchip we can delete
hdcp.bin before building instead of changing the license. This
preserves the ability to build them without NIXPKGS_ALLOW_NONFREE=1.

Let's do that.

Deleting hdcp.bin ensures that we won't be caught by surprise if some
future non-Rockchip Arm CPU licenses the same Synopsys HDCP core that
Rockchip is using.

Use easier-to-follow names for controlling the blob
inclusion/exclusion.  Also, if the blob is believed to be unnecessary,
delete it beforehand so we will know if we were wrong about that belief.

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-05-29 16:07:15 -07:00
Adam Joseph
d94759023d make meta.license be a list rather than a single value 2022-02-08 01:53:25 -08:00
Adam Joseph
a5b8650f8d arm-trusted-firmware: add unfreeIncludeHDCPBlob?true to control license and blob-removal patch
This change implements @lukegb's idea:

  https://github.gitop.top/NixOS/nixpkgs/issues/148890#issuecomment-1032002903

Specifically, it introduces a new parameter unfreeIncludeHDCPBlob
(defaults to true):

* If unfreeIncludeHDCPBlob==true then the license is changed to
  unfreeRedistributable, which will alert the user to the fact that
  the blob is being included (unless they set NIXPKGS_ALLOW_UNFREE=1).

* If unfreeIncludeHDCPBlob==false then the license is kept as bsd3, but
  a patch is applied to remove the HDCP blob from the build.
2022-02-08 01:44:21 -08:00
Adam Joseph
bb0a925a76 remove unfree HDCP blob from arm-trusted-firmware, closes #148890
This patch comes from https://gitlab.com/vicencb/kevinboot/-/blob/master/atf.patch

I have been running firmware with this patch on my daily driver rk3399
laptop for the past four months.
2022-02-05 16:38:47 -08:00
Felix Buehler
a4cf5b79fd treewide: rename name to pname&version 2022-01-27 17:29:01 +01:00
R. Ryantm
30149a0856 armTrustedFirmwareTools: 2.5 -> 2.6 2021-12-11 22:59:11 +00:00
Markus S. Wamser
b0249fdf99 pkgs.misc: remove unused args 2021-11-13 23:09:33 +01:00
Samuel Dionne-Riel
db8ab32efd
Merge pull request #125743 from novmar/novmar/orange_pi_zero2_support
ubootOrangePiZero2: init
2021-10-04 21:55:24 -04:00
Florian Klink
1cbe006fb4 armTrustedFirmware*: fix hash
Either this was republished with another hash, or the hash was wrong
before all ready. Now I'm able to fetch and build it :-)
2021-06-22 12:33:21 +02:00
Marcel Novotny
25a4ef905f armTrustedFirmwareAllwinnerH616: init 2021-06-14 00:29:15 +02:00
R. RyanTM
8ac72be1ab armTrustedFirmwareTools: 2.4 -> 2.5 2021-05-22 09:08:02 +00:00
R. RyanTM
0cbb80e7f1 armTrustedFirmwareTools: 2.3 -> 2.4 2020-11-22 19:57:06 +00:00
Pavol Rusnak
84ff95a95a
arm-trusted-firmware: 2.2 -> 2.3 2020-04-22 12:11:28 +02:00
Michael Reilly
84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
R. RyanTM
26165d98df armTrustedFirmwareTools: 2.1 -> 2.2 2020-01-15 06:48:02 +00:00
Ben Wolsieffer
d00a38aa70 armTrustedFirmwareS905: init
This supports the Amlogic S905, otherwise known as Meson GXBB.
2019-12-05 21:59:07 -05:00
Ben Wolsieffer
b5ec2b5c63 armTrustedFirmwareTools: init
This package currently contains fiptool, cert_create and sptool.
2019-12-05 21:59:07 -05:00
volth
08f68313a4 treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
Samuel Dionne-Riel
b64a5cfc72 arm-trusted-firmware: Switch Allwinner to upstream 2019-05-18 13:41:52 -04:00
Samuel Dionne-Riel
b69c4744e3 arm-trusted-firmware: 2.0 -> 2.1 2019-05-18 13:41:27 -04:00
Ben Wolsieffer
7edd0389e1 arm-trusted-firmware: add RK3399 2019-01-18 17:53:21 -05:00
Ben Wolsieffer
8a816723ce arm-trusted-firmware: 1.5 -> 2.0 2019-01-18 17:53:21 -05:00
Patrick Hilhorst
0e381e084e
arm-trusted-firmware: correctly handle version overrides 2018-11-06 00:06:22 +01:00
Tuomas Tynkkynen
bab5a0664c armTrustedFirmware: Disable parallel build
I think https://hydra.nixos.org/build/71541345 is parallel build
related.
2018-03-23 19:03:26 +02:00
Tuomas Tynkkynen
107eaa8780 armTrustedFirmwareQemu: 1.4 -> 1.5, fixes build with GCC7 2018-03-23 19:03:04 +02:00
Tuomas Tynkkynen
a2d8a9aad7 armTrustedFirmware: Remove targetPlatforms like was done in U-Boot
Should also fix Hydra attempting to build this stuff on x86, like
https://hydra.nixos.org/build/71533289
2018-03-20 02:33:40 +02:00
Samuel Dionne-Riel
f2175e1bd4 arm-trusted-firmware: Inits at various versions
For qemu, at 1.4 from upstream.

For Sopine / Pine A64-LTS, at 1.0 from fork.
2018-03-18 18:53:12 +02:00
Ben Wolsieffer
0ab76c5a4e arm-trusted-firmware: init
ARM trusted firmware is required as part of the boot process on some ARMv8-A
boards. Currently, only the RK3328 is supported in nixpkgs.

This makes the Rock64 u-boot image bootable.
2018-03-18 18:53:12 +02:00