# U-Boot: BeagleBoard, BeagleBone, BeagleBone Black # Maintainer: André Silva # Contributor: Jookia <166291@gmail.com> # Contributor: Márcio Silva pkgbase=uboot4extlinux-ti-soc pkgname=('uboot4extlinux-am335x_bone' 'uboot4extlinux-chiliboard' 'uboot4extlinux-omap3_beagle' 'uboot4extlinux-omap4_panda') pkgver=2020.07 pkgrel=1 arch=('armv7h') url="http://git.denx.de/u-boot.git/" license=('GPL') makedepends=('bc' 'bison' 'dtc' 'flex' 'python' 'python2' 'swig') backup=(boot/extlinux/extlinux.conf) source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2" '0001-omap34xx-SPL-enable-MMC-raw-boot-with-u-boot.img.patch' 'extlinux-am335x.conf' 'extlinux-omap.conf') sha256sums=('c1f5bf9ee6bb6e648edbf19ce2ca9452f614b08a9f886f1a566aa42e8cf05f6a' 'SKIP' 'SKIP' 'SKIP') boards=('am335x_evm' 'chiliboard' 'omap3_beagle' 'omap4_panda') prepare() { cd u-boot-${pkgver} # The default is 0x300 512b blocks which forces u-boot.img to be locarted at # 384k on the microSD. As u-boot.img is big, it often goes over the 1MB empty # space that is created by default when partitioning block devices. That # corrupts the first partition. Using 0x200 leaves more space to u-boot.img # and is well aligned to 128k. for i in ${boards[@]}; do echo 'CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x200' >> \ configs/${i}_defconfig done # See the 0001-omap34xx-SPL-enable-MMC-raw-boot-with-u-boot.img.patch for # rationale for this configuration echo '# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set' >> \ configs/omap3_beagle_defconfig # We want to enable users to use both RAW mode and filesystems to install # u-boot, but as filesystems are more complicated due to constraints that # need to be respected for it to work we default to raw block. This patch # restores the ability of using RAW block mode on OMAP >= 2. RAW partitions # have not been tested yet and may or may not work but they have constraints # as well. patch -Np1 -i ../0001-omap34xx-SPL-enable-MMC-raw-boot-with-u-boot.img.patch } build() { cd u-boot-${pkgver} unset CFLAGS CXXFLAGS LDFLAGS for i in ${boards[@]}; do mkdir -p ../bin_${i} make distclean make ${i}_defconfig echo 'CONFIG_IDENT_STRING=" Parabola GNU/Linux-libre"' >> .config make EXTRAVERSION=-${pkgrel} mv -f MLO u-boot.img ../bin_${i} done } package_uboot4extlinux-am335x_bone() { pkgdesc="U-Boot with Extlinux support for various BeagleBones, the AM335x GP EVM and the EVM SK" install=${pkgbase}.install provides=('uboot4extlinux-am335x') conflicts=('uboot-am335x_bone' 'uboot4grub-am335x_bone') install -d "${pkgdir}"/boot/extlinux install -d "${pkgdir}"/boot/u-boot/images/ install -Dm644 \ bin_am335x_evm/MLO \ bin_am335x_evm/u-boot.img \ "${pkgdir}"/boot/u-boot/images/ install -Dm644 extlinux-am335x.conf "${pkgdir}"/boot/extlinux/extlinux.conf # Package documentation as well install -d "${pkgdir}"/usr/share/doc/u-boot # The README might move in doc/board/ at some point install -Dm644 u-boot-${pkgver}/board/ti/am335x/README \ "${pkgdir}"/usr/share/doc/u-boot/am335x_bone.txt } package_uboot4extlinux-chiliboard() { pkgdesc="U-Boot with Extlinux support for the ChiliBoard" install=${pkgbase}.install provides=('uboot4extlinux-am335x') conflicts=('uboot-chiliboard') install -d "${pkgdir}"/boot/extlinux install -d "${pkgdir}"/boot/u-boot/images/ install -Dm644 \ bin_chiliboard/MLO \ bin_chiliboard/u-boot.img \ "${pkgdir}"/boot/u-boot/images/ install -Dm644 extlinux-am335x.conf "${pkgdir}"/boot/extlinux/extlinux.conf # Package documentation as well install -d "${pkgdir}"/usr/share/doc/u-boot # The README might move in doc/board/ at some point install -Dm644 u-boot-${pkgver}/board/grinn/chiliboard/README \ "${pkgdir}"/usr/share/doc/u-boot/chiliboard.txt } package_uboot4extlinux-omap3_beagle() { pkgdesc="U-Boot with Extlinux support for various BeagleBoards" install=${pkgbase}.install provides=('uboot4extlinux-omap3') conflicts=('grub-omap3_beagle' 'grub-omap3_beagle_xm' 'grub-omap3_beagle_xm_ab' 'uboot-omap3_beagle') install -d "${pkgdir}"/boot/extlinux install -d "${pkgdir}"/boot/u-boot/images/ install -Dm644 \ bin_omap3_beagle/MLO \ bin_omap3_beagle/u-boot.img \ "${pkgdir}"/boot/u-boot/images/ install -Dm644 extlinux-omap.conf "${pkgdir}"/boot/extlinux/extlinux.conf # Package documentation as well install -d "${pkgdir}"/usr/share/doc/u-boot # The README might be converted to ReStructuredText at some point and be moved because of that install -Dm644 u-boot-${pkgver}/doc/README.omap3 "${pkgdir}"/usr/share/doc/u-boot/ } package_uboot4extlinux-omap4_panda() { pkgdesc="U-Boot with Extlinux support for the PandaBoard and PandaBoard ES" install=${pkgbase}.install provides=('uboot4extlinux-omap4_panda') conflicts=('uboot4grub-omap4_panda' 'uboot-omap4_panda' 'uboot-pandaboard-linux-libre' 'uboot-pandaboard') install -d "${pkgdir}"/boot/extlinux install -d "${pkgdir}"/boot/u-boot/images/ install -Dm644 \ bin_omap4_panda/MLO \ bin_omap4_panda/u-boot.img \ "${pkgdir}"/boot/u-boot/images/ install -Dm644 extlinux-omap.conf "${pkgdir}"/boot/extlinux/extlinux.conf }