summaryrefslogtreecommitdiff
path: root/libre/uboot4extlinux-ti-soc/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/uboot4extlinux-ti-soc/PKGBUILD')
-rw-r--r--libre/uboot4extlinux-ti-soc/PKGBUILD168
1 files changed, 168 insertions, 0 deletions
diff --git a/libre/uboot4extlinux-ti-soc/PKGBUILD b/libre/uboot4extlinux-ti-soc/PKGBUILD
new file mode 100644
index 000000000..c59c42bdb
--- /dev/null
+++ b/libre/uboot4extlinux-ti-soc/PKGBUILD
@@ -0,0 +1,168 @@
+# U-Boot: BeagleBoard, BeagleBone, BeagleBone Black
+# Maintainer: André Silva <emulatorman@hyperbola.info>
+# Contributor: Jookia <166291@gmail.com>
+# Contributor: Márcio Silva <coadde@hyperbola.info>
+
+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
+}