# U-Boot: BeagleBoard # Maintainer: André Silva # Contributor: Jookia <166291@gmail.com> # Contributor: Márcio Silva pkgbase=uboot4extlinux-omap3 pkgname=('uboot4extlinux-omap3_beagle') pkgver=2019.10 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.conf') sha256sums=('8d6d6070739522dd236cba7055b8736bfe92b4fac0ea18ad809829ca79667014' 'SKIP' 'd8ca994d80f05a99963b92736860d0a7f420d0771a6e5da9add0c6eac40034b6') boards=('omap3_beagle') 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. echo 'CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x200' >> configs/omap3_beagle_defconfig # 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. 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-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.conf "${pkgdir}"/boot/extlinux }