Refactor build.sh
.gitlab-ci.yml: bump image from Bookworm to Trixie.
.gitlab-ci.yml: Replace python3-distutils with python3-setuptools. The former was removed with python3-stdlib-extensions 3.12.4-1
Apply patch from https://github.com/openwrt/openwrt/pull/17352 to fix problem with the version of SWIG in Debian Trixie. Thanks @gordon
Perform a shallow git clone for all repositories.
Fix the git SHA1 for all repositories.
Allow building without having to clean the existing repos first, verifying the top git commit hash against the expected value.
Avoid changing the working directory with cd and work with "env --chdir=..." and "-C ..." instead. This makes it explicit which "make" is being run and from where a file is being copied without having to rely on context/state.
Build linearly instead of using -j$(nproc). To get linear build logs which are easier to analyze when something goes wrong. The MNT gitlab pipeline ran only about four times a month during the past year, so being able to analyze problems efficiently is more important than building in quick succession. Also, parallel builds break running build.sh on platforms with little RAM like A311D.
Reformat with shfmt.
Make build.sh shellcheck-clean.
Do not run boot_merger:
- it's a proprietary binary blob without source
- it's amd64-only and would need qemu on other arches
- it does not affect the resulting artifact binary
The most critical change is pinning the rkbin hash or otherwise the build will fail with:
Image 'simple-bin' is missing external blobs and is non-functional: rockchip-tpl
/binman/simple-bin/mkimage/rockchip-tpl (../rkbin/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin):
An external TPL is required to initialize DRAM. Get the external TPL
binary and build with ROCKCHIP_TPL=/path/to/ddr.bin. One possible source
for the external TPL binary is https://github.com/rockchip-linux/rkbin.
Image 'simple-bin' is missing optional external blobs but is still functional: tee-os
/binman/simple-bin/fit/images/@tee-SEQ/tee-os (tee-os):
See the documentation for your board. You may need to build Open Portable
Trusted Execution Environment (OP-TEE) and build with TEE=/path/to/tee.bin
Some images are invalid
make: *** [Makefile:1127: .binman_stamp] Error 103
TODO:
-
test the artifacts produced by MNT gitab CI