aboutsummaryrefslogtreecommitdiffstats
path: root/main/u-boot/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'main/u-boot/APKBUILD')
-rw-r--r--main/u-boot/APKBUILD140
1 files changed, 109 insertions, 31 deletions
diff --git a/main/u-boot/APKBUILD b/main/u-boot/APKBUILD
index e61b1e4fedc..f49183a662c 100644
--- a/main/u-boot/APKBUILD
+++ b/main/u-boot/APKBUILD
@@ -1,53 +1,89 @@
# Contributor: He Yangxuan <yangxuan8282@gmail.com>
# Contributor: Timo Teras <timo.teras@iki.fi>
-# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=u-boot
-pkgver=2020.04
-pkgrel=0
+pkgver=2024.04
+pkgrel=1
pkgdesc="u-boot bootloader common files"
-url="http://www.denx.de/wiki/U-Boot/"
-arch="armhf armv7 aarch64"
-license="GPL-2.0-or-later OFL-1.1 BSD-2-Clause BSD-3-Clause eCos-2.0 IBM-pibs
+url="https://www.denx.de/wiki/U-Boot/"
+arch="all !s390x !ppc64le"
+license="GPL-2.0-or-later OFL-1.1 BSD-2-Clause BSD-3-Clause WITH eCos-exception-2.0 IBM-pibs
ISC LGPL-2.0-only LGPL-2.1-only X11"
-makedepends="$depends_dev bc dtc python3-dev swig bison flex openssl-dev"
+options="!check" # no tests
+makedepends="
+ bc
+ bison
+ dtc
+ flex
+ gnutls-dev
+ linux-headers
+ openssl-dev
+ py3-elftools
+ py3-setuptools
+ python3-dev
+ swig
+ util-linux-dev
+ "
if [ "$CARCH" = "aarch64" ]; then
- makedepends="$makedepends arm-trusted-firmware-sun50i"
+ makedepends="$makedepends arm-trusted-firmware"
fi
-source="ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver//_/-}.tar.bz2
+source="https://ftp.denx.de/pub/u-boot/u-boot-${pkgver//_/-}.tar.bz2
README.txt
update-u-boot
+ fix-tools-build.patch
"
builddir="$srcdir"/u-boot-${pkgver//_/-}
+if [ "$CARCH" = "riscv64" ]; then
+ makedepends="$makedepends opensbi"
+ export OPENSBI=/usr/share/opensbi/generic/firmware/fw_dynamic.bin
+fi
+
+# secfixes:
+# 2021.04-r0:
+# - CVE-2021-27097
+# - CVE-2021-27138
+
case "$CARCH" in
arm*) board_configs="
beagleboard:am335x_boneblack_vboot
- cubieboard:Cubieboard,Cubieboard2
- leemaker:Bananapi,Lamobo_R1
linksprite:Linksprite_pcDuino3_Nano
cuboxi:mx6cuboxi
raspberrypi:rpi_0_w,rpi,rpi_2,rpi_3_32b
wandboard:wandboard
qemu:qemu_arm
+ odroid:odroid,odroid-xu3
+ sunxi:LicheePi_Zero,Bananapi,Lamobo_R1,Cubieboard,Cubieboard2,orangepi_pc
";;
aarch64) board_configs="
thunderx:thunderx_88xx
- raspberrypi:rpi_3
- odroid:odroid-c2
+ raspberrypi:rpi_3,rpi_arm64
+ odroid:odroid-c2,odroid-n2
+ snapdragon:starqltechn
+ exynos:a3y17lte,a5y17lte,a7y17lte
libretech:libretech-cc
+ rockchip:rockpro64-rk3399,roc-pc-rk3399,roc-cc-rk3328,pinebook-pro-rk3399
qemu:qemu_arm64
- pine64:pine64-lts
+ sunxi:pine64-lts,pinebook,orangepi_3,teres_i,a64-olinuxino,a64-olinuxino-emmc,nanopi_neo2,pine64_plus
+ ";;
+riscv64) board_configs="
+ qemu:qemu-riscv64,qemu-riscv64_smode
+ unleashed:sifive_unleashed
+ unmatched:sifive_unmatched
+ starfive:starfive_visionfive2
";;
esac
-_allboards=""
for board_config in $board_configs; do
_allboards="$_allboards $pkgname-${board_config%%:*}"
done
-subpackages="$pkgname-all:_all $_allboards"
+
+subpackages="$_allboards $pkgname-tools"
+case "$CARCH" in
+ arm*|aarch64|riscv64) subpackages="$pkgname-all:_all $_allboards $pkgname-tools";;
+esac
build() {
- cd "$builddir"
touch include/config.h
LC_ALL=C date +'#define U_BOOT_DATE "%b %d %C%y"' > include/timestamp_autogenerated.h
LC_ALL=C date +'#define U_BOOT_TIME "%T"' >> include/timestamp_autogenerated.h
@@ -59,24 +95,55 @@ build() {
msg "Building u-boot for $board"
case "$board" in
- "pine64-lts")
- export BL31="/usr/share/arm-trusted-firmware-sun50i/bl31.bin"
- ;;
+ "pine64-lts"|"pinebook"|"teres_i"|"a64-olinuxino"|"a64-olinuxino-emmc"|"pine64_plus")
+ export BL31="/usr/share/arm-trusted-firmware/sun50i_a64/bl31.bin"
+ export SCP=/dev/null;;
+ "orangepi_3")
+ export BL31="/usr/share/arm-trusted-firmware/sun50i_h6/bl31.bin";;
+ "pinebook-pro-rk3399"|"rockpro64-rk3399"|"roc-pc-rk3399")
+ export BL31="/usr/share/arm-trusted-firmware/rk3399/bl31.elf";;
+ "roc-cc-rk3328")
+ export BL31="/usr/share/arm-trusted-firmware/rk3328/bl31.elf";;
esac
export BUILD_DIR="$builddir"/build/$board
mkdir -p "$BUILD_DIR"
- make O="$BUILD_DIR" ${board}_config || return 1
- make O="$BUILD_DIR" all || return 1
+ make O="$BUILD_DIR" ${board}_config
+ make O="$BUILD_DIR" all
done
done
+ msg "Building u-boot-tools"
+ make tools-only_defconfig
+ make tools-all
}
package() {
+ case "$CARCH" in
+ mips64|x86*) return;;
+ esac
cd "$builddir"/build
mkdir -p "$pkgdir"/usr/share/$pkgname "$pkgdir"/usr/sbin
- install "$srcdir"/README.txt "$pkgdir"/usr/share/$pkgname/README.txt || return 1
- install "$srcdir"/update-u-boot "$pkgdir"/usr/sbin || return 1
+ install "$srcdir"/README.txt "$pkgdir"/usr/share/$pkgname/README.txt
+ install "$srcdir"/update-u-boot "$pkgdir"/usr/sbin
+}
+
+tools() {
+ pkgdesc="u-boot bootloader utility tools"
+ provides="uboot-tools"
+ replaces="uboot-tools"
+ mkdir -p $pkgdir
+ mkdir $subpkgdir
+ cd "$builddir"
+ for tool in dumpimage env/fw_printenv \
+ fit_check_sign fit_info gdb/gdbcont gdb/gdbsend gen_eth_addr img2srec \
+ mkenvimage mkimage ncb proftool; do
+ install -D tools/$tool \
+ $subpkgdir/usr/bin/"$(basename $tool)"
+ done
+ install -Dm644 tools/env/fw_env.config \
+ "$subpkgdir/usr/share/doc/$pkgname/examples/fw_env.config"
+ cd "$subpkgdir"/usr/bin
+ ln -sf fw_printenv fw_setenv
}
_all() {
@@ -96,28 +163,39 @@ _split_boards() {
msg "Including board $board"
mkdir -p "$subpkgdir"/usr/share/$pkgname/$board
export BUILD_DIR="$builddir"/build/$board
+
+ local board_images=""
+ case "$board" in
+ "sifive_unleashed") board_images="u-boot.itb spl/u-boot-spl.bin --" ;;
+ "sifive_unmatched") board_images="u-boot.itb spl/u-boot-spl.bin --" ;;
+ "starfive_visionfive2") board_images="u-boot.itb spl/u-boot-spl.bin.normal.out --" ;;
+ "pinebook-pro-rk3399"|"rockpro64-rk3399"|"roc-pc-rk3399"|"roc-cc-rk3328") board_images="u-boot-rockchip.bin --" ;;
+ esac
+
local ok=no
- for image in u-boot-sunxi-with-spl.bin -- MLO SPL u-boot.img -- u-boot.bin; do
+ for image in $board_images u-boot-sunxi-with-spl.bin -- MLO SPL u-boot.img -- u-boot.bin; do
if [ "$image" = "--" ]; then
[ "$ok" = yes ] && break
continue
fi
if [ -e "$BUILD_DIR"/$image ]; then
- cp "$BUILD_DIR"/$image "$subpkgdir"/usr/share/$pkgname/$board \
- || return 1
+ cp "$BUILD_DIR"/$image "$subpkgdir"/usr/share/$pkgname/$board
ok=yes
fi
done
- [ "$ok" = yes ] || return 1
+ [ "$ok" = yes ] || return
done
}
for board_config in $board_configs; do
_board="${board_config%%:*}"
_configs="${board_config#*:}"
- eval "${_board}() { _split_boards $_board ${_configs//,/ }; }"
+ eval "$_board() { _split_boards $_board ${_configs//,/ }; }"
done
-sha512sums="e04fe54883149123730605b084324ac0d1d72ce6913467bbe587a5a2675bcf7bb393405d9a446dc0c64ba42abc1e862ae5a132e9e51aa7390e2e9fce045af8d8 u-boot-2020.04.tar.bz2
+sha512sums="
+a71270302b38e9e68a83b3acdf8f7635f72d9fa75169e3c2241cdfa21eab834b8f25dfd35c281191bccb2fcec1e86d6b64afcf1d2ed5cd4fdc02258cd75fc236 u-boot-2024.04.tar.bz2
f8c9bb6e84d6f0620c976ac7ad5dd7ec7ff9dfdd4b1d03d2bf6653e7beccf80bdf2debfc92fb1f696dba92fb40287d3c45897e0078951451d0835cb61a5f16d1 README.txt
-b3b4fb70c4eea2034bae45c513bca7b738be7507b46d3f2d62b31c794cd238d492acf960c95078cb1c945520debd5d2762103df7cef0fc36acfe9ff9a94549fc update-u-boot"
+6cf882785fa12abcfdfa82119f6a3446229bc75f4c19d5751676625dda81df5ca428c2b631187ecbc39261b081b1a8b53bceeac9f43a3229f7610abc4d9862a2 update-u-boot
+83fc42c698f8236ba1f7d71383863e0bda255ada85bb885856a24b2036944d230d918a9d965d5ff90720726c9ee85ffda5e88eefc27b94ef9e7b4f456dcfb195 fix-tools-build.patch
+"