diff options
-rw-r--r-- | 0001-ATF-set-fno-stack-protector.patch | 26 | ||||
-rw-r--r-- | PKGBUILD | 59 | ||||
-rw-r--r-- | extlinux.conf | 4 | ||||
-rw-r--r-- | uboot-pinebook.install | 17 |
4 files changed, 106 insertions, 0 deletions
diff --git a/0001-ATF-set-fno-stack-protector.patch b/0001-ATF-set-fno-stack-protector.patch new file mode 100644 index 0000000..47721b4 --- /dev/null +++ b/0001-ATF-set-fno-stack-protector.patch @@ -0,0 +1,26 @@ +From 45018dbfb301759c9debff598a509832e35854a9 Mon Sep 17 00:00:00 2001 +From: Kevin Mihelich <kevin@archlinuxarm.org> +Date: Sat, 19 Aug 2017 15:28:38 -0600 +Subject: [PATCH] ATF: set -fno-stack-protector + +--- + Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 74d51804..0af9b350 100644 +--- a/Makefile ++++ b/Makefile +@@ -202,7 +202,8 @@ ASFLAGS += $(CPPFLAGS) $(ASFLAGS_$(ARCH)) \ + -Wa,--fatal-warnings + TF_CFLAGS += $(CPPFLAGS) $(TF_CFLAGS_$(ARCH)) \ + -ffreestanding -fno-builtin -Wall -std=gnu99 \ +- -Os -ffunction-sections -fdata-sections ++ -Os -ffunction-sections -fdata-sections \ ++ -fno-stack-protector + + GCC_V_OUTPUT := $(shell $(CC) -v 2>&1) + +-- +2.19.1 + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..36f5493 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,59 @@ +# U-Boot: Pine64 +# Maintainer: Dan Johansen <strit@manjaro.org> +# Contributor: Kevin Mihelich <kevin@archlinuxarm.org> + +pkgname=uboot-pinebook +pkgver=v2019.01.rc3.r35.g64abfc9b6b +pkgrel=1 +pkgdesc="U-Boot for Pine64" +arch=('aarch64') +url='http://www.denx.de/wiki/U-Boot/WebHome' +license=('GPL') +makedepends=('bc' 'git' 'python' 'swig' 'dtc') +install=${pkgname}.install +source=('git+https://github.com/u-boot/u-boot.git#commit=64abfc9b6bb3' + 'git+https://github.com/ARM-software/arm-trusted-firmware.git#commit=63b9b5425f15' + '0001-ATF-set-fno-stack-protector.patch' + 'extlinux.conf') +md5sums=('SKIP' + 'SKIP' + '3213c96ce0713249719dc73d58395620' + '9641cbc5984727d43f76350a7c0e124e') + +pkgver() { + cd u-boot + git describe --long | sed 's/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare() { + cd u-boot + + cd ../arm-trusted-firmware + git apply ../0001-ATF-set-fno-stack-protector.patch +} + +build() { + unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS + + cd arm-trusted-firmware + + make PLAT=sun50i_a64 DEBUG=1 bl31 + cp build/sun50i_a64/debug/bl31.bin ../u-boot + + cd ../u-boot + + make distclean + make pinebook_defconfig + echo 'CONFIG_IDENT_STRING=" Manjaro ARM"' >> .config + make EXTRAVERSION=-${pkgrel} + cat spl/sunxi-spl.bin u-boot.itb > u-boot-sunxi-with-spl-pinebook.bin +} + +package() { + cd u-boot + + mkdir -p "${pkgdir}"/boot/extlinux + + cp u-boot-sunxi-with-spl-pinebook.bin "${pkgdir}"/boot + cp "${srcdir}"/extlinux.conf "${pkgdir}"/boot/extlinux/ +} diff --git a/extlinux.conf b/extlinux.conf new file mode 100644 index 0000000..32757f4 --- /dev/null +++ b/extlinux.conf @@ -0,0 +1,4 @@ +LABEL Manjaro ARM +KERNEL ../Image +FDT ../dtbs/allwinner/sun50i-a64-pinebook.dtb +APPEND initrd=../initramfs-linux.img console=tty1 root=LABEL=ROOT rw rootwait bootsplash.bootfile=bootsplash-themes/manjaro/bootsplash diff --git a/uboot-pinebook.install b/uboot-pinebook.install new file mode 100644 index 0000000..801363d --- /dev/null +++ b/uboot-pinebook.install @@ -0,0 +1,17 @@ +flash_uboot() { + echo "Install new bootloader by running:" + echo "# dd if=/boot/u-boot-sunxi-with-spl-pinebook.bin of=/dev/mmcblk0 bs=8k seek=1 for Pinebook SD" + echo "# dd if=/boot/u-boot-sunxi-with-spl-pinebook.bin of=/dev/mmcblk2 bs=8k seek=1 for Pinebook eMMC" +} + +## arg 1: the new package version +post_install() { + flash_uboot + sed -i s/"LABEL=ROOT"/"LABEL=ROOT_MNJRO"/g /boot/extlinux/extlinux.conf +} + +## arg 1: the new package version +## arg 2: the old package version +post_upgrade() { + flash_uboot +} |