diff options
author | bill-auger <mr.j.spam.me@gmail.com> | 2023-02-28 02:37:32 -0500 |
---|---|---|
committer | bill-auger <mr.j.spam.me@gmail.com> | 2023-03-07 23:45:11 -0500 |
commit | 0247071f65b7a0ae86741632fc13921dddb2456b (patch) | |
tree | 10ae31498cf396902c94ed80daea92df30129355 | |
parent | 24115924fcc2337e380f9cf8aa02dd7cf9855f6d (diff) |
[uboot4extlinux-sunxi]: support 32-bit and 64-bit builds (finalize teres)
-rw-r--r-- | libre-testing/uboot4extlinux-sunxi/PKGBUILD | 299 |
1 files changed, 157 insertions, 142 deletions
diff --git a/libre-testing/uboot4extlinux-sunxi/PKGBUILD b/libre-testing/uboot4extlinux-sunxi/PKGBUILD index 0578eb176..d52465ae9 100644 --- a/libre-testing/uboot4extlinux-sunxi/PKGBUILD +++ b/libre-testing/uboot4extlinux-sunxi/PKGBUILD @@ -7,6 +7,17 @@ # Contributor: Jacob 'KREYREN' Hrbek <kreyren+parabola@fsfe.org> +# NOTE: This PKGBUILD can build bootloaders for both aarch64 and armv7h systems. +# Currently there is no armv7h->aarch64 cross-compiler (#3334); +# and there is no aarch64 system. +# Consequently, only x86_64 builders will package all bootloaders. +# armv7h and aarch64 builders will package only their native bootloaders. +# The x86_64 build uses a metedata hack, to package for multiple arches at once. +# NOTE: The x86_64 build is fastest and most convenient; but remember to rename the +# source package manually before running librerelease, if publishing to Parabola: +# $ src_pkg=$(ls *.src.tar.gz) ; mv ${src_pkg} ${src_pkg%-*}-any.src.tar.gz ; + + # To add a new board (that uses an Allwinner System On a Chip) you need: # - The package name. Example: uboot4extlinux-a20-olinuxino_micro # - The u-boot configuration. Example: A20-OLinuXino_MICRO_defconfig @@ -35,33 +46,6 @@ # boards in the ARM installation guide. -_upstream_name=u-boot-libre -_upstream_name=${_upstream_name/-libre/} # FIXME: non-FSDG - The current libreboot uboot depends on 'python2' -pkgbase=uboot4extlinux-sunxi -pkgname=(uboot4extlinux-a10-olinuxino-lime - uboot4extlinux-a10s-olinuxino-m - uboot4extlinux-a13-olinuxino - uboot4extlinux-a13-olinuxinom - uboot4extlinux-a20-olinuxino-lime - uboot4extlinux-a20-olinuxino-lime2 - uboot4extlinux-a20-olinuxino-lime2-emmc - uboot4extlinux-a20-olinuxino_micro - uboot4extlinux-bananapi - uboot4extlinux-bananapro - uboot4extlinux-chip - uboot4extlinux-cubieboard - uboot4extlinux-cubieboard2 - uboot4extlinux-cubietruck - uboot4extlinux-linksprite_pcduino - uboot4extlinux-linksprite_pcduino3 - uboot4extlinux-linksprite_pcduino3_nano - uboot4extlinux-orangepi_2 - uboot4extlinux-orangepi_one - uboot4extlinux-orangepi_pc - uboot4extlinux-orangepi_plus) -pkgname=(uboot4extlinux-teres_i) # WIP teres - - # We have a ${pkgver}-${pkgrel} like: '2021.07-r1.parabola3'. # All of the individual components are needed: # - '2021.07' corresponds to the upstream u-boot version. It is needed @@ -75,21 +59,21 @@ pkgname=(uboot4extlinux-teres_i) # WIP teres _uboot_ver=2021.07 # version of the upstream u-boot source code _uboot_ver=2023.01 # FIXME: non-FSDG - The current libreboot uboot depends on 'python2' _ubootlibre_rev=r1 # revision of the u-boot-libre deblob script +_upstream_name=u-boot-libre +_upstream_name=${_upstream_name/-libre/} # FIXME: non-FSDG - The current libreboot uboot depends on 'python2' +pkgbase=uboot4extlinux-sunxi +pkgname=(${pkgbase}) pkgver=${_uboot_ver} pkgrel=${_ubootlibre_rev}.parabola1 -arch=(aarch64 armv7h x86_64) # TODO: package for armv7h and aarch64 repos +arch=(aarch64 armv7h x86_64) url=https://libreboot.org/docs/maintain/#resourcesscriptsbuildreleaseu-boot-libre url=http://www.denx.de/wiki/U-Boot/WebHome # FIXME: non-FSDG - The current libreboot uboot depends on 'python2' license=(GPL) makedepends=(bc dtc python python-setuptools swig) -# makedepends_i686+=('arm-none-eabi-gcc') # WIP teres -# makedepends_ppc64le+=('arm-none-eabi-gcc') # WIP teres -# makedepends_x86_64+=('arm-none-eabi-gcc') # WIP teres -makedepends_i686+=('aarch64-linux-gnu-gcc') # WIP teres -makedepends_ppc64le+=('aarch64-linux-gnu-gcc') # WIP teres -makedepends_x86_64+=('aarch64-linux-gnu-gcc' 'or1k-elf-gcc') # WIP teres +makedepends_aarch64+=(or1k-elf-gcc) +makedepends_x86_64+=(aarch64-linux-gnu-gcc arm-none-eabi-gcc or1k-elf-gcc) _tfa_ver=2.8 _crust_ver=0.5 @@ -102,6 +86,7 @@ source+=(extlinux.conf ${pkgbase}.hook.in install-uboot4extlinux.sh.in generate-${pkgbase}-install-text.sh) +source+=(crust_binutils-2.39_rwx-segments.patch::https://patch-diff.githubusercontent.com/raw/crust-firmware/crust/pull/210.patch) # TODO: the libreboot uboot source-ball checksum doesn't correspond to the one in # tests/u-boot-libre.sha512. This means that the tarball is not @@ -119,8 +104,7 @@ source+=(extlinux.conf # code, so while there is a valid license, we might lack # corresponding source code if it's really some code. The debian # commits might have more information about it. -# sha512sums=('4fd4cb762efd6b3e1eede883ee44cbf16f787de7f9bd8d6f9a98d69a22fd75519cce4b9ff713b205d34854597d2f9d6053dabc6097e55cb5be7c7ce71dae2ef6') -sha256sums=('69423bad380f89a0916636e89e6dcbd2e4512d584308d922d1039d1e4331950f' # FIXME: non-FSDG - The current libreboot uboot depends on 'python2' +sha256sums=('69423bad380f89a0916636e89e6dcbd2e4512d584308d922d1039d1e4331950f' 'SKIP' 'df4e0f3803479df0ea4cbf3330b59731bc2efc2112c951f9adb3685229163af9' '8b23b2649bbd19dfb84ae00b2419539b8236c6ae9a380beff7dffafd3f41f31b') @@ -128,46 +112,72 @@ sha256sums+=('490d231b23ed369f1515a5da07fca54d8626c97c5883c9748711078b2c518705' '8442c9b3f4203a867a0682527d166635b48990fd24f333cf1a5ba16243cbd3fc' '664b85d31da6c181f8b65800936ec48acb4176e0c475fb1767bdb628b2b7fc63' 'e930fd3c819740364ec173bf477b26ae710f4f2186915e9a1099af69b751d328') +sha256sums+=('736a2c43df14e630a531f82b151ef8bdf70af81c84eb97247a11a411748038be') validpgpkeys=('1A3C7F70E08FAB1707809BBF147C39FF9634B72C') # Thomas Rini # armv7h boards -_defconfigs=('A10-OLinuXino-Lime_defconfig' - 'A10s-OLinuXino-M_defconfig' - 'A13-OLinuXino_defconfig' - 'A13-OLinuXinoM_defconfig' - 'A20-OLinuXino-Lime_defconfig' - 'A20-OLinuXino-Lime2_defconfig' - 'A20-OLinuXino-Lime2-eMMC_defconfig' - 'A20-OLinuXino_MICRO_defconfig' - 'Bananapi_defconfig' - 'Bananapro_defconfig' - 'CHIP_defconfig' - 'Cubieboard_defconfig' - 'Cubieboard2_defconfig' - 'Cubietruck_defconfig' - 'Linksprite_pcDuino_defconfig' - 'Linksprite_pcDuino3_defconfig' - 'Linksprite_pcDuino3_Nano_defconfig' - 'orangepi_2_defconfig' - 'orangepi_one_defconfig' - 'orangepi_pc_defconfig' - 'orangepi_plus_defconfig') +_32bit_pkgnames=(uboot4extlinux-a10-olinuxino-lime + uboot4extlinux-a10s-olinuxino-m + uboot4extlinux-a13-olinuxino + uboot4extlinux-a13-olinuxinom + uboot4extlinux-a20-olinuxino-lime + uboot4extlinux-a20-olinuxino-lime2 + uboot4extlinux-a20-olinuxino-lime2-emmc + uboot4extlinux-a20-olinuxino_micro + uboot4extlinux-bananapi + uboot4extlinux-bananapro + uboot4extlinux-chip + uboot4extlinux-cubieboard + uboot4extlinux-cubieboard2 + uboot4extlinux-cubietruck + uboot4extlinux-linksprite_pcduino + uboot4extlinux-linksprite_pcduino3 + uboot4extlinux-linksprite_pcduino3_nano + uboot4extlinux-orangepi_2 + uboot4extlinux-orangepi_one + uboot4extlinux-orangepi_pc + uboot4extlinux-orangepi_plus) +_32bit_defconfigs=(A10-OLinuXino-Lime_defconfig + A10s-OLinuXino-M_defconfig + A13-OLinuXino_defconfig + A13-OLinuXinoM_defconfig + A20-OLinuXino-Lime_defconfig + A20-OLinuXino-Lime2_defconfig + A20-OLinuXino-Lime2-eMMC_defconfig + A20-OLinuXino_MICRO_defconfig + Bananapi_defconfig + Bananapro_defconfig + CHIP_defconfig + Cubieboard_defconfig + Cubieboard2_defconfig + Cubietruck_defconfig + Linksprite_pcDuino_defconfig + Linksprite_pcDuino3_defconfig + Linksprite_pcDuino3_Nano_defconfig + orangepi_2_defconfig + orangepi_one_defconfig + orangepi_pc_defconfig + orangepi_plus_defconfig) # aarch64 boards -_defconfigs=(teres_i_defconfig) # WIP teres +_64bit_pkgnames=(uboot4extlinux-teres_i) +_64bit_defconfigs=(teres_i_defconfig) -# Byte-offset at which to install the bootloader -BOOTLOADER_BYTE_OFFSET=8192 +# DEBUG: build only one package per-arch +# _pkg=orangepi_plus ; _32bit_defconfigs=(${_pkg}_defconfig) ; _32bit_pkgnames=(uboot4extlinux-${_pkg}) ; +# _32bit_defconfigs=() ; _32bit_pkgnames=() ; # DEBUG: build only aarch64 bootloaders -# Prepare the cross-compilation environment +# allow native compiling and cross-compiling from x86_64 case "$CARCH" in - aarch64|armv7h) ARCH=arm;; - i686|ppc64le|x86_64) ARCH=arm;CROSS_COMPILE=arm-none-eabi-;; -esac -case "$CARCH" in - i686|ppc64le|x86_64) ARCH=arm ; CROSS_COMPILE=aarch64-linux-gnu- ;; # WIP teres + aarch64) pkgname+=( ${_64bit_pkgnames[*]} ) _32bit_defconfigs=() ;; # package only aarch64 bootloaders + armv7h ) pkgname+=( ${_32bit_pkgnames[*]} ) _64bit_defconfigs=() ;; # package only armv7h bootloaders + x86_64 ) pkgname+=( ${_32bit_pkgnames[*]} ) + pkgname+=( ${_64bit_pkgnames[*]} ) ;; # package all bootloaders esac +# Byte-offset at which to install the bootloader +BOOTLOADER_BYTE_OFFSET=8192 + ## helpers ## @@ -185,6 +195,24 @@ _get_target_destdir() # (defconfig) printf "build/uboot4extlinux-${target_name}" } +_for_each_defconfig() # (fn_name action_msg defconfigs*) +{ + local fn_name=$1 + local action_msg=$2 + local defconfigs=( ${*:3} ) + local defconfig + local target_n=0 + local target_name + + for defconfig in ${defconfigs[*]} + do target_n=$(( _target_n + 1 )) + target_name="$(_get_target_name ${defconfig})" + + echo " -> ${action_msg} target (${target_n} of ${#defconfigs[*]}): ${target_name}" + ${fn_name} ${defconfig} + done +} + _build_A64_firmware() { ## compile trusted-firmware-a ## @@ -209,7 +237,7 @@ _build_A64_firmware() # FIXME: SCP firmware currently FTBS # /usr/lib/gcc/or1k-elf/12.2.0/../../../../or1k-elf/bin/ld: # warning: build/scp/scp.elf has a LOAD segment with RWX permissions - # https://github.com/crust-firmware/crust/issues/212 + # https://github.com/crust-firmware/crust/pull/210 export ARCH=or1k export CROSS_COMPILE=or1k-elf- @@ -218,10 +246,8 @@ _build_A64_firmware() make pine64_plus_defconfig # yes, this is for generic A64 make scp - - ## disable crust ## - -# export SCP=/dev/null + export SCP="${crust_outdir}"/scp.bin +# export SCP=/dev/null # disable crust (if necessary) export ARCH=arm export CROSS_COMPILE=aarch64-linux-gnu- } @@ -232,33 +258,18 @@ _build_uboot_target() # (defconfig) local destdir="$( _get_target_destdir ${defconfig})" local target_name=$(_get_target_name ${defconfig}) -# unset CFLAGS CXXFLAGS LDFLAGS # WIP teres - *FLAGS in build() - ## compile uboot ## cd "${srcdir}"/${_upstream_name}-${_uboot_ver} echo " -> Building ${_upstream_name}" -# make "ARCH=${ARCH}" distclean # WIP teres - make distclean # WIP teres -# make "ARCH=${ARCH}" ${defconfig} # WIP teres - make "${defconfig}" # WIP teres + make distclean + make "${defconfig}" echo 'CONFIG_IDENT_STRING=" Parabola GNU/Linux-libre"' >> .config -(( PYTHON_IS_TOO_FINICKY_ABOUT_VERSION_NUMBERS )) && # WIP teres - case "$CARCH" in - armv7h|armv8h ) make EXTRAVERSION="-${_ubootlibre_rev/r/}" ;; - i686|ppc64le|x86_64) make EXTRAVERSION="-${_ubootlibre_rev/r/}" ;; - esac \ -|| # WIP teres - PYTHON_IS_TOO_FINICKY_ABOUT_VERSION_NUMBERS - if [ "$CARCH" = "armv7h" ]; then - make "ARCH=${ARCH}" EXTRAVERSION=-${pkgrel} - else - make "ARCH=${ARCH}" "CROSS_COMPILE=${CROSS_COMPILE}" \ - EXTRAVERSION=-${pkgrel} - fi + make EXTRAVERSION="-${_ubootlibre_rev/r/}" echo " -> Installing ${target_name} to ${destdir}" install -d ${destdir} @@ -276,7 +287,7 @@ _check_uboot_target() # (defconfig) local image_end=$(( image_size + offset )) # NOTE: This check corresponds to a check in install-uboot4extlinux.sh.in - if (( image_end >= 1024 * 1024 )) ; then + if (( ! image_size || image_end >= 1024 * 1024 )) ; then echo "Error: ${image} is too large:" echo " offset: ${offset}" echo " size: ${image_size}" @@ -287,6 +298,9 @@ _check_uboot_target() # (defconfig) fi } +# metedata hack, to package for multiple arches at once +_package_aarch64() { CARCH=armv7h ; _package "${@}" ; } # TODO: CARCH=aarch64 eventually +_package_armv7h() { CARCH=armv7h ; _package "${@}" ; } _package() # (pkg_name "board_name") { local pkg_name=$1 @@ -349,59 +363,60 @@ prepare() # TODO: While we're at it we could export SOURCE_DATE_SPOCH to try to # make the u-boot package reporducible. find -print0 | xargs -0r touch --no-dereference --date="@${SOURCE_DATE_EPOCH}" + + # FIXME: SCP firmware currently FTBS + # /usr/lib/gcc/or1k-elf/12.2.0/../../../../or1k-elf/bin/ld: + # warning: build/scp/scp.elf has a LOAD segment with RWX permissions + # https://github.com/crust-firmware/crust/pull/210 + cd "${srcdir}"/crust-${_crust_ver} + echo "applying crust_binutils-2.39_rwx-segments.patch" + patch -Np1 < "${srcdir}"/crust_binutils-2.39_rwx-segments.patch } build() { -# cd "${_upstream_name}-${_pkgver}-${_pkgrel}" # WIP teres - `cd` is in _build_uboot_target() + ## build 32-bit targets ## + + # Prepare the 32-bit cross-compilation environment, if needed + export ARCH=arm ; [[ "${CARCH}" != x86_64 ]] || export CROSS_COMPILE=arm-none-eabi- ; + + unset CFLAGS CXXFLAGS LDFLAGS + + _for_each_defconfig _build_uboot_target "Building 32-bit" ${_32bit_defconfigs[*]} + + + ## build 64-bit targets ## + + # Prepare the 64-bit cross-compilation environment, if needed + export ARCH=arm ; [[ "${CARCH}" != x86_64 ]] || export CROSS_COMPILE=aarch64-linux-gnu- ; # both uboot and the 64-bit firmwares FTBS with the default CFLAGS and LDFLAGS # * Assembler messages: Error: unrecognized option -march=x86-64 # * cc1: error: unknown value 'x86-64' for '-march' # * cc1: error: '-fcf-protection=full' is not supported for this target - export CFLAGS+=' -march=armv8-a -mtune=cortex-a53 -fcf-protection=check' + export CFLAGS='-march=armv8-a -mtune=cortex-a53 -fcf-protection=check' # * aarch64-linux-gnu-ld.bfd: unrecognized option '-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now' unset LDFLAGS # * aarch64-linux-gnu-ld.bfd: warning: bl31.elf has a LOAD segment with RWX permissions # * aarch64-linux-gnu-ld.bfd: warning: u-boot-spl has a LOAD segment with RWX permissions export LDFLAGS='--no-warn-rwx-segments' - [[ "${CROSS_COMPILE}" =~ ^aarch64 ]] && _build_A64_firmware || : # TODO: hackish - - local defconfig - local target_n=0 - local target_name - - for defconfig in ${_defconfigs[*]}; do - target_n=$(( target_n + 1 )) - target_name="$(_get_target_name ${defconfig})" - - echo "==> Building target (${target_n} of ${#_defconfigs[*]}): ${target_name}" - _build_uboot_target "${defconfig}" - done + (( ! ${#_64bit_defconfigs[*]} )) || _build_A64_firmware + _for_each_defconfig _build_uboot_target "Building 64-bit" ${_64bit_defconfigs[*]} } check() { - cd "${srcdir}"/${_upstream_name}-${_uboot_ver} - - local defconfig - local target_n=0 - local target_name - - for defconfig in ${_defconfigs[*]}; do - target_n=$(( target_n + 1 )) - target_name="$(_get_target_name ${defconfig})" - - echo "==> Testing target (${target_n} of ${#_defconfigs[*]}): ${target_name}" - _check_uboot_target "${defconfig}" - done + _for_each_defconfig _check_uboot_target "Testing 32-bit" ${_32bit_defconfigs[*]} + _for_each_defconfig _check_uboot_target "Testing 64-bit" ${_64bit_defconfigs[*]} } package_uboot4extlinux-sunxi() { - local pkgdesc="Scripts for managing U-Boot installations for computers with Allwinner System On a Chip" - local depends=('uboot-tools') + CARCH=any + + pkgdesc="Scripts for managing U-Boot installations for computers with Allwinner System On a Chip" + depends=(${_upstream_name/u-boot/uboot/}-tools=${_uboot_ver}) local dest_dir="${pkgdir}"/usr/lib/u-boot/${pkgname} @@ -410,76 +425,76 @@ package_uboot4extlinux-sunxi() install -Dm644 "${srcdir}"/extlinux.conf "${dest_dir}"/extlinux.conf } -package_uboot4extlinux-a10-olinuxino-lime() { _package ${pkgname} "A10 OLinuXino Lime" ; } +package_uboot4extlinux-a10-olinuxino-lime() { _package_armv7h ${pkgname} "A10 OLinuXino Lime" ; } package_uboot4extlinux-a10s-olinuxino-m() { replaces=('uboot4extlinux-a10s-olinuxino-micro') - _package ${pkgname} "A10s OLinuXino Micro" + _package_armv7h ${pkgname} "A10s OLinuXino Micro" } -package_uboot4extlinux-a13-olinuxino() { _package ${pkgname} "A13 OLinuXino" ; } +package_uboot4extlinux-a13-olinuxino() { _package_armv7h ${pkgname} "A13 OLinuXino" ; } package_uboot4extlinux-a13-olinuxinom() { replaces=('uboot4extlinux-a13-olinuxino-micro') - _package ${pkgname} "A13 OLinuXino Micro" + _package_armv7h ${pkgname} "A13 OLinuXino Micro" } -package_uboot4extlinux-a20-olinuxino-lime() { _package ${pkgname} "A20 OLinuXino Lime" ; } +package_uboot4extlinux-a20-olinuxino-lime() { _package_armv7h ${pkgname} "A20 OLinuXino Lime" ; } -package_uboot4extlinux-a20-olinuxino-lime2() { _package ${pkgname} "A20 OLinuXino Lime2" ; } +package_uboot4extlinux-a20-olinuxino-lime2() { _package_armv7h ${pkgname} "A20 OLinuXino Lime2" ; } -package_uboot4extlinux-a20-olinuxino-lime2-emmc() { _package ${pkgname} "A20 OLinuXino Lime2 with eMMC" ; } +package_uboot4extlinux-a20-olinuxino-lime2-emmc() { _package_armv7h ${pkgname} "A20 OLinuXino Lime2 with eMMC" ; } package_uboot4extlinux-a20-olinuxino_micro() { replaces=('uboot-a20-olinuxino-micro') - _package ${pkgname} "A20 OLinuXino Micro" + _package_armv7h ${pkgname} "A20 OLinuXino Micro" } -package_uboot4extlinux-bananapi() { _package ${pkgname} "Banana Pi" ; } +package_uboot4extlinux-bananapi() { _package_armv7h ${pkgname} "Banana Pi" ; } -package_uboot4extlinux-bananapro() { _package ${pkgname} "Banana Pro" ; } +package_uboot4extlinux-bananapro() { _package_armv7h ${pkgname} "Banana Pro" ; } -package_uboot4extlinux-chip() { _package ${pkgname} "C.H.I.P" ; } +package_uboot4extlinux-chip() { _package_armv7h ${pkgname} "C.H.I.P" ; } -package_uboot4extlinux-cubieboard() { _package ${pkgname} "Cubieboard" ; } +package_uboot4extlinux-cubieboard() { _package_armv7h ${pkgname} "Cubieboard" ; } -package_uboot4extlinux-cubieboard2() { _package ${pkgname} "Cubieboard 2" ; } +package_uboot4extlinux-cubieboard2() { _package_armv7h ${pkgname} "Cubieboard 2" ; } -package_uboot4extlinux-cubietruck() { _package ${pkgname} "Cubietruck" ; } +package_uboot4extlinux-cubietruck() { _package_armv7h ${pkgname} "Cubietruck" ; } package_uboot4extlinux-linksprite_pcduino() { replaces=('uboot4extlinux-pcduino') - _package ${pkgname} "pcduino" + _package_armv7h ${pkgname} "pcduino" } package_uboot4extlinux-linksprite_pcduino3() { replaces=('uboot4extlinux-pcduino3') - _package ${pkgname} "pcduino3" + _package_armv7h ${pkgname} "pcduino3" } package_uboot4extlinux-linksprite_pcduino3_nano() { replaces=('uboot4extlinux-pcduino3-nano') - _package ${pkgname} "pcduino3-nano" + _package_armv7h ${pkgname} "pcduino3-nano" } -package_uboot4extlinux-orangepi_2() { _package ${pkgname} "Orange Pi 2" ; } +package_uboot4extlinux-orangepi_2() { _package_armv7h ${pkgname} "Orange Pi 2" ; } -package_uboot4extlinux-orangepi_one() { _package ${pkgname} "Orange Pi One" ; } +package_uboot4extlinux-orangepi_one() { _package_armv7h ${pkgname} "Orange Pi One" ; } -package_uboot4extlinux-orangepi_pc() { _package ${pkgname} "Orange Pi PC" ; } +package_uboot4extlinux-orangepi_pc() { _package_armv7h ${pkgname} "Orange Pi PC" ; } -package_uboot4extlinux-orangepi_plus() { _package ${pkgname} "Orange Pi Plus" ; } +package_uboot4extlinux-orangepi_plus() { _package_armv7h ${pkgname} "Orange Pi Plus" ; } -package_uboot4extlinux-teres_i() { _package ${pkgname} "A64 OLIMEX Teres" ; } +package_uboot4extlinux-teres_i() { _package_aarch64 ${pkgname} "A64 OLIMEX Teres" ; } |