]> git.pld-linux.org Git - packages/uboot.git/commit
add support for odroid n2(+)
authorJan Palus <atler@pld-linux.org>
Sun, 28 Nov 2021 12:04:59 +0000 (13:04 +0100)
committerJan Palus <atler@pld-linux.org>
Sun, 28 Nov 2021 14:24:20 +0000 (15:24 +0100)
commitb481b637f0d575f36e3701d93437020f6aebb667
tree4b2f494af4105b1df0ad030ab4d58a460080c58e
parent7e4e32cd8fc17325b52660ac20644a7d5392d7e3
add support for odroid n2(+)

unfortunately ARM trusted firmware has no support for g12b platform yet
so instead hardkernel repo is used for images other than BL33 (u-boot
payload itself). that in turn makes the experience pretty nightmarish ie
hardkernel uboot requires x86_64 host (x86_64 binaries are literally
part of the process) and an ancient toolchain (gcc4). summary of patches
to make build fully working on aarch64 with modern toolchain:

hardkernel-uboot-gcc5.patch: don't fail on gcc newer than 4 and instead
use same include file as for gcc4 with newer gcc versions

hardkernel-uboot-werror.patch: disable -Werror preventing successful
compilation with modern toolchain

hardkernel-uboot-arm_cross.patch: boot image requires toolchains for
both aarch64 and arm. hardkernel hardcoded the values without a
possibility to override them independently so add such support

hardkernel-uboot-no_stdint.patch: don't include unused stdint.h which
likely requires glibc

hardkernel-uboot-x86_64_bin.patch: build process requires use of x86_64
binaries so add support for emulation wrappers -- separately for static
binaries (qemu) and dynamic binaries (box64)

hardkernel-uboot-acs.patch: acs.bin is a simple binary with
configuration data organized around acs_setting struct loaded into fixed
address in memory. first value in this binary points to beginning of
acs_setting struct. now likely due to toolchain differences first value
with address is either followed by 2 words of zeros (original gcc4 based
toolchain) or 1 word of zeros (up-to-date toolchain) which is enough of a
difference to create broken image. ensure acs_setting address is
followed by at least two words of zeros

hardkernel-uboot-uboot_payload.patch: make BL33 image location
customizable so final image assembly can refer to uboot payload we
target. note that this way process is much simpler than following:
https://u-boot.readthedocs.io/en/latest/board/amlogic/odroid-n2.html
and it also produces smaller image than docs from u-boot which is pretty
significant difference as the bigger image is big enough to prevent
creation of first partition at 2048 sector boundary
hardkernel-uboot-acs.patch [new file with mode: 0644]
hardkernel-uboot-arm_cross.patch [new file with mode: 0644]
hardkernel-uboot-gcc5.patch [new file with mode: 0644]
hardkernel-uboot-no_stdint.patch [new file with mode: 0644]
hardkernel-uboot-uboot_payload.patch [new file with mode: 0644]
hardkernel-uboot-werror.patch [new file with mode: 0644]
hardkernel-uboot-x86_64_bin.patch [new file with mode: 0644]
uboot.spec
This page took 0.042885 seconds and 4 git commands to generate.