imx-mkimage runs on the build machine, but ucm-imx95-boot used target stdenv
and forced clang. Cross-building the SD image from x86_64 then failed building
mkimage_imx8 with "stdio.h not found", blocking flash.bin.
Build mkimage with buildPackages; keep firmware blobs from target pkgs.
When building the imx93 SD image from x86_64, imx93-boot used target pkgs for
the imx-mkimage derivation and its native tools (git, dtc, xxd). mkimage runs on
the build machine, but Nix tried to cross-compile git for aarch64 and failed
with "linker `cc` not found" while building libgitcore, blocking flash.bin and
the SD image.
Build mkimage with buildPackages (host tools) while keeping firmware inputs
(ATF, U-Boot, OP-TEE, etc.) from target pkgs.
GCC 14+ treats the mismatched TRDC header guard in imx-atf as a hard error
(-Werror=header-guard), so bl31.bin does not build on our pinned revision.
Fetch the upstream fix (e194a14) as a patch without bumping the ATF revision.
This refactoring reduces code duplication across i.MX93, i.MX8MP, and
i.MX8MQ platforms by extracting common build logic into parameterized
shared builders. This makes it easier to maintain and add new i.MX
platforms while ensuring consistency across all platforms.
The i.MX93 EVK provides a platform for comprehensive evaluation
of the i.MX93 application processors. This change adds support
in NixOS hardware to provide a template for customized i.MX93-based
platforms.
Signed-off-by: Govind Singh <govind.singh@tii.ae>
- Don't fetch dotGit directory.
- Dot git dir gets different object packs when it is pulled from
different nixpkgs versions which causes hash mismatch.
- Patch Makefile not use git revision from .git.
Signed-off-by: Ganga Ram <Ganga.Ram@tii.ae>
Updated makeFlags as latest buildArmTrustedFirmware specifies CC and LD explicitly, which
doesn't work well with the nxp imx8mp-evk platform.
Signed-off-by: Ganga Ram <Ganga.Ram@tii.ae>
https://github.com/NixOS/nixpkgs/pull/366004
introduced a breaking change that if a module is declared but it is not
being used it will fail.
Signed-off-by: Brian McGillion <bmg.avoin@gmail.com>
The buildUBoot function is intended for internal use and is dedicated
for Raspberry Pi platforms. With latest nixpkgs it is causing
build failure in older uboot(prior to v2023.07) due to a Raspberry Pi patch.
Now this function is not used for the U-Boot build.
More Information:
https://github.com/NixOS/nixpkgs/pull/311614https://github.com/NixOS/nixpkgs/pull/146634
Signed-off-by: Ganga Ram <Ganga.Ram@tii.ae>