mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-28 22:57:37 +00:00
f7a95b30ec
Fix an issue where u-boot would hang whenever a device (for example the GPS hat from Adafruit) is connected to the RPi's GPIO header. These devices usually output something to the serial console during the startup phase of u-boot, making u-boot think it has to interrupt its boot sequence because somebody is trying to interrupt its startup. Closes #2053 Run-tested: RPi4B
130 lines
5.1 KiB
Bash
130 lines
5.1 KiB
Bash
# U-Boot: Raspberry Pi
|
|
# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org>
|
|
# Maintainer: graysky <therealgraysky@proton.me>
|
|
|
|
pkgname=uboot-raspberrypi
|
|
pkgver=2024.07
|
|
pkgrel=4
|
|
pkgdesc="U-Boot for Raspberry Pi"
|
|
arch=('armv7h' 'aarch64')
|
|
url='https://docs.u-boot.org/en/latest'
|
|
license=('GPL')
|
|
backup=('boot/boot.txt' 'boot/boot.scr' 'boot/config.txt')
|
|
makedepends=('bc' 'dtc' 'git' 'util-linux')
|
|
conflicts_armv7h=('linux-rpi' 'linux-rpi-16k')
|
|
_commit=c0307606abef9e6070d50047e7fa62d8354d8c29
|
|
source=(
|
|
# these work for aarch64 but not for armv7h
|
|
"https://github.com/u-boot/u-boot/archive/refs/tags/v${pkgver/rc/-rc}.tar.gz"
|
|
"https://github.com/raspberrypi/firmware/raw/${_commit}/boot/bcm2710-rpi-2-b.dtb"
|
|
"https://github.com/raspberrypi/firmware/raw/${_commit}/boot/bcm2710-rpi-3-b-plus.dtb"
|
|
"https://github.com/raspberrypi/firmware/raw/${_commit}/boot/bcm2710-rpi-3-b.dtb"
|
|
"https://github.com/raspberrypi/firmware/raw/${_commit}/boot/bcm2710-rpi-cm3.dtb"
|
|
"https://github.com/raspberrypi/firmware/raw/${_commit}/boot/bcm2710-rpi-zero-2-w.dtb"
|
|
"https://github.com/raspberrypi/firmware/raw/${_commit}/boot/bcm2710-rpi-zero-2.dtb"
|
|
"https://github.com/raspberrypi/firmware/raw/${_commit}/boot/bcm2711-rpi-4-b.dtb"
|
|
"https://github.com/raspberrypi/firmware/raw/${_commit}/boot/bcm2711-rpi-400.dtb"
|
|
"https://github.com/raspberrypi/firmware/raw/${_commit}/boot/bcm2711-rpi-cm4-io.dtb"
|
|
"https://github.com/raspberrypi/firmware/raw/${_commit}/boot/bcm2711-rpi-cm4.dtb"
|
|
"https://github.com/raspberrypi/firmware/raw/${_commit}/boot/bcm2711-rpi-cm4s.dtb"
|
|
"https://github.com/raspberrypi/firmware/raw/${_commit}/boot/bcm2712-rpi-5-b.dtb"
|
|
"https://github.com/raspberrypi/firmware/raw/${_commit}/boot/bcm2712d0-rpi-5-b.dtb"
|
|
"https://github.com/raspberrypi/firmware/raw/${_commit}/boot/bcm2712-rpi-cm5-cm4io.dtb"
|
|
"https://github.com/raspberrypi/firmware/raw/${_commit}/boot/bcm2712-rpi-cm5-cm5io.dtb"
|
|
# these are from linux-armv7-6.9.8-1
|
|
bcm2712-rpi-5-b.v7
|
|
bcm2710-rpi-3-b-plus.v7
|
|
bcm2711-rpi-cm4-io.v7
|
|
bcm2712-rpi-cm5-cm4io.v7
|
|
bcm2710-rpi-3-b.v7
|
|
bcm2711-rpi-cm4.v7
|
|
bcm2711-rpi-cm4s.v7
|
|
bcm2711-rpi-400.v7
|
|
bcm2712d0-rpi-5-b.v7
|
|
bcm2710-rpi-zero-2.v7
|
|
bcm2712-rpi-cm5-cm5io.v7
|
|
bcm2710-rpi-zero-2-w.v7
|
|
bcm2710-rpi-cm3.v7
|
|
bcm2711-rpi-4-b.v7
|
|
'0001-rpi-increase-space-for-kernel.patch'
|
|
'0002-fix-serial-console.patch'
|
|
'boot.txt.v2'
|
|
'boot.txt.v3'
|
|
'mkscr')
|
|
md5sums=('f750ca945f4a4d6a69b36259c8b68689'
|
|
'11c5a49b7b4951a571fe1a8537c329c6'
|
|
'0190cba24f7a637cdf6019d6750c59ff'
|
|
'c291d947389308411e3779782522f7c3'
|
|
'8dea82ecb9ec769246767836c74fb8f7'
|
|
'7e9846deb2c8f81283ccae35240258e1'
|
|
'7e9846deb2c8f81283ccae35240258e1'
|
|
'ce1dc48eb08210929e48eac31d5ec031'
|
|
'e7edf95cfa70211a6db053615c8c45c3'
|
|
'3efd77582f05e5ca6f55ec14f00810e1'
|
|
'687902e98a5e4367a2b0f3914752a0c9'
|
|
'fbfe64dc18614d75d22955eeb3a8cae1'
|
|
'94abb358fd4af83907dc16e19b65d4f3'
|
|
'd8619315e6c8896df1727008b7e9359f'
|
|
'9fb99782610680f2c5457afb65a60826'
|
|
'8d16fd383d663662ca60f750a69ed732'
|
|
'94abb358fd4af83907dc16e19b65d4f3'
|
|
'0190cba24f7a637cdf6019d6750c59ff'
|
|
'3efd77582f05e5ca6f55ec14f00810e1'
|
|
'9fb99782610680f2c5457afb65a60826'
|
|
'c291d947389308411e3779782522f7c3'
|
|
'687902e98a5e4367a2b0f3914752a0c9'
|
|
'fbfe64dc18614d75d22955eeb3a8cae1'
|
|
'e7edf95cfa70211a6db053615c8c45c3'
|
|
'd8619315e6c8896df1727008b7e9359f'
|
|
'7e9846deb2c8f81283ccae35240258e1'
|
|
'8d16fd383d663662ca60f750a69ed732'
|
|
'7e9846deb2c8f81283ccae35240258e1'
|
|
'8dea82ecb9ec769246767836c74fb8f7'
|
|
'35074bb767e8b259c5825b0c1f17fd60'
|
|
'636c8ac2098ebf0acdc2ff15430edf0d'
|
|
'daa8314d29129e1b1ae0b316604bf8be'
|
|
'f8ad4508b9734e9e13aedb9f7419d7a3'
|
|
'be8abe44b86d63428d7ac3acc64ee3bf'
|
|
'021623a04afd29ac3f368977140cfbfd')
|
|
|
|
prepare() {
|
|
cd u-boot-${pkgver/rc/-rc}
|
|
|
|
patch -p1 -i ../0001-rpi-increase-space-for-kernel.patch
|
|
patch -p1 -i ../0002-fix-serial-console.patch
|
|
}
|
|
|
|
build() {
|
|
cd u-boot-${pkgver/rc/-rc}
|
|
|
|
unset CFLAGS
|
|
unset CXXFLAGS
|
|
unset CPPFLAGS
|
|
|
|
make distclean
|
|
[[ $CARCH == "armv7h" ]] && make rpi_2_config
|
|
[[ $CARCH == "aarch64" ]] && make rpi_arm64_config
|
|
echo 'CONFIG_IDENT_STRING=" Arch Linux ARM"' >> .config
|
|
make EXTRAVERSION=-${pkgrel}
|
|
}
|
|
|
|
package() {
|
|
cd u-boot-${pkgver/rc/-rc}
|
|
|
|
mkdir -p "${pkgdir}"/boot
|
|
|
|
if [[ $CARCH == "armv7h" ]]; then
|
|
cp u-boot.bin ${pkgdir}/boot/kernel7.img
|
|
cp ../boot.txt.v2 ../boot.txt
|
|
cp ../*.v7 ${pkgdir}/boot
|
|
rename .v7 .dtb ${pkgdir}/boot/*
|
|
elif [[ $CARCH == "aarch64" ]]; then
|
|
cp u-boot.bin ${pkgdir}/boot/kernel8.img
|
|
cp ../*.dtb ${pkgdir}/boot
|
|
cp ../boot.txt.v3 ../boot.txt
|
|
fi
|
|
|
|
echo "enable_uart=1" > ${pkgdir}/boot/config.txt
|
|
tools/mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d ../boot.txt "${pkgdir}"/boot/boot.scr
|
|
cp ../{boot.txt,mkscr} "${pkgdir}"/boot
|
|
}
|