From a63182bc739fa2ef86861a939898717e04cb7153 Mon Sep 17 00:00:00 2001 From: Isaac David Date: Fri, 9 Jun 2017 15:44:53 -0500 Subject: libre-testing/uboot4extlinux-*: new versions and configs also patch old u-boot tarballs to build with gcc7 --- .../0001-parabola-arm-modifications.patch | 243 ++++++++++++++ .../0002-kernel-add-support-for-gcc-7.patch | 68 ++++ libre-testing/uboot4extlinux-am335x_bone/PKGBUILD | 49 +++ .../uboot4extlinux-am335x_bone/extlinux.conf | 58 ++++ libre-testing/uboot4extlinux-am335x_bone/uEnv.txt | 1 + .../uboot4extlinux-am335x_bone.install | 37 ++ ...x-compiler-gcc5.h-to-fix-builds-with-gcc5.patch | 93 ------ .../0001-kernel-add-support-for-gcc-7.patch | 68 ++++ libre-testing/uboot4extlinux-chiliboard/PKGBUILD | 11 +- .../uboot4extlinux-chiliboard.install | 2 +- .../0002-kernel-add-support-for-gcc-5.patch | 97 ------ .../0002-kernel-add-support-for-gcc-7.patch | 68 ++++ libre-testing/uboot4extlinux-nitrogen6q/PKGBUILD | 15 +- .../uboot4extlinux-nitrogen6q.install | 2 +- .../0002-kernel-add-support-for-gcc-7.patch | 68 ++++ libre-testing/uboot4extlinux-omap3_beagle/PKGBUILD | 8 +- .../uboot4extlinux-omap3_beagle.install | 2 +- .../0001-parabola-arm-modifications.patch | 157 +++------ libre-testing/uboot4extlinux-omap4_panda/PKGBUILD | 13 +- .../uboot4extlinux-omap4_panda.install | 2 +- .../0001-parabola-arm-modifications.patch | 50 +++ libre-testing/uboot4extlinux-sunxi/PKGBUILD | 330 ++++++++++++++++++ libre-testing/uboot4extlinux-sunxi/extlinux.conf | 58 ++++ .../uboot4extlinux-sunxi.install | 24 ++ .../0001-parabola-arm-modifications.patch | 371 ++++----------------- .../0002-kernel-add-support-for-gcc-5.patch | 97 ------ libre-testing/uboot4extlinux-udoo/PKGBUILD | 63 ++-- .../uboot4extlinux-udoo.install | 11 +- .../0002-kernel-add-support-for-gcc-7.patch | 68 ++++ libre-testing/uboot4extlinux-wandboard/PKGBUILD | 12 +- .../uboot4extlinux-wandboard.install | 5 +- 31 files changed, 1367 insertions(+), 784 deletions(-) create mode 100644 libre-testing/uboot4extlinux-am335x_bone/0001-parabola-arm-modifications.patch create mode 100644 libre-testing/uboot4extlinux-am335x_bone/0002-kernel-add-support-for-gcc-7.patch create mode 100644 libre-testing/uboot4extlinux-am335x_bone/PKGBUILD create mode 100644 libre-testing/uboot4extlinux-am335x_bone/extlinux.conf create mode 100644 libre-testing/uboot4extlinux-am335x_bone/uEnv.txt create mode 100644 libre-testing/uboot4extlinux-am335x_bone/uboot4extlinux-am335x_bone.install delete mode 100644 libre-testing/uboot4extlinux-chiliboard/0001-Add-linux-compiler-gcc5.h-to-fix-builds-with-gcc5.patch create mode 100644 libre-testing/uboot4extlinux-chiliboard/0001-kernel-add-support-for-gcc-7.patch delete mode 100644 libre-testing/uboot4extlinux-nitrogen6q/0002-kernel-add-support-for-gcc-5.patch create mode 100644 libre-testing/uboot4extlinux-nitrogen6q/0002-kernel-add-support-for-gcc-7.patch create mode 100644 libre-testing/uboot4extlinux-omap3_beagle/0002-kernel-add-support-for-gcc-7.patch create mode 100644 libre-testing/uboot4extlinux-sunxi/0001-parabola-arm-modifications.patch create mode 100644 libre-testing/uboot4extlinux-sunxi/PKGBUILD create mode 100644 libre-testing/uboot4extlinux-sunxi/extlinux.conf create mode 100644 libre-testing/uboot4extlinux-sunxi/uboot4extlinux-sunxi.install delete mode 100644 libre-testing/uboot4extlinux-udoo/0002-kernel-add-support-for-gcc-5.patch create mode 100644 libre-testing/uboot4extlinux-wandboard/0002-kernel-add-support-for-gcc-7.patch (limited to 'libre-testing') diff --git a/libre-testing/uboot4extlinux-am335x_bone/0001-parabola-arm-modifications.patch b/libre-testing/uboot4extlinux-am335x_bone/0001-parabola-arm-modifications.patch new file mode 100644 index 000000000..0f1c145da --- /dev/null +++ b/libre-testing/uboot4extlinux-am335x_bone/0001-parabola-arm-modifications.patch @@ -0,0 +1,243 @@ +diff -Nur u-boot-2015.04.orig/configs/am335x_evm_defconfig u-boot-2015.04/configs/am335x_evm_defconfig +--- u-boot-2015.04.orig/configs/am335x_evm_defconfig 2015-04-13 11:53:03.000000000 -0300 ++++ u-boot-2015.04/configs/am335x_evm_defconfig 2016-02-24 12:05:57.627551576 -0300 +@@ -1,7 +1,6 @@ + CONFIG_SPL=y + CONFIG_SPL_STACK_R=y + CONFIG_SPL_STACK_R_ADDR=0x82000000 +-CONFIG_SYS_EXTRA_OPTIONS="NAND" +-CONFIG_CONS_INDEX=1 ++CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1" + CONFIG_ARM=y + CONFIG_TARGET_AM335X_EVM=y +diff -Nur u-boot-2015.04.orig/include/configs/am335x_evm.h u-boot-2015.04/include/configs/am335x_evm.h +--- u-boot-2015.04.orig/include/configs/am335x_evm.h 2015-04-13 11:53:03.000000000 -0300 ++++ u-boot-2015.04/include/configs/am335x_evm.h 2016-02-24 12:09:41.983016704 -0300 +@@ -17,6 +17,7 @@ + #define __CONFIG_AM335X_EVM_H + + #include ++#define CONFIG_ENV_IS_NOWHERE + + #ifndef CONFIG_SPL_BUILD + #ifndef CONFIG_FIT +@@ -45,6 +46,9 @@ + /* Enhance our eMMC support / experience. */ + #define CONFIG_CMD_GPT + #define CONFIG_EFI_PARTITION ++#define CONFIG_CMD_PART ++#define CONFIG_PARTITION_UUIDS ++#define CONFIG_CMD_SETEXPR + + #ifdef CONFIG_NAND + #define NANDARGS \ +@@ -67,113 +71,90 @@ + + #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG + ++/* Enable Extlinux boot support */ ++#define CONFIG_CMD_PXE ++#define CONFIG_MENU ++#define BOOT_TARGET_DEVICES(func) ++#include ++ + #ifndef CONFIG_SPL_BUILD + #define CONFIG_EXTRA_ENV_SETTINGS \ ++ BOOTENV \ + DEFAULT_LINUX_BOOT_ENV \ +- "boot_fdt=try\0" \ +- "bootpart=0:2\0" \ ++ "bootpart=0:1\0" \ + "bootdir=/boot\0" \ ++ "fdtdir=/boot/dtbs\0" \ + "bootfile=zImage\0" \ + "fdtfile=undefined\0" \ ++ "rdfile=initramfs-linux.img\0" \ + "console=ttyO0,115200n8\0" \ + "partitions=" \ + "uuid_disk=${uuid_gpt_disk};" \ + "name=rootfs,start=2MiB,size=-,uuid=${uuid_gpt_rootfs}\0" \ + "optargs=\0" \ +- "mmcdev=0\0" \ +- "mmcroot=/dev/mmcblk0p2 ro\0" \ +- "mmcrootfstype=ext4 rootwait\0" \ +- "rootpath=/export/rootfs\0" \ +- "nfsopts=nolock\0" \ +- "static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}" \ +- "::off\0" \ +- "ramroot=/dev/ram0 rw\0" \ +- "ramrootfstype=ext2\0" \ ++ "cape_disable=\0" \ ++ "cape_enable=\0" \ ++ "cmdline=\0" \ + "mmcargs=setenv bootargs console=${console} " \ + "${optargs} " \ +- "root=${mmcroot} " \ +- "rootfstype=${mmcrootfstype}\0" \ +- "spiroot=/dev/mtdblock4 rw\0" \ +- "spirootfstype=jffs2\0" \ +- "spisrcaddr=0xe0000\0" \ +- "spiimgsize=0x362000\0" \ +- "spibusno=0\0" \ +- "spiargs=setenv bootargs console=${console} " \ +- "${optargs} " \ +- "root=${spiroot} " \ +- "rootfstype=${spirootfstype}\0" \ +- "netargs=setenv bootargs console=${console} " \ +- "${optargs} " \ +- "root=/dev/nfs " \ +- "nfsroot=${serverip}:${rootpath},${nfsopts} rw " \ +- "ip=dhcp\0" \ +- "bootenv=uEnv.txt\0" \ +- "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \ +- "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ +- "source ${loadaddr}\0" \ +- "loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \ +- "importbootenv=echo Importing environment from mmc ...; " \ +- "env import -t -r $loadaddr $filesize\0" \ +- "ramargs=setenv bootargs console=${console} " \ +- "${optargs} " \ +- "root=${ramroot} " \ +- "rootfstype=${ramrootfstype}\0" \ +- "loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \ +- "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ +- "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ +- "mmcloados=run mmcargs; " \ +- "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ +- "if run loadfdt; then " \ +- "bootz ${loadaddr} - ${fdtaddr}; " \ +- "else " \ +- "if test ${boot_fdt} = try; then " \ +- "bootz; " \ +- "else " \ +- "echo WARN: Cannot load the DT; " \ +- "fi; " \ +- "fi; " \ +- "else " \ +- "bootz; " \ +- "fi;\0" \ +- "mmcboot=mmc dev ${mmcdev}; " \ +- "if mmc rescan; then " \ +- "echo SD/MMC found on device ${mmcdev};" \ +- "if run loadbootscript; then " \ +- "run bootscript;" \ +- "else " \ +- "if run loadbootenv; then " \ +- "echo Loaded environment from ${bootenv};" \ +- "run importbootenv;" \ ++ "${cape_disable} " \ ++ "${cape_enable} " \ ++ "root=${root} " \ ++ "${cmdline}\0" \ ++ "loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ ++ "loadrd=load ${devtype} ${bootpart} ${rdaddr} ${bootdir}/${rdfile}\0" \ ++ "loadfdt=echo loading ${fdtdir}/${fdtfile} ...; load ${devtype} ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}\0" \ ++ "mmcboot=usb start;" \ ++ "for devtype in mmc usb; do " \ ++ "for devnum in 0 1; do " \ ++ "if ${devtype} dev ${devnum}; then " \ ++ "echo ${devtype} found on device ${devnum};" \ ++ "setenv bootpart ${devnum}:1;" \ ++ "part uuid ${devtype} ${bootpart} uuid;" \ ++ "setenv root PARTUUID=${uuid} rw rootwait fixrtc;" \ ++ "echo Checking for: ${bootdir}/uEnv.txt ...;" \ ++ "gpio set 54;" \ ++ "if test -e ${devtype} ${bootpart} ${bootdir}/uEnv.txt; then " \ ++ "load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from ${bootdir}/uEnv.txt;" \ ++ "if test -n ${cape}; then " \ ++ "if test -e ${devtype} ${bootpart} ${fdtdir}/${fdtbase}-${cape}.dtb; then " \ ++ "setenv fdtfile ${fdtbase}-${cape}.dtb; " \ ++ "fi; " \ ++ "echo using: $fdtfile...; " \ ++ "fi; " \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n ${uenvcmd}; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "fi;" \ ++ "gpio set 55;" \ ++ "run scan_dev_for_boot;" \ ++ "if run loadimage; then " \ ++ "run mmcargs;" \ ++ "if run loadfdt; then " \ ++ "gpio set 56;" \ ++ "if run loadrd; then " \ ++ "bootz ${loadaddr} ${rdaddr}:${filesize} ${fdtaddr};" \ ++ "else " \ ++ "bootz ${loadaddr} - ${fdtaddr};" \ ++ "fi;" \ ++ "fi;" \ ++ "else " \ ++ "echo No kernel found;" \ ++ "fi;" \ ++ "gpio clear 54; gpio clear 55;" \ ++ "setexpr devnum ${devnum} + 1;" \ + "fi;" \ +- "if test -n $uenvcmd; then " \ +- "echo Running uenvcmd ...;" \ +- "run uenvcmd;" \ +- "fi;" \ +- "if run loadimage; then " \ +- "run mmcloados;" \ +- "fi;" \ +- "fi ;" \ +- "fi;\0" \ +- "spiboot=echo Booting from spi ...; " \ +- "run spiargs; " \ +- "sf probe ${spibusno}:0; " \ +- "sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}; " \ +- "bootz ${loadaddr}\0" \ +- "netboot=echo Booting from network ...; " \ +- "setenv autoload no; " \ +- "dhcp; " \ +- "tftp ${loadaddr} ${bootfile}; " \ +- "tftp ${fdtaddr} ${fdtfile}; " \ +- "run netargs; " \ +- "bootz ${loadaddr} - ${fdtaddr}\0" \ +- "ramboot=echo Booting from ramdisk ...; " \ +- "run ramargs; " \ +- "bootz ${loadaddr} ${rdaddr} ${fdtaddr}\0" \ ++ "done;" \ ++ "done;\0" \ + "findfdt="\ + "if test $board_name = A335BONE; then " \ +- "setenv fdtfile am335x-bone.dtb; fi; " \ ++ "setenv fdtfile am335x-bone.dtb; setenv fdtbase am335x-bone; fi; " \ + "if test $board_name = A335BNLT; then " \ +- "setenv fdtfile am335x-boneblack.dtb; fi; " \ ++ "setenv fdtfile am335x-boneblack.dtb; setenv fdtbase am335x-boneblack; setenv umsmedia 1; fi; " \ + "if test $board_name = A33515BB; then " \ + "setenv fdtfile am335x-evm.dtb; fi; " \ + "if test $board_name = A335X_SK; then " \ +@@ -185,12 +166,11 @@ + #endif + + #define CONFIG_BOOTCOMMAND \ +- "run findfdt; " \ +- "run mmcboot;" \ +- "setenv mmcdev 1; " \ +- "setenv bootpart 1:2; " \ ++ "gpio set 53;" \ ++ "run findfdt;" \ + "run mmcboot;" \ +- "run nandboot;" ++ "gpio clear 54; gpio clear 55;" \ ++ "gpio set 56" + + /* NS16550 Configuration */ + #define CONFIG_SYS_NS16550_COM1 0x44e09000 /* Base EVM has UART0 */ +@@ -329,9 +309,8 @@ + #endif + + #ifdef CONFIG_MUSB_GADGET +-#define CONFIG_USB_ETHER +-#define CONFIG_USB_ETH_RNDIS +-#define CONFIG_USBNET_HOST_ADDR "de:ad:be:af:00:00" ++#define CONFIG_CMD_USB_MASS_STORAGE ++#define CONFIG_USB_GADGET_MASS_STORAGE + + /* USB TI's IDs */ + #define CONFIG_G_DNL_VENDOR_NUM 0x0451 diff --git a/libre-testing/uboot4extlinux-am335x_bone/0002-kernel-add-support-for-gcc-7.patch b/libre-testing/uboot4extlinux-am335x_bone/0002-kernel-add-support-for-gcc-7.patch new file mode 100644 index 000000000..ca59b159a --- /dev/null +++ b/libre-testing/uboot4extlinux-am335x_bone/0002-kernel-add-support-for-gcc-7.patch @@ -0,0 +1,68 @@ +diff --git a/include/linux/compiler-gcc7.h b/include/linux/compiler-gcc7.h +new file mode 100644 +index 0000000..ba064fa +--- /dev/null ++++ b/include/linux/compiler-gcc7.h +@@ -0,0 +1,59 @@ ++#ifndef __LINUX_COMPILER_H ++#error "Please don't include directly, include instead." ++#endif ++ ++#define __used __attribute__((__used__)) ++#define __must_check __attribute__((warn_unused_result)) ++#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) ++ ++/* Mark functions as cold. gcc will assume any path leading to a call ++ to them will be unlikely. This means a lot of manual unlikely()s ++ are unnecessary now for any paths leading to the usual suspects ++ like BUG(), printk(), panic() etc. [but let's keep them for now for ++ older compilers] ++ ++ gcc also has a __attribute__((__hot__)) to move hot functions into ++ a special section, but I don't see any sense in this right now in ++ the kernel context */ ++#define __cold __attribute__((__cold__)) ++ ++#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) ++ ++#ifndef __CHECKER__ ++# define __compiletime_warning(message) __attribute__((warning(message))) ++# define __compiletime_error(message) __attribute__((error(message))) ++#endif /* __CHECKER__ */ ++ ++/* ++ * Mark a position in code as unreachable. This can be used to ++ * suppress control flow warnings after asm blocks that transfer ++ * control elsewhere. ++ */ ++#define unreachable() __builtin_unreachable() ++ ++/* Mark a function definition as prohibited from being cloned. */ ++#define __noclone __attribute__((__noclone__)) ++ ++/* ++ * Tell the optimizer that something else uses this function or variable. ++ */ ++#define __visible __attribute__((externally_visible)) ++ ++/* ++ * GCC 'asm goto' miscompiles certain code sequences: ++ * ++ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 ++ * ++ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. ++ * ++ * (asm goto is automatically volatile - the naming reflects this.) ++ */ ++#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) ++ ++#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP ++#define __HAVE_BUILTIN_BSWAP32__ ++#define __HAVE_BUILTIN_BSWAP64__ ++#define __HAVE_BUILTIN_BSWAP16__ ++#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ ++ ++#define KASAN_ABI_VERSION 4 +-- +2.1.4 + diff --git a/libre-testing/uboot4extlinux-am335x_bone/PKGBUILD b/libre-testing/uboot4extlinux-am335x_bone/PKGBUILD new file mode 100644 index 000000000..0374e774d --- /dev/null +++ b/libre-testing/uboot4extlinux-am335x_bone/PKGBUILD @@ -0,0 +1,49 @@ +# U-Boot: BeagleBone and BeagleBone Black +# Maintainer: Isaac David +# Contributor: André Silva +# Contributor: Jookia <166291@gmail.com> +# Contributor: Márcio Silva + +pkgname=uboot4extlinux-am335x_bone +pkgver=2015.04 +pkgrel=4 +pkgdesc="U-Boot with Extlinux support for BeagleBone and BeagleBone Black" +arch=('armv7h') +url="http://git.denx.de/u-boot.git/" +conflicts=('uboot-am335x_bone' 'uboot4grub-am335x_bone') +makedepends=('bc') +license=('GPL') +backup=(boot/extlinux/extlinux.conf) +install=${pkgname}.install +source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2" + '0001-parabola-arm-modifications.patch' + '0002-kernel-add-support-for-gcc-7.patch' + 'extlinux.conf' + 'uEnv.txt') +sha256sums=('0a1a70df586655f527befa6f12e184e96ed61b126e5a567382321b17200f5d60' + 'ba5c395e5250fa13d608823e278936862d4fc472cfbf24dc94d9d90e5d9360b7' + '9e80aa27cccdb07b03d56a970f247c91d586d0b936868c076c20acc2e68a3968' + 'e96d167d99967ebefde8d02b27b4564e46409cc0c8738d5de72f431a2e438cf8' + '4ef3c3177e4476cdb1790dd021d2383ef9913c029d005ffbeb61b958e753672e') + +prepare() { + cd u-boot-${pkgver} + patch -Np1 -i ../0001-parabola-arm-modifications.patch + patch -Np1 -i ../0002-kernel-add-support-for-gcc-7.patch +} + +build() { + cd u-boot-${pkgver} + + unset CFLAGS CXXFLAGS LDFLAGS + make distclean + make am335x_evm_config + make +} + +package() { + cd u-boot-${pkgver} + mkdir -p "${pkgdir}"/boot/extlinux + cp MLO u-boot.img "${srcdir}"/uEnv.txt "${pkgdir}"/boot + cp "${srcdir}"/extlinux.conf "${pkgdir}"/boot/extlinux +} diff --git a/libre-testing/uboot4extlinux-am335x_bone/extlinux.conf b/libre-testing/uboot4extlinux-am335x_bone/extlinux.conf new file mode 100644 index 000000000..3c50750b7 --- /dev/null +++ b/libre-testing/uboot4extlinux-am335x_bone/extlinux.conf @@ -0,0 +1,58 @@ +menu title Welcome to U-Boot with Extlinux support! + +timeout 50 + +label Parabola GNU/Linux-libre, linux-libre kernel + kernel /boot/vmlinuz-linux-libre + append root=/dev/mmcblk0p1 rw console=ttyO0,115200n8 + fdtdir /boot/dtbs/linux-libre + +label Parabola GNU/Linux-libre, linux-libre-lts kernel + kernel /boot/vmlinuz-linux-libre-lts + append root=/dev/mmcblk0p1 rw console=ttyO0,115200n8 + fdtdir /boot/dtbs/linux-libre-lts + +label Parabola GNU/Linux-libre, linux-libre-knock kernel + kernel /boot/vmlinuz-linux-libre-knock + append root=/dev/mmcblk0p1 rw console=ttyO0,115200n8 + fdtdir /boot/dtbs/linux-libre-knock + +label Parabola GNU/Linux-libre, linux-libre-lts-knock kernel + kernel /boot/vmlinuz-linux-libre-lts-knock + append root=/dev/mmcblk0p1 rw console=ttyO0,115200n8 + fdtdir /boot/dtbs/linux-libre-lts-knock + +label Parabola GNU/Linux-libre, linux-libre-hardened kernel + kernel /boot/vmlinuz-linux-libre-hardened + append root=/dev/mmcblk0p1 rw console=ttyO0,115200n8 + fdtdir /boot/dtbs/linux-libre-hardened + +label Parabola GNU/Linux-libre, linux-libre-apparmor kernel + kernel /boot/vmlinuz-linux-libre-apparmor + append root=/dev/mmcblk0p1 rw console=ttyO0,115200n8 + fdtdir /boot/dtbs/linux-libre-apparmor + +label Parabola GNU/Linux-libre, linux-libre-lts-apparmor kernel + kernel /boot/vmlinuz-linux-libre-lts-apparmor + append root=/dev/mmcblk0p1 rw console=ttyO0,115200n8 + fdtdir /boot/dtbs/linux-libre-lts-apparmor + +label Parabola GNU/Linux-libre, linux-libre-audit kernel + kernel /boot/vmlinuz-linux-libre-audit + append root=/dev/mmcblk0p1 rw console=ttyO0,115200n8 + fdtdir /boot/dtbs/linux-libre-audit + +label Parabola GNU/Linux-libre, linux-libre-pck kernel + kernel /boot/vmlinuz-linux-libre-pck + append root=/dev/mmcblk0p1 rw console=ttyO0,115200n8 + fdtdir /boot/dtbs/linux-libre-pck + +label Parabola GNU/Linux-libre, linux-libre-rt kernel + kernel /boot/vmlinuz-linux-libre-rt + append root=/dev/mmcblk0p1 rw console=ttyO0,115200n8 + fdtdir /boot/dtbs/linux-libre-rt + +label Parabola GNU/Linux-libre, linux-libre-xen kernel + kernel /boot/vmlinuz-linux-libre-xen + append root=/dev/mmcblk0p1 rw console=ttyO0,115200n8 + fdtdir /boot/dtbs/linux-libre-xen diff --git a/libre-testing/uboot4extlinux-am335x_bone/uEnv.txt b/libre-testing/uboot4extlinux-am335x_bone/uEnv.txt new file mode 100644 index 000000000..f432efc6b --- /dev/null +++ b/libre-testing/uboot4extlinux-am335x_bone/uEnv.txt @@ -0,0 +1 @@ +optargs=coherent_pool=1M diff --git a/libre-testing/uboot4extlinux-am335x_bone/uboot4extlinux-am335x_bone.install b/libre-testing/uboot4extlinux-am335x_bone/uboot4extlinux-am335x_bone.install new file mode 100644 index 000000000..93306e01e --- /dev/null +++ b/libre-testing/uboot4extlinux-am335x_bone/uboot4extlinux-am335x_bone.install @@ -0,0 +1,37 @@ +flash_instructions() { + echo "# dd if=/boot/MLO of=/dev/mmcblk0 count=1 seek=1 conv=notrunc bs=128k" + echo "# dd if=/boot/u-boot.img of=/dev/mmcblk0 count=2 seek=1 conv=notrunc bs=384k" +} + +extlinux_warning() { + echo "==> WARNING: Remember to set up your kernels in /boot/extlinux/extlinux.conf" +} + +flash_uboot() { + root=$(mount | awk '/ on \/ / { print $1; }') + if [[ $root =~ ^/dev/mmcblk.*$ ]]; then + root=${root:0:12} + echo "A new U-Boot version needs to be flashed onto $root." + echo "Do this now? [y|N]" + read -r shouldwe + if [[ $shouldwe =~ ^([yY][eE][sS]|[yY])$ ]]; then + dd if=/boot/MLO of=$root count=1 seek=1 conv=notrunc bs=128k + dd if=/boot/u-boot.img of=$root count=2 seek=1 conv=notrunc bs=384k + else + echo "You can do this later by running:" + flash_instructions + fi + else + echo "Flash the new U-Boot version onto your boot device. For example:" + flash_instructions + fi + extlinux_warning +} + +post_install() { + flash_uboot +} + +post_upgrade() { + flash_uboot +} diff --git a/libre-testing/uboot4extlinux-chiliboard/0001-Add-linux-compiler-gcc5.h-to-fix-builds-with-gcc5.patch b/libre-testing/uboot4extlinux-chiliboard/0001-Add-linux-compiler-gcc5.h-to-fix-builds-with-gcc5.patch deleted file mode 100644 index bdb6699e6..000000000 --- a/libre-testing/uboot4extlinux-chiliboard/0001-Add-linux-compiler-gcc5.h-to-fix-builds-with-gcc5.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 0a3f119b5221e16feb1cbe4036cc16d1dc4c194c Mon Sep 17 00:00:00 2001 -From: Hans de Goede -Date: Sat, 7 Feb 2015 22:52:40 +0100 -Subject: [PATCH 1/6] Add linux/compiler-gcc5.h to fix builds with gcc5 - -Add linux/compiler-gcc5/h from the kernel sources at: - -commit 5631b8fba640a4ab2f8a954f63a603fa34eda96b -Author: Steven Noonan -Date: Sat Oct 25 15:09:42 2014 -0700 - - compiler/gcc4+: Remove inaccurate comment about 'asm goto' miscompiles - -Signed-off-by: Hans de Goede ---- - include/linux/compiler-gcc5.h | 65 +++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 65 insertions(+) - create mode 100644 include/linux/compiler-gcc5.h - -diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h -new file mode 100644 -index 0000000..c8c5659 ---- /dev/null -+++ b/include/linux/compiler-gcc5.h -@@ -0,0 +1,65 @@ -+#ifndef __LINUX_COMPILER_H -+#error "Please don't include directly, include instead." -+#endif -+ -+#define __used __attribute__((__used__)) -+#define __must_check __attribute__((warn_unused_result)) -+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) -+ -+/* Mark functions as cold. gcc will assume any path leading to a call -+ to them will be unlikely. This means a lot of manual unlikely()s -+ are unnecessary now for any paths leading to the usual suspects -+ like BUG(), printk(), panic() etc. [but let's keep them for now for -+ older compilers] -+ -+ Early snapshots of gcc 4.3 don't support this and we can't detect this -+ in the preprocessor, but we can live with this because they're unreleased. -+ Maketime probing would be overkill here. -+ -+ gcc also has a __attribute__((__hot__)) to move hot functions into -+ a special section, but I don't see any sense in this right now in -+ the kernel context */ -+#define __cold __attribute__((__cold__)) -+ -+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) -+ -+#ifndef __CHECKER__ -+# define __compiletime_warning(message) __attribute__((warning(message))) -+# define __compiletime_error(message) __attribute__((error(message))) -+#endif /* __CHECKER__ */ -+ -+/* -+ * Mark a position in code as unreachable. This can be used to -+ * suppress control flow warnings after asm blocks that transfer -+ * control elsewhere. -+ * -+ * Early snapshots of gcc 4.5 don't support this and we can't detect -+ * this in the preprocessor, but we can live with this because they're -+ * unreleased. Really, we need to have autoconf for the kernel. -+ */ -+#define unreachable() __builtin_unreachable() -+ -+/* Mark a function definition as prohibited from being cloned. */ -+#define __noclone __attribute__((__noclone__)) -+ -+/* -+ * Tell the optimizer that something else uses this function or variable. -+ */ -+#define __visible __attribute__((externally_visible)) -+ -+/* -+ * GCC 'asm goto' miscompiles certain code sequences: -+ * -+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 -+ * -+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. -+ * -+ * (asm goto is automatically volatile - the naming reflects this.) -+ */ -+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) -+ -+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP -+#define __HAVE_BUILTIN_BSWAP32__ -+#define __HAVE_BUILTIN_BSWAP64__ -+#define __HAVE_BUILTIN_BSWAP16__ -+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ --- -2.5.0 - diff --git a/libre-testing/uboot4extlinux-chiliboard/0001-kernel-add-support-for-gcc-7.patch b/libre-testing/uboot4extlinux-chiliboard/0001-kernel-add-support-for-gcc-7.patch new file mode 100644 index 000000000..ca59b159a --- /dev/null +++ b/libre-testing/uboot4extlinux-chiliboard/0001-kernel-add-support-for-gcc-7.patch @@ -0,0 +1,68 @@ +diff --git a/include/linux/compiler-gcc7.h b/include/linux/compiler-gcc7.h +new file mode 100644 +index 0000000..ba064fa +--- /dev/null ++++ b/include/linux/compiler-gcc7.h +@@ -0,0 +1,59 @@ ++#ifndef __LINUX_COMPILER_H ++#error "Please don't include directly, include instead." ++#endif ++ ++#define __used __attribute__((__used__)) ++#define __must_check __attribute__((warn_unused_result)) ++#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) ++ ++/* Mark functions as cold. gcc will assume any path leading to a call ++ to them will be unlikely. This means a lot of manual unlikely()s ++ are unnecessary now for any paths leading to the usual suspects ++ like BUG(), printk(), panic() etc. [but let's keep them for now for ++ older compilers] ++ ++ gcc also has a __attribute__((__hot__)) to move hot functions into ++ a special section, but I don't see any sense in this right now in ++ the kernel context */ ++#define __cold __attribute__((__cold__)) ++ ++#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) ++ ++#ifndef __CHECKER__ ++# define __compiletime_warning(message) __attribute__((warning(message))) ++# define __compiletime_error(message) __attribute__((error(message))) ++#endif /* __CHECKER__ */ ++ ++/* ++ * Mark a position in code as unreachable. This can be used to ++ * suppress control flow warnings after asm blocks that transfer ++ * control elsewhere. ++ */ ++#define unreachable() __builtin_unreachable() ++ ++/* Mark a function definition as prohibited from being cloned. */ ++#define __noclone __attribute__((__noclone__)) ++ ++/* ++ * Tell the optimizer that something else uses this function or variable. ++ */ ++#define __visible __attribute__((externally_visible)) ++ ++/* ++ * GCC 'asm goto' miscompiles certain code sequences: ++ * ++ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 ++ * ++ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. ++ * ++ * (asm goto is automatically volatile - the naming reflects this.) ++ */ ++#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) ++ ++#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP ++#define __HAVE_BUILTIN_BSWAP32__ ++#define __HAVE_BUILTIN_BSWAP64__ ++#define __HAVE_BUILTIN_BSWAP16__ ++#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ ++ ++#define KASAN_ABI_VERSION 4 +-- +2.1.4 + diff --git a/libre-testing/uboot4extlinux-chiliboard/PKGBUILD b/libre-testing/uboot4extlinux-chiliboard/PKGBUILD index c05ed95eb..5e6de9222 100644 --- a/libre-testing/uboot4extlinux-chiliboard/PKGBUILD +++ b/libre-testing/uboot4extlinux-chiliboard/PKGBUILD @@ -1,7 +1,6 @@ # U-Boot: ChiliBoard -# Maintainer: André Silva - -buildarch=4 +# Maintainer: Isaac David +# Contributor: André Silva pkgname=uboot4extlinux-chiliboard pkgver=2014.07 @@ -15,7 +14,7 @@ license=('GPL') backup=(boot/extlinux/extlinux.conf) install=${pkgname}.install source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2" - '0001-Add-linux-compiler-gcc5.h-to-fix-builds-with-gcc5.patch' + '0001-kernel-add-support-for-gcc-7.patch' '0002-ARM-asm-io.h-use-static-inline.patch' '0003-common-main.c-make-show_boot_progress-__weak.patch' '0004-common-board_f-cosmetic-use-__weak-for-leds.patch' @@ -24,7 +23,7 @@ source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2" 'extlinux.conf' 'uEnv.txt') sha256sums=('b4f83b8db325c21671a997198ec3a373e2e00dde2fcf17be9b9afd7cfd727f56' - '993ec4c20d8e25e8c882282b82b6f9cb27111855e5f5c7fb6eda8218b470278e' + '9e80aa27cccdb07b03d56a970f247c91d586d0b936868c076c20acc2e68a3968' '91b2711f36fbe1bae5d02b3a1eec81383ffd50a4b71426b82920cfd70af40237' '0bb7ddee0b33ba7ca830f09b6aaacc945c7a662749a19b128eb1cab71f5b100a' '2795b55f0ef03aef6c05fd074ab9839d0f89fdc5a3c99dd849eb74cd09e59045' @@ -35,7 +34,7 @@ sha256sums=('b4f83b8db325c21671a997198ec3a373e2e00dde2fcf17be9b9afd7cfd727f56' prepare() { cd u-boot-${pkgver} - patch -Np1 -i ../0001-Add-linux-compiler-gcc5.h-to-fix-builds-with-gcc5.patch + patch -Np1 -i ../0001-kernel-add-support-for-gcc-7.patch patch -Np1 -i ../0002-ARM-asm-io.h-use-static-inline.patch patch -Np1 -i ../0003-common-main.c-make-show_boot_progress-__weak.patch patch -Np1 -i ../0004-common-board_f-cosmetic-use-__weak-for-leds.patch diff --git a/libre-testing/uboot4extlinux-chiliboard/uboot4extlinux-chiliboard.install b/libre-testing/uboot4extlinux-chiliboard/uboot4extlinux-chiliboard.install index 4467c694e..93306e01e 100644 --- a/libre-testing/uboot4extlinux-chiliboard/uboot4extlinux-chiliboard.install +++ b/libre-testing/uboot4extlinux-chiliboard/uboot4extlinux-chiliboard.install @@ -4,7 +4,7 @@ flash_instructions() { } extlinux_warning() { - echo "==> WARNING: U-Boot uses Extlinux support to boot up. For setting it up, edit /boot/extlinux/extlinux.conf" + echo "==> WARNING: Remember to set up your kernels in /boot/extlinux/extlinux.conf" } flash_uboot() { diff --git a/libre-testing/uboot4extlinux-nitrogen6q/0002-kernel-add-support-for-gcc-5.patch b/libre-testing/uboot4extlinux-nitrogen6q/0002-kernel-add-support-for-gcc-5.patch deleted file mode 100644 index 30718c561..000000000 --- a/libre-testing/uboot4extlinux-nitrogen6q/0002-kernel-add-support-for-gcc-5.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 5b07fc2c680ad4279a45d863108544020b4d74cd Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 13 Oct 2014 15:51:05 -0700 -Subject: [PATCH 2/6] kernel: add support for gcc 5 - -We're missing include/linux/compiler-gcc5.h which is required now -because gcc branched off to v5 in trunk. - -Just copy the relevant bits out of include/linux/compiler-gcc4.h, -no new code is added as of now. - -This fixes a build error when using gcc 5. - -Signed-off-by: Sasha Levin -Cc: -Signed-off-by: Andrew Morton -Signed-off-by: Linus Torvalds ---- - include/linux/compiler-gcc5.h | 66 +++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 66 insertions(+) - create mode 100644 include/linux/compiler-gcc5.h - -diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h -new file mode 100644 -index 0000000..cdd1cc2 ---- /dev/null -+++ b/include/linux/compiler-gcc5.h -@@ -0,0 +1,66 @@ -+#ifndef __LINUX_COMPILER_H -+#error "Please don't include directly, include instead." -+#endif -+ -+#define __used __attribute__((__used__)) -+#define __must_check __attribute__((warn_unused_result)) -+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) -+ -+/* Mark functions as cold. gcc will assume any path leading to a call -+ to them will be unlikely. This means a lot of manual unlikely()s -+ are unnecessary now for any paths leading to the usual suspects -+ like BUG(), printk(), panic() etc. [but let's keep them for now for -+ older compilers] -+ -+ Early snapshots of gcc 4.3 don't support this and we can't detect this -+ in the preprocessor, but we can live with this because they're unreleased. -+ Maketime probing would be overkill here. -+ -+ gcc also has a __attribute__((__hot__)) to move hot functions into -+ a special section, but I don't see any sense in this right now in -+ the kernel context */ -+#define __cold __attribute__((__cold__)) -+ -+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) -+ -+#ifndef __CHECKER__ -+# define __compiletime_warning(message) __attribute__((warning(message))) -+# define __compiletime_error(message) __attribute__((error(message))) -+#endif /* __CHECKER__ */ -+ -+/* -+ * Mark a position in code as unreachable. This can be used to -+ * suppress control flow warnings after asm blocks that transfer -+ * control elsewhere. -+ * -+ * Early snapshots of gcc 4.5 don't support this and we can't detect -+ * this in the preprocessor, but we can live with this because they're -+ * unreleased. Really, we need to have autoconf for the kernel. -+ */ -+#define unreachable() __builtin_unreachable() -+ -+/* Mark a function definition as prohibited from being cloned. */ -+#define __noclone __attribute__((__noclone__)) -+ -+/* -+ * Tell the optimizer that something else uses this function or variable. -+ */ -+#define __visible __attribute__((externally_visible)) -+ -+/* -+ * GCC 'asm goto' miscompiles certain code sequences: -+ * -+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 -+ * -+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. -+ * Fixed in GCC 4.8.2 and later versions. -+ * -+ * (asm goto is automatically volatile - the naming reflects this.) -+ */ -+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) -+ -+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP -+#define __HAVE_BUILTIN_BSWAP32__ -+#define __HAVE_BUILTIN_BSWAP64__ -+#define __HAVE_BUILTIN_BSWAP16__ -+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ --- -2.4.4 - diff --git a/libre-testing/uboot4extlinux-nitrogen6q/0002-kernel-add-support-for-gcc-7.patch b/libre-testing/uboot4extlinux-nitrogen6q/0002-kernel-add-support-for-gcc-7.patch new file mode 100644 index 000000000..ca59b159a --- /dev/null +++ b/libre-testing/uboot4extlinux-nitrogen6q/0002-kernel-add-support-for-gcc-7.patch @@ -0,0 +1,68 @@ +diff --git a/include/linux/compiler-gcc7.h b/include/linux/compiler-gcc7.h +new file mode 100644 +index 0000000..ba064fa +--- /dev/null ++++ b/include/linux/compiler-gcc7.h +@@ -0,0 +1,59 @@ ++#ifndef __LINUX_COMPILER_H ++#error "Please don't include directly, include instead." ++#endif ++ ++#define __used __attribute__((__used__)) ++#define __must_check __attribute__((warn_unused_result)) ++#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) ++ ++/* Mark functions as cold. gcc will assume any path leading to a call ++ to them will be unlikely. This means a lot of manual unlikely()s ++ are unnecessary now for any paths leading to the usual suspects ++ like BUG(), printk(), panic() etc. [but let's keep them for now for ++ older compilers] ++ ++ gcc also has a __attribute__((__hot__)) to move hot functions into ++ a special section, but I don't see any sense in this right now in ++ the kernel context */ ++#define __cold __attribute__((__cold__)) ++ ++#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) ++ ++#ifndef __CHECKER__ ++# define __compiletime_warning(message) __attribute__((warning(message))) ++# define __compiletime_error(message) __attribute__((error(message))) ++#endif /* __CHECKER__ */ ++ ++/* ++ * Mark a position in code as unreachable. This can be used to ++ * suppress control flow warnings after asm blocks that transfer ++ * control elsewhere. ++ */ ++#define unreachable() __builtin_unreachable() ++ ++/* Mark a function definition as prohibited from being cloned. */ ++#define __noclone __attribute__((__noclone__)) ++ ++/* ++ * Tell the optimizer that something else uses this function or variable. ++ */ ++#define __visible __attribute__((externally_visible)) ++ ++/* ++ * GCC 'asm goto' miscompiles certain code sequences: ++ * ++ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 ++ * ++ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. ++ * ++ * (asm goto is automatically volatile - the naming reflects this.) ++ */ ++#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) ++ ++#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP ++#define __HAVE_BUILTIN_BSWAP32__ ++#define __HAVE_BUILTIN_BSWAP64__ ++#define __HAVE_BUILTIN_BSWAP16__ ++#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ ++ ++#define KASAN_ABI_VERSION 4 +-- +2.1.4 + diff --git a/libre-testing/uboot4extlinux-nitrogen6q/PKGBUILD b/libre-testing/uboot4extlinux-nitrogen6q/PKGBUILD index cf16bd4f1..009cd629a 100644 --- a/libre-testing/uboot4extlinux-nitrogen6q/PKGBUILD +++ b/libre-testing/uboot4extlinux-nitrogen6q/PKGBUILD @@ -1,7 +1,6 @@ # U-Boot: Boundary Devices Nitrogen6X/Sabre Lite -# Maintainer: André Silva - -buildarch=4 +# Maintainer: Isaac David +# Contributor: André Silva pkgname=uboot4extlinux-nitrogen6q pkgver=2014.07 @@ -17,7 +16,7 @@ install=${pkgname}.install _commit=bb9dde563768731423fd6c560e95e1793a90710a source=("https://github.com/boundarydevices/u-boot-imx6/archive/${_commit}.tar.gz" '0001-parabola-arm-modifications.patch' - '0002-kernel-add-support-for-gcc-5.patch' + '0002-kernel-add-support-for-gcc-7.patch' '0003-ARM-asm-io.h-use-static-inline.patch' '0004-common-main.c-make-show_boot_progress-__weak.patch' '0005-common-board-use-__weak.patch' @@ -25,7 +24,7 @@ source=("https://github.com/boundarydevices/u-boot-imx6/archive/${_commit}.tar.g 'extlinux.conf') sha256sums=('d06ad5e6b9adb84e7bfa99f8d5335ef06d48b351809e6f65e83a92c0e8a4d3ce' '1592a845ef7a229e5d370586edf344502f3ded5c24c853c790b600e8ef0128c7' - '257269c4573712d3454b7c6d53d04b45af1166cb65dd9df73bd397a087f85e1e' + '9e80aa27cccdb07b03d56a970f247c91d586d0b936868c076c20acc2e68a3968' '2fb98981885fbffba32fadb7b4a321e5540278c2a97f39b2700ad14c2ddb4d2a' '83f56e80b09d010a7d0f9cc18d4df43c7f100ee3a815421f2ccbf2c337ae5431' 'bb9f0bde66266998db0eae3204346364568bab963fe7be1086d633339652b70c' @@ -36,7 +35,7 @@ prepare() { cd u-boot-imx6-${_commit} patch -Np1 -i ../0001-parabola-arm-modifications.patch - patch -Np1 -i ../0002-kernel-add-support-for-gcc-5.patch + patch -Np1 -i ../0002-kernel-add-support-for-gcc-7.patch patch -Np1 -i ../0003-ARM-asm-io.h-use-static-inline.patch patch -Np1 -i ../0004-common-main.c-make-show_boot_progress-__weak.patch patch -Np1 -i ../0005-common-board-use-__weak.patch @@ -45,10 +44,10 @@ prepare() { build() { cd u-boot-imx6-${_commit} - + unset CFLAGS unset CXXFLAGS - + make distclean make nitrogen6q_config make diff --git a/libre-testing/uboot4extlinux-nitrogen6q/uboot4extlinux-nitrogen6q.install b/libre-testing/uboot4extlinux-nitrogen6q/uboot4extlinux-nitrogen6q.install index 8aff26699..ed1fce75f 100644 --- a/libre-testing/uboot4extlinux-nitrogen6q/uboot4extlinux-nitrogen6q.install +++ b/libre-testing/uboot4extlinux-nitrogen6q/uboot4extlinux-nitrogen6q.install @@ -1,5 +1,5 @@ extlinux_warning() { - echo "==> WARNING: U-Boot uses Extlinux support to boot up. For setting it up, edit /boot/extlinux/extlinux.conf" + echo "==> WARNING: Remember to set up your kernels in /boot/extlinux/extlinux.conf" } post_install() { diff --git a/libre-testing/uboot4extlinux-omap3_beagle/0002-kernel-add-support-for-gcc-7.patch b/libre-testing/uboot4extlinux-omap3_beagle/0002-kernel-add-support-for-gcc-7.patch new file mode 100644 index 000000000..ca59b159a --- /dev/null +++ b/libre-testing/uboot4extlinux-omap3_beagle/0002-kernel-add-support-for-gcc-7.patch @@ -0,0 +1,68 @@ +diff --git a/include/linux/compiler-gcc7.h b/include/linux/compiler-gcc7.h +new file mode 100644 +index 0000000..ba064fa +--- /dev/null ++++ b/include/linux/compiler-gcc7.h +@@ -0,0 +1,59 @@ ++#ifndef __LINUX_COMPILER_H ++#error "Please don't include directly, include instead." ++#endif ++ ++#define __used __attribute__((__used__)) ++#define __must_check __attribute__((warn_unused_result)) ++#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) ++ ++/* Mark functions as cold. gcc will assume any path leading to a call ++ to them will be unlikely. This means a lot of manual unlikely()s ++ are unnecessary now for any paths leading to the usual suspects ++ like BUG(), printk(), panic() etc. [but let's keep them for now for ++ older compilers] ++ ++ gcc also has a __attribute__((__hot__)) to move hot functions into ++ a special section, but I don't see any sense in this right now in ++ the kernel context */ ++#define __cold __attribute__((__cold__)) ++ ++#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) ++ ++#ifndef __CHECKER__ ++# define __compiletime_warning(message) __attribute__((warning(message))) ++# define __compiletime_error(message) __attribute__((error(message))) ++#endif /* __CHECKER__ */ ++ ++/* ++ * Mark a position in code as unreachable. This can be used to ++ * suppress control flow warnings after asm blocks that transfer ++ * control elsewhere. ++ */ ++#define unreachable() __builtin_unreachable() ++ ++/* Mark a function definition as prohibited from being cloned. */ ++#define __noclone __attribute__((__noclone__)) ++ ++/* ++ * Tell the optimizer that something else uses this function or variable. ++ */ ++#define __visible __attribute__((externally_visible)) ++ ++/* ++ * GCC 'asm goto' miscompiles certain code sequences: ++ * ++ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 ++ * ++ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. ++ * ++ * (asm goto is automatically volatile - the naming reflects this.) ++ */ ++#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) ++ ++#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP ++#define __HAVE_BUILTIN_BSWAP32__ ++#define __HAVE_BUILTIN_BSWAP64__ ++#define __HAVE_BUILTIN_BSWAP16__ ++#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ ++ ++#define KASAN_ABI_VERSION 4 +-- +2.1.4 + diff --git a/libre-testing/uboot4extlinux-omap3_beagle/PKGBUILD b/libre-testing/uboot4extlinux-omap3_beagle/PKGBUILD index 427354e3a..8b2b1fa87 100644 --- a/libre-testing/uboot4extlinux-omap3_beagle/PKGBUILD +++ b/libre-testing/uboot4extlinux-omap3_beagle/PKGBUILD @@ -1,7 +1,6 @@ # U-Boot: BeagleBoard and BeagleBoard-xM -# Maintainer: André Silva - -buildarch=4 +# Maintainer: Isaac David +# Contributor: André Silva pkgname=uboot4extlinux-omap3_beagle pkgver=2016.01 @@ -16,16 +15,19 @@ backup=(boot/extlinux/extlinux.conf) install=${pkgname}.install source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2" '0001-parabola-arm-modifications.patch' + '0002-kernel-add-support-for-gcc-7.patch' 'extlinux.conf' 'uEnv.txt') sha256sums=('e5792fba9399d9804aa2ef667f14ff771e2cdece72367d340250265bf095a5d5' 'cf6519bab4270bf093eb6ff0d9f3b4d314d00af6c4ecad07c492977ae5c7f510' + '9e80aa27cccdb07b03d56a970f247c91d586d0b936868c076c20acc2e68a3968' '2beea4827d7c85968c4edbd1ddfd7a70d6170bf030d6254b37fb6455ba8bf165' 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855') prepare() { cd u-boot-${pkgver} patch -Np1 -i ../0001-parabola-arm-modifications.patch + patch -Np1 -i ../0002-kernel-add-support-for-gcc-7.patch } build() { diff --git a/libre-testing/uboot4extlinux-omap3_beagle/uboot4extlinux-omap3_beagle.install b/libre-testing/uboot4extlinux-omap3_beagle/uboot4extlinux-omap3_beagle.install index 8aff26699..ed1fce75f 100644 --- a/libre-testing/uboot4extlinux-omap3_beagle/uboot4extlinux-omap3_beagle.install +++ b/libre-testing/uboot4extlinux-omap3_beagle/uboot4extlinux-omap3_beagle.install @@ -1,5 +1,5 @@ extlinux_warning() { - echo "==> WARNING: U-Boot uses Extlinux support to boot up. For setting it up, edit /boot/extlinux/extlinux.conf" + echo "==> WARNING: Remember to set up your kernels in /boot/extlinux/extlinux.conf" } post_install() { diff --git a/libre-testing/uboot4extlinux-omap4_panda/0001-parabola-arm-modifications.patch b/libre-testing/uboot4extlinux-omap4_panda/0001-parabola-arm-modifications.patch index 09aee7ce0..6f8666775 100644 --- a/libre-testing/uboot4extlinux-omap4_panda/0001-parabola-arm-modifications.patch +++ b/libre-testing/uboot4extlinux-omap4_panda/0001-parabola-arm-modifications.patch @@ -1,21 +1,45 @@ -diff -Nur u-boot-2016.01.orig/include/configs/ti_omap4_common.h u-boot-2016.01/include/configs/ti_omap4_common.h ---- u-boot-2016.01.orig/include/configs/ti_omap4_common.h 2016-01-12 11:06:54.000000000 -0300 -+++ u-boot-2016.01/include/configs/ti_omap4_common.h 2016-02-24 23:19:09.761629260 -0300 -@@ -46,7 +46,6 @@ +diff --git a/configs/omap4_panda_defconfig b/configs/omap4_panda_defconfig +index 8d9024854..3d7ffc39c 100644 +--- a/configs/omap4_panda_defconfig ++++ b/configs/omap4_panda_defconfig +@@ -10,6 +10,10 @@ CONFIG_SYS_CONSOLE_INFO_QUIET=y + CONFIG_VERSION_VARIABLE=y + CONFIG_SPL=y + CONFIG_SPL_OS_BOOT=y ++CONFIG_AUTOBOOT_KEYED=y ++CONFIG_AUTOBOOT_PROMPT="Press SPACE to abort autoboot in %d seconds\n" ++CONFIG_AUTOBOOT_DELAY_STR="d" ++CONFIG_AUTOBOOT_STOP_STR=" " + # CONFIG_CMD_IMLS is not set + CONFIG_CMD_ASKENV=y + # CONFIG_CMD_FLASH is not set +@@ -20,8 +24,8 @@ CONFIG_CMD_USB=y + CONFIG_CMD_GPIO=y + # CONFIG_CMD_SETEXPR is not set + # CONFIG_CMD_NFS is not set +-CONFIG_CMD_EXT4_WRITE=y + CONFIG_SYS_NS16550=y + CONFIG_USB=y + CONFIG_USB_STORAGE=y + CONFIG_OF_LIBFDT=y ++CONFIG_IDENT_STRING=" Parabola GNU/Linux-libre" +diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h +index 8e0f9eb96..a2eb1f9ff 100644 +--- a/include/configs/ti_omap4_common.h ++++ b/include/configs/ti_omap4_common.h +@@ -42,7 +42,7 @@ * the timings to use or use pre-determined timings (based on using the * dynamic method. Default to the static timing infomation. */ -#define CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS ++/*#define CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS*/ #ifndef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS #define CONFIG_SYS_AUTOMATIC_SDRAM_DETECTION #define CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS -@@ -79,33 +78,74 @@ +@@ -74,6 +74,12 @@ + #define CONFIG_USB_DEVICE 1 #define CONFIG_USB_TTY 1 - #define CONFIG_SYS_CONSOLE_IS_IN_ENV 1 -+/* Parabola GNU/Linux-libre extras */ -+#define CONFIG_IDENT_STRING " Parabola GNU/Linux-libre" -+ +/* Enable Extlinux boot support */ +#define CONFIG_CMD_PXE +#define CONFIG_MENU @@ -25,111 +49,14 @@ diff -Nur u-boot-2016.01.orig/include/configs/ti_omap4_common.h u-boot-2016.01/i /* * Environment setup */ - #define CONFIG_EXTRA_ENV_SETTINGS \ -+ BOOTENV \ - DEFAULT_LINUX_BOOT_ENV \ - DEFAULT_MMC_TI_ARGS \ - "console=ttyO2,115200n8\0" \ - "fdtfile=undefined\0" \ - "bootpart=0:2\0" \ - "bootdir=/boot\0" \ -+ "fdtdir=/boot/dtbs\0" \ - "bootfile=zImage\0" \ -+ "rdfile=initramfs-linux.img\0" \ - "usbtty=cdc_acm\0" \ - "vram=16M\0" \ -- "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \ -- "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ -- "source ${loadaddr}\0" \ -- "loadbootenv=load mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \ -- "importbootenv=echo Importing environment from mmc${mmcdev} ...; " \ -- "env import -t ${loadaddr} ${filesize}\0" \ -- "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ -- "loaduimage=load mmc ${mmcdev} ${loadaddr} uImage\0" \ -- "mmcboot=echo Booting from mmc${mmcdev} ...; " \ -- "run args_mmc; " \ -- "bootz ${loadaddr} - ${fdtaddr}\0" \ -- "uimageboot=echo Booting from mmc${mmcdev} ...; " \ -- "run args_mmc; " \ -- "bootm ${loadaddr}\0" \ -+ "optargs=\0" \ -+ "mmcargs=setenv bootargs console=${console} " \ -+ "vram=${vram} " \ -+ "root=${root} " \ -+ "${optargs}\0" \ -+ "loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ -+ "loadrd=load ${devtype} ${bootpart} ${rdaddr} ${bootdir}/${rdfile}\0" \ -+ "loadfdt=echo loading ${fdtdir}/${fdtfile} ...; load ${devtype} ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}\0" \ -+ "mmcboot=usb start;" \ -+ "for devtype in mmc usb; do " \ -+ "setenv devnum 0;" \ -+ "while ${devtype} dev ${devnum}; do " \ -+ "echo ${devtype} found on device ${devnum};" \ -+ "setenv bootpart ${devnum}:1;" \ -+ "part uuid ${devtype} ${bootpart} uuid;" \ -+ "setenv root PARTUUID=${uuid} rw rootwait;" \ -+ "echo Checking for: ${bootdir}/uEnv.txt ...;" \ -+ "if test -e ${devtype} ${bootpart} ${bootdir}/uEnv.txt; then " \ -+ "load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/uEnv.txt;" \ -+ "env import -t ${loadaddr} ${filesize};" \ -+ "echo Loaded environment from ${bootdir}/uEnv.txt;" \ -+ "echo Checking if uenvcmd is set ...;" \ -+ "if test -n ${uenvcmd}; then " \ -+ "echo Running uenvcmd ...;" \ -+ "run uenvcmd;" \ -+ "fi;" \ -+ "fi;" \ -+ "run scan_dev_for_boot;" \ -+ "if run loadimage; then " \ -+ "run mmcargs;" \ -+ "if run loadfdt; then " \ -+ "if run loadrd; then " \ -+ "bootz ${loadaddr} ${rdaddr}:${filesize} ${fdtaddr};" \ -+ "else " \ -+ "bootz ${loadaddr} - ${fdtaddr};" \ -+ "fi;" \ -+ "fi;" \ -+ "else " \ -+ "echo No kernel found;" \ -+ "fi;" \ -+ "setexpr devnum ${devnum} + 1;" \ -+ "done;" \ -+ "done;\0" \ - "findfdt="\ - "if test $board_name = sdp4430; then " \ - "setenv fdtfile omap4-sdp.dtb; fi; " \ -@@ -118,32 +158,11 @@ - "if test $board_name = duovero; then " \ - "setenv fdtfile omap4-duovero-parlor.dtb; fi;" \ - "if test $fdtfile = undefined; then " \ -- "echo WARNING: Could not determine device tree to use; fi; \0" \ -- "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ -+ "echo WARNING: Could not determine device tree to use; fi; \0" +@@ -91,9 +97,8 @@ - #define CONFIG_BOOTCOMMAND \ - "run findfdt; " \ -- "mmc dev ${mmcdev}; if mmc rescan; then " \ -- "echo SD/MMC found on device ${mmcdev};" \ -- "if run loadbootscript; then " \ -- "run bootscript; " \ -- "else " \ -- "if run loadbootenv; then " \ -- "run importbootenv; " \ -- "fi;" \ -- "if test -n ${uenvcmd}; then " \ -- "echo Running uenvcmd ...;" \ -- "run uenvcmd;" \ -- "fi;" \ -- "fi;" \ -- "if run loadimage; then " \ -- "run loadfdt;" \ -- "run mmcboot; " \ -- "fi; " \ -- "if run loaduimage; then " \ -- "run uimageboot;" \ -- "fi; " \ -- "fi" -+ "run mmcboot" + #define BOOT_TARGET_DEVICES(func) \ + func(MMC, mmc, 0) \ +- func(LEGACY_MMC, legacy_mmc, 0) \ + func(MMC, mmc, 1) \ +- func(LEGACY_MMC, legacy_mmc, 1) \ ++ func(USB, usb, 0) \ + func(PXE, pxe, na) \ + func(DHCP, dhcp, na) - /* - * Defines for SPL diff --git a/libre-testing/uboot4extlinux-omap4_panda/PKGBUILD b/libre-testing/uboot4extlinux-omap4_panda/PKGBUILD index b9e5d9826..7f3affc71 100644 --- a/libre-testing/uboot4extlinux-omap4_panda/PKGBUILD +++ b/libre-testing/uboot4extlinux-omap4_panda/PKGBUILD @@ -1,11 +1,10 @@ # U-Boot: PandaBoard and PandaBoard ES -# Maintainer: André Silva - -buildarch=4 +# Maintainer: Isaac David +# Contributor: André Silva pkgname=uboot4extlinux-omap4_panda -pkgver=2016.01 -pkgrel=4 +pkgver=2017.01 +pkgrel=1 pkgdesc="U-Boot with Extlinux support for PandaBoard and PandaBoard ES" arch=('armv7h') url="http://git.denx.de/u-boot.git/" @@ -18,8 +17,8 @@ source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2" '0001-parabola-arm-modifications.patch' 'extlinux.conf' 'uEnv.txt') -sha256sums=('e5792fba9399d9804aa2ef667f14ff771e2cdece72367d340250265bf095a5d5' - '1325236fc382a85d434f8f53dd320aa026b228476125745bc9800e6a03060ab5' +sha256sums=('6c425175f93a4bcf2ec9faf5658ef279633dbd7856a293d95bd1ff516528ecf2' + 'dbdfef11ac6ef81add6a7d5983e715538583738561409e35de393a0bc2185772' '2beea4827d7c85968c4edbd1ddfd7a70d6170bf030d6254b37fb6455ba8bf165' '79c60872095fb4a421a532ce918ffb0927398a83df028578aebf46f54a4d6ed6') diff --git a/libre-testing/uboot4extlinux-omap4_panda/uboot4extlinux-omap4_panda.install b/libre-testing/uboot4extlinux-omap4_panda/uboot4extlinux-omap4_panda.install index 771f1f0b3..defbc061d 100644 --- a/libre-testing/uboot4extlinux-omap4_panda/uboot4extlinux-omap4_panda.install +++ b/libre-testing/uboot4extlinux-omap4_panda/uboot4extlinux-omap4_panda.install @@ -1,5 +1,5 @@ extlinux_warning() { - echo "==> WARNING: U-Boot uses Extlinux support to boot up. For setting it up, edit /boot/extlinux/extlinux.conf" + echo "==> WARNING: Remember to set up your kernels in /boot/extlinux/extlinux.conf" } flash_uboot() { diff --git a/libre-testing/uboot4extlinux-sunxi/0001-parabola-arm-modifications.patch b/libre-testing/uboot4extlinux-sunxi/0001-parabola-arm-modifications.patch new file mode 100644 index 000000000..17f067484 --- /dev/null +++ b/libre-testing/uboot4extlinux-sunxi/0001-parabola-arm-modifications.patch @@ -0,0 +1,50 @@ +diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h +index 94275a7..ed1aac6 100644 +--- a/include/configs/sunxi-common.h ++++ b/include/configs/sunxi-common.h +@@ -467,6 +467,9 @@ extern int soft_i2c_gpio_scl; + #define BOOTENV_DEV_NAME_FEL(devtypeu, devtypel, instance) \ + "fel " + ++/* Enable Extlinux boot support */ ++#define CONFIG_CMD_PXE ++#define CONFIG_MENU + #define BOOT_TARGET_DEVICES(func) \ + func(FEL, fel, na) \ + BOOT_TARGET_DEVICES_MMC(func) \ +@@ -475,6 +478,7 @@ extern int soft_i2c_gpio_scl; + BOOT_TARGET_DEVICES_USB(func) \ + func(PXE, pxe, na) \ + func(DHCP, dhcp, na) ++#include + + #ifdef CONFIG_OLD_SUNXI_KERNEL_COMPAT + #define BOOTCMD_SUNXI_COMPAT \ +@@ -492,8 +496,6 @@ extern int soft_i2c_gpio_scl; + #define BOOTCMD_SUNXI_COMPAT + #endif + +-#include +- + #ifdef CONFIG_USB_KEYBOARD + #define CONSOLE_STDIN_SETTINGS \ + "preboot=usb start\0" \ +@@ -518,13 +520,13 @@ extern int soft_i2c_gpio_scl; + CONSOLE_STDOUT_SETTINGS + + #define CONFIG_EXTRA_ENV_SETTINGS \ ++ BOOTENV \ + CONSOLE_ENV_SETTINGS \ + MEM_LAYOUT_ENV_SETTINGS \ + DFU_ALT_INFO_RAM \ + "fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \ + "console=ttyS0,115200\0" \ +- BOOTCMD_SUNXI_COMPAT \ +- BOOTENV ++ BOOTCMD_SUNXI_COMPAT + + #else /* ifndef CONFIG_SPL_BUILD */ + #define CONFIG_EXTRA_ENV_SETTINGS +-- +2.8.3 + diff --git a/libre-testing/uboot4extlinux-sunxi/PKGBUILD b/libre-testing/uboot4extlinux-sunxi/PKGBUILD new file mode 100644 index 000000000..461d5aff7 --- /dev/null +++ b/libre-testing/uboot4extlinux-sunxi/PKGBUILD @@ -0,0 +1,330 @@ +# U-Boot: sunXi +# Maintainer: Isaac David +# Contributor: André Silva +# Contributor: Timothy Redaelli + +pkgbase=uboot4extlinux-sunxi +pkgname=('uboot4extlinux-a10-olinuxino-lime' + 'uboot4extlinux-a10s-olinuxino-m' + 'uboot4extlinux-a13-olinuxino' + 'uboot4extlinux-a13-olinuxinom' + 'uboot4extlinux-a20-olinuxino-lime' + 'uboot4extlinux-a20-olinuxino-lime2' + 'uboot4extlinux-a20-olinuxino_micro' + 'uboot4extlinux-bananapi' + 'uboot4extlinux-bananapro' + 'uboot4extlinux-chip' + 'uboot4extlinux-cubieboard' + 'uboot4extlinux-cubieboard2' + 'uboot4extlinux-cubietruck' + 'uboot4extlinux-linksprite_pcduino' + 'uboot4extlinux-linksprite_pcduino3' + 'uboot4extlinux-linksprite_pcduino3_nano' + 'uboot4extlinux-orangepi_2' + 'uboot4extlinux-orangepi_one' + 'uboot4extlinux-orangepi_pc' + 'uboot4extlinux-orangepi_plus') +pkgver=2017.01 +pkgrel=1 +arch=('armv7h') +url="http://git.denx.de/u-boot.git/" +license=('GPL') +makedepends=('bc' 'dtc' 'python2') +backup=(boot/extlinux/extlinux.conf) +source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2" + '0001-parabola-arm-modifications.patch' + 'extlinux.conf') + + + +boards=('A10-OLinuXino-Lime' + 'A10s-OLinuXino-M' + 'A13-OLinuXino' + 'A13-OLinuXinoM' + 'A20-OLinuXino-Lime' + 'A20-OLinuXino-Lime2' + 'A20-OLinuXino_MICRO' + 'Bananapi' + 'Bananapro' + 'CHIP' + 'Cubieboard' + 'Cubieboard2' + 'Cubietruck' + 'Linksprite_pcDuino' + 'Linksprite_pcDuino3' + 'Linksprite_pcDuino3_Nano' + 'orangepi_2' + 'orangepi_one' + 'orangepi_pc' + 'orangepi_plus') + +prepare() { + cd u-boot-${pkgver} + + patch -Np1 -i ../0001-parabola-arm-modifications.patch + sed -i 's/env python$/&2/' tools/binman/binman{,.py} +} + +build() { + cd u-boot-${pkgver} + + unset CFLAGS CXXFLAGS LDFLAGS + + for i in ${boards[@]}; do + mkdir ../bin_${i} + make distclean + make ${i}_config + echo 'CONFIG_IDENT_STRING=" Parabola GNU/Linux-libre"' >> .config + make EXTRAVERSION=-${pkgrel} + mv u-boot-sunxi-with-spl.bin ../bin_${i} + done +} + +package_uboot4extlinux-a10-olinuxino-lime() { + pkgdesc="U-Boot with Extlinux support for A10 OLinuXino Lime" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_A10-OLinuXino-Lime/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-a10s-olinuxino-m() { + pkgdesc="U-Boot with Extlinux support for A10s OLinuXino Micro" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + replaces=('uboot4extlinux-a10s-olinuxino-micro') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_A10s-OLinuXino-M/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-a13-olinuxino() { + pkgdesc="U-Boot with Extlinux support for A13 OLinuXino" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_A13-OLinuXino/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-a13-olinuxinom() { + pkgdesc="U-Boot with Extlinux support for A13 OLinuXino Micro" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + replaces=('uboot4extlinux-a13-olinuxino-micro') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_A13-OLinuXinoM/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-a20-olinuxino-lime() { + pkgdesc="U-Boot with Extlinux support for A20 OLinuXino Lime" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_A20-OLinuXino-Lime/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-a20-olinuxino-lime2() { + pkgdesc="U-Boot with Extlinux support for A20 OLinuXino Lime2" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_A20-OLinuXino-Lime2/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-a20-olinuxino_micro() { + pkgdesc="U-Boot with Extlinux support for A20 OLinuXino Micro" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + replaces=('uboot-a20-olinuxino-micro') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_A20-OLinuXino_MICRO/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-bananapi() { + pkgdesc="U-Boot with Extlinux support for Banana Pi" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_Bananapi/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-bananapro() { + pkgdesc="U-Boot with Extlinux support for Banana Pro" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_Bananapro/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-chip() { + pkgdesc="U-Boot with Extlinux support for C.H.I.P" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_CHIP/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-cubieboard() { + pkgdesc="U-Boot with Extlinux support for Cubieboard" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_Cubieboard/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-cubieboard2() { + pkgdesc="U-Boot with Extlinux support for Cubieboard 2" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_Cubieboard2/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-cubietruck() { + pkgdesc="U-Boot with Extlinux support for Cubietruck" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_Cubietruck/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-linksprite_pcduino() { + pkgdesc="U-Boot with Extlinux support for pcDuino" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + replaces=('uboot4extlinux-pcduino') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_Linksprite_pcDuino/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-linksprite_pcduino3() { + pkgdesc="U-Boot with Extlinux support for pcDuino3" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + replaces=('uboot4extlinux-pcduino3') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_Linksprite_pcDuino3/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-linksprite_pcduino3_nano() { + pkgdesc="U-Boot with Extlinux support for pcDuino3 Nano" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + replaces=('uboot4extlinux-pcduino3-nano') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_Linksprite_pcDuino3_Nano/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-orangepi_2() { + pkgdesc="U-Boot with Extlinux for Orange Pi 2" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_orangepi_2/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-orangepi_one() { + pkgdesc="U-Boot with Extlinux for Orange Pi One" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_orangepi_one/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-orangepi_pc() { + pkgdesc="U-Boot with Extlinux for Orange Pi PC" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_orangepi_pc/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-orangepi_plus() { + pkgdesc="U-Boot with Extlinux for Orange Pi Plus" + install=${pkgbase}.install + provides=('uboot4extlinux-sunxi') + conflicts=('uboot-sunxi' 'uboot4extlinux-sunxi' 'uboot4grub-sunxi') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_orangepi_plus/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} +md5sums=('ad2d82d5b4fa548b2b95bbc26c9bad79' + '013cf497657009ed87f8527114e4d7ee' + '889524ea1958f32c1bd19f6454ffd23d') diff --git a/libre-testing/uboot4extlinux-sunxi/extlinux.conf b/libre-testing/uboot4extlinux-sunxi/extlinux.conf new file mode 100644 index 000000000..34b2ebc97 --- /dev/null +++ b/libre-testing/uboot4extlinux-sunxi/extlinux.conf @@ -0,0 +1,58 @@ +menu title Welcome to U-Boot with Extlinux support! + +timeout 50 + +label Parabola GNU/Linux-libre, linux-libre kernel + kernel /boot/vmlinuz-linux-libre + append root=/dev/mmcblk0p1 rw console=ttyS0,115200 + fdtdir /boot/dtbs/linux-libre + +label Parabola GNU/Linux-libre, linux-libre-lts kernel + kernel /boot/vmlinuz-linux-libre-lts + append root=/dev/mmcblk0p1 rw console=ttyS0,115200 + fdtdir /boot/dtbs/linux-libre-lts + +label Parabola GNU/Linux-libre, linux-libre-knock kernel + kernel /boot/vmlinuz-linux-libre-knock + append root=/dev/mmcblk0p1 rw console=ttyS0,115200 + fdtdir /boot/dtbs/linux-libre-knock + +label Parabola GNU/Linux-libre, linux-libre-lts-knock kernel + kernel /boot/vmlinuz-linux-libre-lts-knock + append root=/dev/mmcblk0p1 rw console=ttyS0,115200 + fdtdir /boot/dtbs/linux-libre-lts-knock + +label Parabola GNU/Linux-libre, linux-libre-hardened kernel + kernel /boot/vmlinuz-linux-libre-hardened + append root=/dev/mmcblk0p1 rw console=ttyS0,115200 + fdtdir /boot/dtbs/linux-libre-hardened + +label Parabola GNU/Linux-libre, linux-libre-apparmor kernel + kernel /boot/vmlinuz-linux-libre-apparmor + append root=/dev/mmcblk0p1 rw console=ttyS0,115200 + fdtdir /boot/dtbs/linux-libre-apparmor + +label Parabola GNU/Linux-libre, linux-libre-lts-apparmor kernel + kernel /boot/vmlinuz-linux-libre-lts-apparmor + append root=/dev/mmcblk0p1 rw console=ttyS0,115200 + fdtdir /boot/dtbs/linux-libre-lts-apparmor + +label Parabola GNU/Linux-libre, linux-libre-audit kernel + kernel /boot/vmlinuz-linux-libre-audit + append root=/dev/mmcblk0p1 rw console=ttyS0,115200 + fdtdir /boot/dtbs/linux-libre-audit + +label Parabola GNU/Linux-libre, linux-libre-pck kernel + kernel /boot/vmlinuz-linux-libre-pck + append root=/dev/mmcblk0p1 rw console=ttyS0,115200 + fdtdir /boot/dtbs/linux-libre-pck + +label Parabola GNU/Linux-libre, linux-libre-rt kernel + kernel /boot/vmlinuz-linux-libre-rt + append root=/dev/mmcblk0p1 rw console=ttyS0,115200 + fdtdir /boot/dtbs/linux-libre-rt + +label Parabola GNU/Linux-libre, linux-libre-xen kernel + kernel /boot/vmlinuz-linux-libre-xen + append root=/dev/mmcblk0p1 rw console=ttyS0,115200 + fdtdir /boot/dtbs/linux-libre-xen diff --git a/libre-testing/uboot4extlinux-sunxi/uboot4extlinux-sunxi.install b/libre-testing/uboot4extlinux-sunxi/uboot4extlinux-sunxi.install new file mode 100644 index 000000000..51b209923 --- /dev/null +++ b/libre-testing/uboot4extlinux-sunxi/uboot4extlinux-sunxi.install @@ -0,0 +1,24 @@ +extlinux_warning() { + echo "==> WARNING: Remember to set up your kernels in /boot/extlinux/extlinux.conf" +} + +flash_uboot() { + echo "A new U-Boot version needs to be flashed onto /dev/mmcblk0." + echo "Do you want to do this now? [y|N]" + read -r shouldwe + if [[ $shouldwe =~ ^([yY][eE][sS]|[yY])$ ]]; then + dd if=/boot/u-boot-sunxi-with-spl.bin of=/dev/mmcblk0 bs=1024 seek=8 + else + echo "You can do this later by running:" + echo "# dd if=/boot/u-boot-sunxi-with-spl.bin of=/dev/mmcblk0 bs=1024 seek=8" + fi + extlinux_warning +} + +post_install() { + flash_uboot +} + +post_upgrade() { + flash_uboot +} diff --git a/libre-testing/uboot4extlinux-udoo/0001-parabola-arm-modifications.patch b/libre-testing/uboot4extlinux-udoo/0001-parabola-arm-modifications.patch index 7328d1ad7..1538e9636 100644 --- a/libre-testing/uboot4extlinux-udoo/0001-parabola-arm-modifications.patch +++ b/libre-testing/uboot4extlinux-udoo/0001-parabola-arm-modifications.patch @@ -1,275 +1,63 @@ -diff -Nur u-boot-2015.01.orig/board/udoo/1066mhz_4x256mx16_dl.cfg u-boot-2015.01/board/udoo/1066mhz_4x256mx16_dl.cfg ---- u-boot-2015.01.orig/board/udoo/1066mhz_4x256mx16_dl.cfg 1969-12-31 21:00:00.000000000 -0300 -+++ u-boot-2015.01/board/udoo/1066mhz_4x256mx16_dl.cfg 2016-02-23 18:15:32.854611743 -0300 -@@ -0,0 +1,58 @@ -+/* -+ * Copyright (C) 2013 Seco USA Inc -+ * -+ * SPDX-License-Identifier: GPL-2.0+ -+ */ -+ -+ -+DATA 4, MX6_MMDC_P0_MDPDC, 0x0002002D -+DATA 4, MX6_MMDC_P0_MDOTC, 0x00333040 -+ -+DATA 4, MX6_MMDC_P0_MDCFG0, 0x3F4352F3 -+DATA 4, MX6_MMDC_P0_MDCFG1, 0xB66D8B63 -+DATA 4, MX6_MMDC_P0_MDCFG2, 0x01FF00DB -+ -+DATA 4, MX6_MMDC_P0_MDMISC, 0x00001740 -+DATA 4, MX6_MMDC_P0_MDSCR, 0x00008000 -+DATA 4, MX6_MMDC_P0_MDRWD, 0x000026D2 -+ -+ -+DATA 4, MX6_MMDC_P0_MDOR, 0x00431023 -+DATA 4, MX6_MMDC_P0_MDASP, 0x00000027 -+DATA 4, MX6_MMDC_P0_MDCTL, 0x831A0000 -+ -+DATA 4, MX6_MMDC_P0_MDSCR, 0x02008032 -+DATA 4, MX6_MMDC_P0_MDSCR, 0x00008033 -+DATA 4, MX6_MMDC_P0_MDSCR, 0x00048031 -+DATA 4, MX6_MMDC_P0_MDSCR, 0x05208030 -+DATA 4, MX6_MMDC_P0_MDSCR, 0x04008040 -+ -+DATA 4, MX6_MMDC_P0_MPZQHWCTRL, 0xa1390003 -+DATA 4, MX6_MMDC_P1_MPZQHWCTRL, 0xa1390003 -+ -+DATA 4, MX6_MMDC_P0_MDREF, 0x00007800 -+ -+DATA 4, MX6_MMDC_P0_MPODTCTRL, 0x00022227 -+DATA 4, MX6_MMDC_P1_MPODTCTRL, 0x00022227 -+ -+DATA 4, MX6_MMDC_P0_MPDGCTRL0, 0x425C0251 -+DATA 4, MX6_MMDC_P0_MPDGCTRL1, 0x021B021E -+DATA 4, MX6_MMDC_P1_MPDGCTRL0, 0x021B021E -+DATA 4, MX6_MMDC_P1_MPDGCTRL1, 0x01730200 -+ -+DATA 4, MX6_MMDC_P0_MPRDDLCTL, 0x45474C45 -+DATA 4, MX6_MMDC_P1_MPRDDLCTL, 0x44464744 -+DATA 4, MX6_MMDC_P0_MPWRDLCTL, 0x3F3F3336 -+DATA 4, MX6_MMDC_P1_MPWRDLCTL, 0x32383630 -+ -+DATA 4, MX6_MMDC_P0_MPWLDECTRL0, 0x002F0038 -+DATA 4, MX6_MMDC_P0_MPWLDECTRL1, 0x001F001F -+DATA 4, MX6_MMDC_P1_MPWLDECTRL0, 0x001F001F -+DATA 4, MX6_MMDC_P1_MPWLDECTRL1, 0x001F001F -+ -+DATA 4, MX6_MMDC_P0_MPMUR0, 0x00000000 -+DATA 4, MX6_MMDC_P1_MPMUR0, 0x00000000 -+ -+DATA 4, MX6_MMDC_P0_MDPDC, 0x0002556D -+DATA 4, MX6_MMDC_P0_MAPSR, 0x00011006 -+DATA 4, MX6_MMDC_P0_MDSCR, 0x00000000 -diff -Nur u-boot-2015.01.orig/board/udoo/ddr-setup_dl.cfg u-boot-2015.01/board/udoo/ddr-setup_dl.cfg ---- u-boot-2015.01.orig/board/udoo/ddr-setup_dl.cfg 1969-12-31 21:00:00.000000000 -0300 -+++ u-boot-2015.01/board/udoo/ddr-setup_dl.cfg 2016-02-23 18:15:32.854611743 -0300 -@@ -0,0 +1,84 @@ -+/* -+ * Copyright (C) 2013 Seco USA Inc -+ * -+ * SPDX-License-Identifier: GPL-2.0+ -+ * -+ * Device Configuration Data (DCD) -+ * -+ * Each entry must have the format: -+ * Addr-type Address Value -+ * -+ * where: -+ * Addr-type register length (1,2 or 4 bytes) -+ * Address absolute address of the register -+ * value value to be stored in the register -+ */ -+ -+/* -+ * DDR3 settings -+ * MX6Q ddr is limited to 1066 Mhz currently 1056 MHz(528 MHz clock), -+ * memory bus width: 64 bits x16/x32/x64 -+ * MX6DL ddr is limited to 800 MHz(400 MHz clock) -+ * memory bus width: 64 bits x16/x32/x64 -+ * MX6SOLO ddr is limited to 800 MHz(400 MHz clock) -+ * memory bus width: 32 bits x16/x32 -+ */ -+DATA 4, MX6_IOM_DRAM_SDQS0, 0x00000028 -+DATA 4, MX6_IOM_DRAM_SDQS1, 0x00000028 -+DATA 4, MX6_IOM_DRAM_SDQS2, 0x00000028 -+DATA 4, MX6_IOM_DRAM_SDQS3, 0x00000028 -+DATA 4, MX6_IOM_DRAM_SDQS4, 0x00000028 -+DATA 4, MX6_IOM_DRAM_SDQS5, 0x00000028 -+DATA 4, MX6_IOM_DRAM_SDQS6, 0x00000028 -+DATA 4, MX6_IOM_DRAM_SDQS7, 0x00000028 -+ -+DATA 4, MX6_IOM_GRP_B0DS, 0x00000028 -+DATA 4, MX6_IOM_GRP_B1DS, 0x00000028 -+DATA 4, MX6_IOM_GRP_B2DS, 0x00000028 -+DATA 4, MX6_IOM_GRP_B3DS, 0x00000028 -+DATA 4, MX6_IOM_GRP_B4DS, 0x00000028 -+DATA 4, MX6_IOM_GRP_B5DS, 0x00000028 -+DATA 4, MX6_IOM_GRP_B6DS, 0x00000028 -+DATA 4, MX6_IOM_GRP_B7DS, 0x00000028 -+DATA 4, MX6_IOM_GRP_ADDDS, 0x00000028 -+ -+DATA 4, MX6_IOM_GRP_CTLDS, 0x00000028 -+ -+DATA 4, MX6_IOM_DRAM_DQM0, 0x00000028 -+DATA 4, MX6_IOM_DRAM_DQM1, 0x00000028 -+DATA 4, MX6_IOM_DRAM_DQM2, 0x00000028 -+DATA 4, MX6_IOM_DRAM_DQM3, 0x00000028 -+DATA 4, MX6_IOM_DRAM_DQM4, 0x00000028 -+DATA 4, MX6_IOM_DRAM_DQM5, 0x00000028 -+DATA 4, MX6_IOM_DRAM_DQM6, 0x00000028 -+DATA 4, MX6_IOM_DRAM_DQM7, 0x00000028 -+ -+DATA 4, MX6_IOM_DRAM_CAS, 0x00000028 -+DATA 4, MX6_IOM_DRAM_RAS, 0x00000028 -+DATA 4, MX6_IOM_DRAM_SDCLK_0, 0x00000028 -+DATA 4, MX6_IOM_DRAM_SDCLK_1, 0x00000028 -+ -+DATA 4, MX6_IOM_DRAM_RESET, 0x00000028 -+ -+DATA 4, MX6_IOM_DRAM_SDODT0, 0x00000028 -+DATA 4, MX6_IOM_DRAM_SDODT1, 0x00000028 -+ -+/* (differential input) */ -+DATA 4, MX6_IOM_DDRMODE_CTL, 0x00020000 -+/* (differential input) */ -+DATA 4, MX6_IOM_GRP_DDRMODE, 0x00020000 -+/* disable ddr pullups */ -+DATA 4, MX6_IOM_GRP_DDRPKE, 0x00000000 -+DATA 4, MX6_IOM_DRAM_SDBA2, 0x00000000 -+/* 40 Ohm drive strength for cs0/1,sdba2,cke0/1,sdwe */ -+DATA 4, MX6_IOM_GRP_DDR_TYPE, 0x000C0000 -+ -+/* Read data DQ Byte0-3 delay */ -+DATA 4, MX6_MMDC_P0_MPRDDQBY0DL, 0x33333333 -+DATA 4, MX6_MMDC_P0_MPRDDQBY1DL, 0x33333333 -+DATA 4, MX6_MMDC_P0_MPRDDQBY2DL, 0x33333333 -+DATA 4, MX6_MMDC_P0_MPRDDQBY3DL, 0x33333333 -+DATA 4, MX6_MMDC_P1_MPRDDQBY0DL, 0x33333333 -+DATA 4, MX6_MMDC_P1_MPRDDQBY1DL, 0x33333333 -+DATA 4, MX6_MMDC_P1_MPRDDQBY2DL, 0x33333333 -+DATA 4, MX6_MMDC_P1_MPRDDQBY3DL, 0x33333333 -diff -Nur u-boot-2015.01.orig/board/udoo/udoo-dl.cfg u-boot-2015.01/board/udoo/udoo-dl.cfg ---- u-boot-2015.01.orig/board/udoo/udoo-dl.cfg 1969-12-31 21:00:00.000000000 -0300 -+++ u-boot-2015.01/board/udoo/udoo-dl.cfg 2016-02-23 18:15:32.854611743 -0300 -@@ -0,0 +1,29 @@ -+/* -+ * Copyright (C) 2013 Boundary Devices -+ * -+ * SPDX-License-Identifier: GPL-2.0+ -+ * -+ * Refer doc/README.imximage for more details about how-to configure -+ * and create imximage boot image -+ * -+ * The syntax is taken as close as possible with the kwbimage -+ */ -+ -+/* image version */ -+IMAGE_VERSION 2 -+ -+/* -+ * Boot Device : one of -+ * spi, sd (the board has no nand neither onenand) -+ */ -+BOOT_FROM sd -+ -+#define __ASSEMBLY__ -+#include -+#include "asm/arch/mx6-ddr.h" -+#include "asm/arch/iomux.h" -+#include "asm/arch/crm_regs.h" -+ -+#include "ddr-setup_dl.cfg" -+#include "1066mhz_4x256mx16_dl.cfg" -+#include "clocks.cfg" -diff -Nur u-boot-2015.01.orig/configs/udoo_dl_defconfig u-boot-2015.01/configs/udoo_dl_defconfig ---- u-boot-2015.01.orig/configs/udoo_dl_defconfig 1969-12-31 21:00:00.000000000 -0300 -+++ u-boot-2015.01/configs/udoo_dl_defconfig 2016-02-23 18:15:32.854611743 -0300 -@@ -0,0 +1,3 @@ -+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/udoo/udoo-dl.cfg,MX6DL,DDR_MB=1024" -+CONFIG_ARM=y -+CONFIG_TARGET_UDOO=y -diff -Nur u-boot-2015.01.orig/include/configs/udoo.h u-boot-2015.01/include/configs/udoo.h ---- u-boot-2015.01.orig/include/configs/udoo.h 2015-01-12 12:39:08.000000000 -0200 -+++ u-boot-2015.01/include/configs/udoo.h 2016-02-23 18:24:17.779054304 -0300 -@@ -78,7 +78,7 @@ - #define CONFIG_CMD_BMODE - #define CONFIG_CMD_SETEXPR +diff --git a/configs/udoo_defconfig b/configs/udoo_defconfig +index a4a17c161..88a863337 100644 +--- a/configs/udoo_defconfig ++++ b/configs/udoo_defconfig +@@ -30,3 +30,4 @@ CONFIG_CMD_FS_GENERIC=y + CONFIG_DM=y + CONFIG_DM_THERMAL=y + CONFIG_OF_LIBFDT=y ++CONFIG_IDENT_STRING=" Parabola GNU/Linux-libre" +diff --git a/include/configs/udoo.h b/include/configs/udoo.h +index 0a7767c20..543993731 100644 +--- a/include/configs/udoo.h ++++ b/include/configs/udoo.h +@@ -51,6 +51,9 @@ --#define CONFIG_BOOTDELAY 3 -+#define CONFIG_BOOTDELAY 1 + /* Command definition */ + #define CONFIG_CMD_BMODE ++#define CONFIG_PARTITION_UUIDS ++#define CONFIG_CMD_PART ++#define CONFIG_SUPPORT_RAW_INITRD #define CONFIG_SYS_MEMTEST_START 0x10000000 #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 500 * SZ_1M) -@@ -96,60 +96,107 @@ - #define CONFIG_BOUNCE_BUFFER - #define CONFIG_CMD_EXT2 - #define CONFIG_CMD_FAT -+#define CONFIG_CMD_EXT4 -+#define CONFIG_CMD_FS_GENERIC - #define CONFIG_DOS_PARTITION +@@ -60,8 +63,13 @@ + + #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG -+#define CONFIG_IDENT_STRING " Parabola GNU/Linux-libre" -+ -+#if defined(CONFIG_MX6DL) || defined(CONFIG_MX6S) -+#define CONFIG_DEFAULT_FDT_FILE "imx6dl-udoo.dtb" -+#elif defined(CONFIG_MX6Q) - #define CONFIG_DEFAULT_FDT_FILE "imx6q-udoo.dtb" -+#endif -+ +/* Enable Extlinux boot support */ +#define CONFIG_CMD_PXE +#define CONFIG_MENU +#define BOOT_TARGET_DEVICES(func) +#include - ++ #define CONFIG_EXTRA_ENV_SETTINGS \ - "script=boot.scr\0" \ -- "image=zImage\0" \ -- "console=ttymxc1\0" \ -+ BOOTENV \ -+ "bootfile=zImage\0" \ -+ "bootdir=/boot\0" \ -+ "console=ttymxc1,115200\0" \ + "image=zImage\0" \ + "console=ttymxc1\0" \ "splashpos=m,m\0" \ - "fdt_high=0xffffffff\0" \ -+ "rdaddr=0x12A00000\0" \ -+ "rdfile=initramfs-linux.img\0" \ +@@ -69,47 +77,54 @@ "initrd_high=0xffffffff\0" \ -- "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ -- "fdt_addr=0x18000000\0" \ + "fdt_file=undefined\0" \ + "fdt_addr=0x18000000\0" \ - "boot_fdt=try\0" \ -+ "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ -+ "fdtdir=/boot/dtbs\0" \ -+ "fdtaddr=0x18000000\0" \ - "ip_dyn=yes\0" \ ++ "rdaddr=0x12A00000\0" \ ++ "rdfile=initramfs-linux.img\0" \ + "optargs=\0" \ + "video=\0" \ + "ip_dyn=yes\0" \ + "devtype=mmc\0" \ + "devnum=0\0" \ "mmcdev=0\0" \ -- "mmcpart=1\0" \ + "mmcpart=1\0" \ - "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \ - "update_sd_firmware_filename=u-boot.imx\0" \ - "update_sd_firmware=" \ - "if test ${ip_dyn} = yes; then " \ - "setenv get_cmd dhcp; " \ -+ "mmcroot=/dev/mmcblk0p1 rw rootwait\0" \ -+ "mmcargs=setenv bootargs console=${console} " \ -+ "${optargs} " \ -+ "root=${mmcroot} " \ -+ "video=${video}\0" \ -+ "videoargs=" \ -+ "setenv nextcon 0; " \ -+ "if hdmidet; then " \ -+ "setenv bootargs ${bootargs} " \ -+ "video=mxcfb${nextcon}:dev=hdmi,1280x720M@60," \ -+ "if=RGB24; " \ -+ "setenv fbmem fbmem=28M; " \ -+ "setexpr nextcon ${nextcon} + 1; " \ - "else " \ +- "else " \ - "setenv get_cmd tftp; " \ -+ "echo - no HDMI monitor;" \ - "fi; " \ +- "fi; " \ - "if mmc dev ${mmcdev}; then " \ - "if ${get_cmd} ${update_sd_firmware_filename}; then " \ - "setexpr fw_sz ${filesize} / 0x200; " \ @@ -277,47 +65,37 @@ diff -Nur u-boot-2015.01.orig/include/configs/udoo.h u-boot-2015.01/include/conf - "mmc write ${loadaddr} 0x2 ${fw_sz}; " \ - "fi; " \ - "fi\0" \ -- "mmcargs=setenv bootargs console=${console},${baudrate} " \ + "mmcargs=setenv bootargs console=${console},${baudrate} " \ - "root=${mmcroot}\0" \ - "loadbootscript=" \ -- "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ +- "load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ - "bootscript=echo Running bootscript from mmc ...; " \ - "source\0" \ -- "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ -- "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ +- "loadimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ +- "loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ - "mmcboot=echo Booting from mmc ...; " \ - "run mmcargs; " \ - "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ - "if run loadfdt; then " \ - "bootz ${loadaddr} - ${fdt_addr}; " \ -+ "i2c dev 1; " \ -+ "if i2c probe 0x10; then " \ -+ "setenv bootargs ${bootargs} " \ -+ "video=mxcfb${nextcon}:dev=lcd,800x480@60," \ -+ "if=RGB666; " \ -+ "if test 0 -eq ${nextcon}; then " \ -+ "setenv fbmem fbmem=10M; " \ - "else " \ +- "else " \ - "if test ${boot_fdt} = try; then " \ - "bootz; " \ - "else " \ - "echo WARN: Cannot load the DT; " \ - "fi; " \ -+ "setenv fbmem ${fbmem},10M; " \ - "fi; " \ -+ "setexpr nextcon ${nextcon} + 1; " \ - "else " \ -- "bootz; " \ -+ "echo '- no FWBADAPT-7WVGA-LCD-F07A-0102 display';" \ -+ "fi; " \ -+ "setenv bootargs ${bootargs} ${fbmem}\0" \ -+ "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ -+ "loadrd=load mmc ${bootpart} ${rdaddr} ${bootdir}/${rdfile}\0" \ -+ "loadfdt=echo loading ${fdtdir}/${fdtfile} ...; load mmc ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}\0" \ ++ "${optargs} " \ ++ "root=${root} " \ ++ "video=${video}\0" \ ++ "loadimage=echo Loading /boot/${image}..; load mmc ${mmcdev}:${mmcpart} ${loadaddr} /boot/${image}\0" \ ++ "loadfdt=echo Loading /boot/dtbs/${fdt_file}..; load mmc ${mmcdev}:${mmcpart} ${fdt_addr} /boot/dtbs/${fdt_file}\0" \ ++ "loadrd=load mmc ${bootpart} ${rdaddr} /boot/${rdfile}\0" \ + "mmcboot=mmc dev ${mmcdev}; " \ + "if mmc rescan; then " \ + "echo SD/MMC found on device ${mmcdev};" \ + "setenv bootpart ${mmcdev}:1; " \ ++ "part uuid mmc ${bootpart} uuid;" \ ++ "setenv root PARTUUID=${uuid} rw rootwait;" \ + "echo Checking for: ${bootdir}/uEnv.txt ...;" \ + "if test -e mmc ${bootpart} ${bootdir}/uEnv.txt; then " \ + "load mmc ${bootpart} ${loadaddr} ${bootdir}/uEnv.txt;" \ @@ -328,15 +106,17 @@ diff -Nur u-boot-2015.01.orig/include/configs/udoo.h u-boot-2015.01/include/conf + "echo Running uenvcmd ...;" \ + "run uenvcmd;" \ + "fi;" \ -+ "fi; " \ + "fi; " \ +- "else " \ +- "bootz; " \ + "run scan_dev_for_boot;" \ + "if run loadimage; then " \ + "if run loadfdt; then " \ + "run mmcargs;" \ + "if run loadrd; then " \ -+ "bootz ${loadaddr} ${rdaddr}:${filesize} ${fdtaddr};" \ ++ "bootz ${loadaddr} ${rdaddr}:${filesize} ${fdt_addr};" \ + "else " \ -+ "bootz ${loadaddr} - ${fdtaddr};" \ ++ "bootz ${loadaddr} - ${fdt_addr};" \ + "fi;" \ + "else " \ + "echo Kernel found, but no device tree found;" \ @@ -347,24 +127,27 @@ diff -Nur u-boot-2015.01.orig/include/configs/udoo.h u-boot-2015.01/include/conf "fi;\0" \ "netargs=setenv bootargs console=${console},${baudrate} " \ "root=/dev/nfs " \ -@@ -161,10 +208,10 @@ +@@ -135,26 +150,17 @@ "else " \ - "setenv get_cmd tftp; " \ - "fi; " \ -- "${get_cmd} ${image}; " \ -+ "${get_cmd} ${bootfile}; " \ - "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ -- "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \ -- "bootz ${loadaddr} - ${fdt_addr}; " \ -+ "if ${get_cmd} ${fdtaddr} ${fdtfile}; then " \ -+ "bootz ${loadaddr} - ${fdtaddr}; " \ - "else " \ - "if test ${boot_fdt} = try; then " \ - "bootz; " \ -@@ -177,16 +224,7 @@ - "fi;\0" + "bootz; " \ + "fi;\0" \ +- "findfdt=" \ +- "if test $board_rev = MX6Q ; then " \ +- "setenv fdt_file imx6q-udoo.dtb; fi; " \ +- "if test $board_rev = MX6DL ; then " \ +- "setenv fdt_file imx6dl-udoo.dtb; fi; " \ +- "if test $fdt_file = undefined; then " \ +- "echo WARNING: Could not determine dtb to use; fi; \0" ++ "findfdt=" \ ++ "if test $board_rev = MX6Q ; then " \ ++ "setenv fdt_file imx6q-udoo.dtb; fi; " \ ++ "if test $board_rev = MX6DL ; then " \ ++ "setenv fdt_file imx6dl-udoo.dtb; fi; " \ ++ "if test $fdt_file = undefined; then " \ ++ "echo WARNING: Could not determine dtb to use; fi; \0" #define CONFIG_BOOTCOMMAND \ + "run findfdt; " \ - "mmc dev ${mmcdev}; if mmc rescan; then " \ - "if run loadbootscript; then " \ - "run bootscript; " \ @@ -375,15 +158,7 @@ diff -Nur u-boot-2015.01.orig/include/configs/udoo.h u-boot-2015.01/include/conf - "fi; " \ - "fi; " \ - "else run netboot; fi" -+ "run mmcboot;" - - /* Miscellaneous configurable options */ - #define CONFIG_SYS_LONGHELP -@@ -227,6 +265,7 @@ - - #define CONFIG_OF_LIBFDT - #define CONFIG_CMD_BOOTZ -+#define CONFIG_SUPPORT_RAW_INITRD ++ "run mmcboot; " - #ifndef CONFIG_SYS_DCACHE_OFF - #define CONFIG_CMD_CACHE + /* Print Buffer Size */ + #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) diff --git a/libre-testing/uboot4extlinux-udoo/0002-kernel-add-support-for-gcc-5.patch b/libre-testing/uboot4extlinux-udoo/0002-kernel-add-support-for-gcc-5.patch deleted file mode 100644 index 30718c561..000000000 --- a/libre-testing/uboot4extlinux-udoo/0002-kernel-add-support-for-gcc-5.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 5b07fc2c680ad4279a45d863108544020b4d74cd Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 13 Oct 2014 15:51:05 -0700 -Subject: [PATCH 2/6] kernel: add support for gcc 5 - -We're missing include/linux/compiler-gcc5.h which is required now -because gcc branched off to v5 in trunk. - -Just copy the relevant bits out of include/linux/compiler-gcc4.h, -no new code is added as of now. - -This fixes a build error when using gcc 5. - -Signed-off-by: Sasha Levin -Cc: -Signed-off-by: Andrew Morton -Signed-off-by: Linus Torvalds ---- - include/linux/compiler-gcc5.h | 66 +++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 66 insertions(+) - create mode 100644 include/linux/compiler-gcc5.h - -diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h -new file mode 100644 -index 0000000..cdd1cc2 ---- /dev/null -+++ b/include/linux/compiler-gcc5.h -@@ -0,0 +1,66 @@ -+#ifndef __LINUX_COMPILER_H -+#error "Please don't include directly, include instead." -+#endif -+ -+#define __used __attribute__((__used__)) -+#define __must_check __attribute__((warn_unused_result)) -+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) -+ -+/* Mark functions as cold. gcc will assume any path leading to a call -+ to them will be unlikely. This means a lot of manual unlikely()s -+ are unnecessary now for any paths leading to the usual suspects -+ like BUG(), printk(), panic() etc. [but let's keep them for now for -+ older compilers] -+ -+ Early snapshots of gcc 4.3 don't support this and we can't detect this -+ in the preprocessor, but we can live with this because they're unreleased. -+ Maketime probing would be overkill here. -+ -+ gcc also has a __attribute__((__hot__)) to move hot functions into -+ a special section, but I don't see any sense in this right now in -+ the kernel context */ -+#define __cold __attribute__((__cold__)) -+ -+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) -+ -+#ifndef __CHECKER__ -+# define __compiletime_warning(message) __attribute__((warning(message))) -+# define __compiletime_error(message) __attribute__((error(message))) -+#endif /* __CHECKER__ */ -+ -+/* -+ * Mark a position in code as unreachable. This can be used to -+ * suppress control flow warnings after asm blocks that transfer -+ * control elsewhere. -+ * -+ * Early snapshots of gcc 4.5 don't support this and we can't detect -+ * this in the preprocessor, but we can live with this because they're -+ * unreleased. Really, we need to have autoconf for the kernel. -+ */ -+#define unreachable() __builtin_unreachable() -+ -+/* Mark a function definition as prohibited from being cloned. */ -+#define __noclone __attribute__((__noclone__)) -+ -+/* -+ * Tell the optimizer that something else uses this function or variable. -+ */ -+#define __visible __attribute__((externally_visible)) -+ -+/* -+ * GCC 'asm goto' miscompiles certain code sequences: -+ * -+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 -+ * -+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. -+ * Fixed in GCC 4.8.2 and later versions. -+ * -+ * (asm goto is automatically volatile - the naming reflects this.) -+ */ -+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) -+ -+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP -+#define __HAVE_BUILTIN_BSWAP32__ -+#define __HAVE_BUILTIN_BSWAP64__ -+#define __HAVE_BUILTIN_BSWAP16__ -+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ --- -2.4.4 - diff --git a/libre-testing/uboot4extlinux-udoo/PKGBUILD b/libre-testing/uboot4extlinux-udoo/PKGBUILD index 97d250fb0..95b71e4b6 100644 --- a/libre-testing/uboot4extlinux-udoo/PKGBUILD +++ b/libre-testing/uboot4extlinux-udoo/PKGBUILD @@ -1,65 +1,46 @@ # U-Boot: UDOO -# Maintainer: André Silva +# Maintainer: Isaac David +# Contributor: André Silva -buildarch=4 - -pkgbase=uboot4extlinux-udoo -pkgname=('uboot4extlinux-udoo_dl' 'uboot4extlinux-udoo_quad') -pkgver=2015.01 -pkgrel=4 +pkgname=uboot4extlinux-udoo +pkgver=2016.11 +pkgrel=1 +pkgdesc="U-Boot with Extlinux support for UDOO Dual and Quad" arch=('armv7h') url="http://git.denx.de/u-boot.git/" +conflicts=('uboot-udoo' 'uboot4grub-udoo') +replaces=('uboot4extlinux-udoo_dl' 'uboot4extlinux-udoo_quad') license=('GPL') -makedepends=('bc') +makedepends=('bc' 'swig') backup=(boot/extlinux/extlinux.conf) -source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2" +install=${pkgname}.install +source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver/rc/-rc}.tar.bz2" '0001-parabola-arm-modifications.patch' - '0002-kernel-add-support-for-gcc-5.patch' 'extlinux.conf') -sha256sums=('383051a656ebe11757b17d38a3326387e4a1b0949ca8a9e8ee506bf71dac9fde' - '9590ac46bd68e214da7741bef184ce9588a9f856b025a0d745e95ce7e73caf69' - '257269c4573712d3454b7c6d53d04b45af1166cb65dd9df73bd397a087f85e1e' +sha256sums=('45813e6565dcc0436abe6752624324cdbf5f3ac106570d76d32b46ec529bcdc8' + '5a93f489208f0f2e9415779770827024e24ca717438c0998499b59b59cd6189d' '1bb0cb3eac527182dcec2cecc128056610cce443eea8e57b0da3eb37e69623ea') prepare() { - cd u-boot-${pkgver} + cd u-boot-${pkgver/rc/-rc} patch -Np1 -i ../0001-parabola-arm-modifications.patch - patch -Np1 -i ../0002-kernel-add-support-for-gcc-5.patch } build() { - cd u-boot-${pkgver} - - unset CFLAGS CXXFLAGS LDFLAGS - - mkdir bins - for i in dl quad; do - make distclean - make udoo_${i}_config - make - mv u-boot.imx bins/u-boot-${i}.imx - done -} + cd u-boot-${pkgver/rc/-rc} -package_uboot4extlinux-udoo_dl() { - pkgdesc="U-Boot with Extlinux support for UDOO Dual" - conflicts=('uboot-udoo' 'uboot4extlinux-udoo' 'uboot4grub-udoo') - provides=('uboot4extlinux-udoo') - install=${pkgbase}.install + unset CFLAGS CXXFLAGS LDFLAGS - mkdir -p "${pkgdir}"/boot/extlinux - cp u-boot-${pkgver}/bins/u-boot-dl.imx "${pkgdir}"/boot/u-boot.imx - cp "${srcdir}"/extlinux.conf "${pkgdir}"/boot/extlinux + make distclean + make udoo_defconfig + make EXTRAVERSION=-${pkgrel} } -package_uboot4extlinux-udoo_quad() { - pkgdesc="U-Boot with Extlinux support for UDOO Quad" - conflicts=('uboot-udoo' 'uboot4extlinux-udoo' 'uboot4grub-udoo') - provides=('uboot4extlinux-udoo') - install=${pkgbase}.install +package_uboot4extlinux-udoo() { + cd u-boot-${pkgver/rc/-rc} mkdir -p "${pkgdir}"/boot/extlinux - cp u-boot-${pkgver}/bins/u-boot-quad.imx "${pkgdir}"/boot/u-boot.imx cp "${srcdir}"/extlinux.conf "${pkgdir}"/boot/extlinux + cp SPL u-boot.img "${pkgdir}"/boot } diff --git a/libre-testing/uboot4extlinux-udoo/uboot4extlinux-udoo.install b/libre-testing/uboot4extlinux-udoo/uboot4extlinux-udoo.install index 8a45c3b16..907a8e9f1 100644 --- a/libre-testing/uboot4extlinux-udoo/uboot4extlinux-udoo.install +++ b/libre-testing/uboot4extlinux-udoo/uboot4extlinux-udoo.install @@ -1,5 +1,5 @@ extlinux_warning() { - echo "==> WARNING: U-Boot uses Extlinux support to boot up. For setting it up, edit /boot/extlinux/extlinux.conf" + echo "==> WARNING: Remember to set up your kernels in /boot/extlinux/extlinux.conf" } flash_uboot() { @@ -7,22 +7,21 @@ flash_uboot() { echo "Do you want to do this now? [y|N]" read -r shouldwe if [[ $shouldwe =~ ^([yY][eE][sS]|[yY])$ ]]; then - dd if=/boot/u-boot.imx of=/dev/mmcblk0 bs=512 seek=2 + dd if=/boot/SPL of=/dev/mmcblk0 seek=1 bs=1k + dd if=/boot/u-boot.img of=/dev/mmcblk0 seek=69 bs=1k sync else echo "You can do this later by running:" - echo "# dd if=/boot/u-boot.imx of=/dev/mmcblk0 bs=512 seek=2" + echo "# dd if=/boot/SPL of=/dev/mmcblk0 seek=1 bs=1k" + echo "# dd if=/boot/u-boot.img of=/dev/mmcblk0 seek=69 bs=1k" fi extlinux_warning } -## arg 1: the new package version post_install() { flash_uboot } -## arg 1: the new package version -## arg 2: the old package version post_upgrade() { flash_uboot } diff --git a/libre-testing/uboot4extlinux-wandboard/0002-kernel-add-support-for-gcc-7.patch b/libre-testing/uboot4extlinux-wandboard/0002-kernel-add-support-for-gcc-7.patch new file mode 100644 index 000000000..ca59b159a --- /dev/null +++ b/libre-testing/uboot4extlinux-wandboard/0002-kernel-add-support-for-gcc-7.patch @@ -0,0 +1,68 @@ +diff --git a/include/linux/compiler-gcc7.h b/include/linux/compiler-gcc7.h +new file mode 100644 +index 0000000..ba064fa +--- /dev/null ++++ b/include/linux/compiler-gcc7.h +@@ -0,0 +1,59 @@ ++#ifndef __LINUX_COMPILER_H ++#error "Please don't include directly, include instead." ++#endif ++ ++#define __used __attribute__((__used__)) ++#define __must_check __attribute__((warn_unused_result)) ++#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) ++ ++/* Mark functions as cold. gcc will assume any path leading to a call ++ to them will be unlikely. This means a lot of manual unlikely()s ++ are unnecessary now for any paths leading to the usual suspects ++ like BUG(), printk(), panic() etc. [but let's keep them for now for ++ older compilers] ++ ++ gcc also has a __attribute__((__hot__)) to move hot functions into ++ a special section, but I don't see any sense in this right now in ++ the kernel context */ ++#define __cold __attribute__((__cold__)) ++ ++#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) ++ ++#ifndef __CHECKER__ ++# define __compiletime_warning(message) __attribute__((warning(message))) ++# define __compiletime_error(message) __attribute__((error(message))) ++#endif /* __CHECKER__ */ ++ ++/* ++ * Mark a position in code as unreachable. This can be used to ++ * suppress control flow warnings after asm blocks that transfer ++ * control elsewhere. ++ */ ++#define unreachable() __builtin_unreachable() ++ ++/* Mark a function definition as prohibited from being cloned. */ ++#define __noclone __attribute__((__noclone__)) ++ ++/* ++ * Tell the optimizer that something else uses this function or variable. ++ */ ++#define __visible __attribute__((externally_visible)) ++ ++/* ++ * GCC 'asm goto' miscompiles certain code sequences: ++ * ++ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 ++ * ++ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. ++ * ++ * (asm goto is automatically volatile - the naming reflects this.) ++ */ ++#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) ++ ++#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP ++#define __HAVE_BUILTIN_BSWAP32__ ++#define __HAVE_BUILTIN_BSWAP64__ ++#define __HAVE_BUILTIN_BSWAP16__ ++#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ ++ ++#define KASAN_ABI_VERSION 4 +-- +2.1.4 + diff --git a/libre-testing/uboot4extlinux-wandboard/PKGBUILD b/libre-testing/uboot4extlinux-wandboard/PKGBUILD index 453b5871c..152695610 100644 --- a/libre-testing/uboot4extlinux-wandboard/PKGBUILD +++ b/libre-testing/uboot4extlinux-wandboard/PKGBUILD @@ -1,7 +1,6 @@ # U-Boot: Wandboard -# Maintainer: André Silva - -buildarch=4 +# Maintainer: Isaac David +# Contributor: André Silva pkgname=uboot4extlinux-wandboard pkgver=2015.10 @@ -15,21 +14,24 @@ conflicts=('uboot-wandboard' 'uboot4grub-wandboard') install=${pkgname}.install source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2" '0001-parabola-arm-modifications.patch' + '0002-kernel-add-support-for-gcc-7.patch' 'extlinux.conf') sha256sums=('bdc68d5f9455ad933b059c735d983f2c8b6b552dafb062e5ff1444f623021955' 'a49c942b3cd676ce3550d0f2cdb80086b5df0f74c669b11ba2420ebfc878dc8c' + '9e80aa27cccdb07b03d56a970f247c91d586d0b936868c076c20acc2e68a3968' 'bcd32af67d56a13600142219ab8f8c2e1296a90223ad7f4594617d02023155ab') prepare() { cd u-boot-${pkgver} patch -Np1 -i ../0001-parabola-arm-modifications.patch + patch -Np1 -i ../0002-kernel-add-support-for-gcc-7.patch } build() { cd u-boot-${pkgver} - + unset LDFLAGS - + make distclean make wandboard_defconfig make diff --git a/libre-testing/uboot4extlinux-wandboard/uboot4extlinux-wandboard.install b/libre-testing/uboot4extlinux-wandboard/uboot4extlinux-wandboard.install index ddfb5c83f..65196758e 100644 --- a/libre-testing/uboot4extlinux-wandboard/uboot4extlinux-wandboard.install +++ b/libre-testing/uboot4extlinux-wandboard/uboot4extlinux-wandboard.install @@ -1,5 +1,5 @@ extlinux_warning() { - echo "==> WARNING: U-Boot uses Extlinux support to boot up. For setting it up, edit /boot/extlinux/extlinux.conf" + echo "==> WARNING: Remember to set up your kernels in /boot/extlinux/extlinux.conf" } flash_uboot() { @@ -17,13 +17,10 @@ flash_uboot() { extlinux_warning } -## arg 1: the new package version post_install() { flash_uboot } -## arg 1: the new package version -## arg 2: the old package version post_upgrade() { flash_uboot } -- cgit v1.2.3