From 969609c3df945079418d2e90a85df1a09f411f36 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Fri, 26 Feb 2016 17:38:06 -0300 Subject: uboot4extlinux-sunxi: add new package to [libre] --- .../0001-parabola-arm-modifications.patch | 66 ++++++ libre/uboot4extlinux-sunxi/PKGBUILD | 237 +++++++++++++++++++++ libre/uboot4extlinux-sunxi/extlinux.conf | 46 ++++ .../uboot4extlinux-sunxi.install | 27 +++ 4 files changed, 376 insertions(+) create mode 100644 libre/uboot4extlinux-sunxi/0001-parabola-arm-modifications.patch create mode 100644 libre/uboot4extlinux-sunxi/PKGBUILD create mode 100644 libre/uboot4extlinux-sunxi/extlinux.conf create mode 100644 libre/uboot4extlinux-sunxi/uboot4extlinux-sunxi.install (limited to 'libre/uboot4extlinux-sunxi') diff --git a/libre/uboot4extlinux-sunxi/0001-parabola-arm-modifications.patch b/libre/uboot4extlinux-sunxi/0001-parabola-arm-modifications.patch new file mode 100644 index 000000000..5b59f18af --- /dev/null +++ b/libre/uboot4extlinux-sunxi/0001-parabola-arm-modifications.patch @@ -0,0 +1,66 @@ +diff -Nur u-boot-2016.01.orig/include/config_distro_defaults.h u-boot-2016.01/include/config_distro_defaults.h +--- u-boot-2016.01.orig/include/config_distro_defaults.h 2016-01-12 11:06:54.000000000 -0300 ++++ u-boot-2016.01/include/config_distro_defaults.h 2016-02-26 13:23:28.880315683 -0300 +@@ -67,4 +67,7 @@ + #define CONFIG_SUPPORT_RAW_INITRD + #define CONFIG_SYS_HUSH_PARSER + ++#define CONFIG_CMD_PART ++#define CONFIG_PARTITION_UUIDS ++ + #endif /* _CONFIG_CMD_DISTRO_DEFAULTS_H */ +diff -Nur u-boot-2016.01.orig/include/configs/sunxi-common.h u-boot-2016.01/include/configs/sunxi-common.h +--- u-boot-2016.01.orig/include/configs/sunxi-common.h 2016-01-12 11:06:54.000000000 -0300 ++++ u-boot-2016.01/include/configs/sunxi-common.h 2016-02-26 14:37:41.077919620 -0300 +@@ -173,7 +173,7 @@ + #define CONFIG_SYS_NO_FLASH + + #define CONFIG_SYS_MONITOR_LEN (768 << 10) /* 768 KiB */ +-#define CONFIG_IDENT_STRING " Allwinner Technology" ++#define CONFIG_IDENT_STRING " Parabola GNU/Linux-libre" + + #define CONFIG_ENV_OFFSET (544 << 10) /* (8 + 24 + 512) KiB */ + #define CONFIG_ENV_SIZE (128 << 10) /* 128 KiB */ +@@ -449,6 +449,9 @@ + #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) \ +@@ -457,6 +460,7 @@ + BOOT_TARGET_DEVICES_USB(func) \ + func(PXE, pxe, na) \ + func(DHCP, dhcp, na) ++#include + + #ifdef CONFIG_OLD_SUNXI_KERNEL_COMPAT + #define BOOTCMD_SUNXI_COMPAT \ +@@ -474,8 +478,6 @@ + #define BOOTCMD_SUNXI_COMPAT + #endif + +-#include +- + #ifdef CONFIG_USB_KEYBOARD + #define CONSOLE_STDIN_SETTINGS \ + "preboot=usb start\0" \ +@@ -500,13 +502,13 @@ + 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 diff --git a/libre/uboot4extlinux-sunxi/PKGBUILD b/libre/uboot4extlinux-sunxi/PKGBUILD new file mode 100644 index 000000000..7c82f57e8 --- /dev/null +++ b/libre/uboot4extlinux-sunxi/PKGBUILD @@ -0,0 +1,237 @@ +# U-Boot: sunXi +# Maintainer: André Silva + +buildarch=4 + +pkgbase=uboot4extlinux-sunxi +pkgname=('uboot4extlinux-a10-olinuxino-lime' + 'uboot4extlinux-a10s-olinuxino-micro' + 'uboot4extlinux-a13-olinuxino' + 'uboot4extlinux-a13-olinuxino-micro' + 'uboot4extlinux-a20-olinuxino-lime' + 'uboot4extlinux-a20-olinuxino-lime2' + 'uboot4extlinux-a20-olinuxino-micro' + 'uboot4extlinux-cubieboard' + 'uboot4extlinux-cubieboard2' + 'uboot4extlinux-cubietruck' + 'uboot4extlinux-pcduino' + 'uboot4extlinux-pcduino3' + 'uboot4extlinux-pcduino3-nano') +pkgver=2016.01 +pkgrel=1 +arch=('armv7h') +url="http://git.denx.de/u-boot.git/" +license=('GPL') +makedepends=('bc' 'dtc') +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') +md5sums=('7d4f65fd43d4d706f5c5650e020d899d' + '8cac8444bd1d229063a150d212cc360a' + 'acd3e7b3c45c2801c2435f4a5de3f58c') + +boards=('A10-OLinuXino-Lime' + 'A10s-OLinuXino-M' + 'A13-OLinuXino' + 'A13-OLinuXinoM' + 'A20-OLinuXino-Lime' + 'A20-OLinuXino-Lime2' + 'A20-OLinuXino_MICRO' + 'Cubieboard' + 'Cubieboard2' + 'Cubietruck' + 'Linksprite_pcDuino' + 'Linksprite_pcDuino3' + 'Linksprite_pcDuino3_Nano') + +prepare() { + cd u-boot-${pkgver} + + patch -Np1 -i ../0001-parabola-arm-modifications.patch +} + +build() { + cd u-boot-${pkgver} + + unset CFLAGS + unset CXXFLAGS + unset LDFLAGS + + for i in ${boards[@]}; do + mkdir ../bin_${i} + make distclean + make ${i}_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=('uboot-sunxi') + conflicts=('uboot-sunxi' 'uboot-a10-olinuxino-lime' 'uboot-a10-olinuxino-lime-linux-libre') + replaces=('uboot-a10-olinuxino-lime' 'uboot-a10-olinuxino-lime-linux-libre' 'uboot4grub-a10-olinuxino-lime') + + 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-micro() { + pkgdesc="U-Boot with Extlinux support for A10s OLinuXino Micro" + install=${pkgbase}.install + provides=('uboot-sunxi') + conflicts=('uboot-sunxi' 'uboot-a10s-olinuxino-micro' 'uboot-a10s-olinuxino-micro-linux-libre') + replaces=('uboot-a10s-olinuxino-micro' 'uboot-a10s-olinuxino-micro-linux-libre' 'uboot4grub-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=('uboot-sunxi') + conflicts=('uboot-sunxi' 'uboot-a13-olinuxino' 'uboot-a13-olinuxino-linux-libre') + replaces=('uboot-a13-olinuxino' 'uboot-a13-olinuxino-linux-libre' 'uboot4grub-a13-olinuxino') + + 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-olinuxino-micro() { + pkgdesc="U-Boot with Extlinux support for A13 OLinuXino Micro" + install=${pkgbase}.install + provides=('uboot-sunxi') + conflicts=('uboot-sunxi' 'uboot-a13-olinuxino-micro' 'uboot-a13-olinuxino-micro-linux-libre') + replaces=('uboot-a13-olinuxino-micro' 'uboot-a13-olinuxino-micro-linux-libre' 'uboot4grub-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=('uboot-sunxi') + conflicts=('uboot-sunxi' 'uboot-a20-olinuxino-lime' 'uboot-a20-olinuxino-lime-linux-libre') + replaces=('uboot-a20-olinuxino-lime' 'uboot-a20-olinuxino-lime-linux-libre' 'uboot4grub-a20-olinuxino-lime') + + 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=('uboot-sunxi') + conflicts=('uboot-sunxi' 'uboot-a20-olinuxino-lime2' 'uboot-a20-olinuxino-lime2-linux-libre') + replaces=('uboot-a20-olinuxino-lime2' 'uboot-a20-olinuxino-lime2-linux-libre' 'uboot4grub-a20-olinuxino-lime2') + + 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=('uboot-sunxi') + conflicts=('uboot-sunxi' 'uboot-a20-olinuxino-micro' 'uboot-a20-olinuxino-micro-linux-libre') + replaces=('uboot-a20-olinuxino-micro' 'uboot-a20-olinuxino-micro-linux-libre' 'uboot4grub-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-cubieboard() { + pkgdesc="U-Boot with Extlinux support for Cubieboard" + install=${pkgbase}.install + provides=('uboot-sunxi') + conflicts=('uboot-sunxi' 'uboot-cubieboard' 'uboot-cubieboard-linux-libre') + replaces=('uboot-cubieboard' 'uboot-cubieboard-linux-libre' 'uboot4grub-cubieboard') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_Cubieboard/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot/u-boot-sunxi-with-spl.bin + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-cubieboard2() { + pkgdesc="U-Boot with Extlinux support for Cubieboard 2" + install=${pkgbase}.install + provides=('uboot-sunxi') + conflicts=('uboot-sunxi' 'uboot-cubieboard2' 'uboot-cubieboard2-linux-libre') + replaces=('uboot-cubieboard2' 'uboot-cubieboard2-linux-libre' 'uboot4grub-cubieboard2') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_Cubieboard2/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot/u-boot-sunxi-with-spl.bin + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-cubietruck() { + pkgdesc="U-Boot with Extlinux support for Cubietruck" + install=${pkgbase}.install + provides=('uboot-sunxi') + conflicts=('uboot-sunxi' 'uboot-cubietruck' 'uboot-cubietruck-linux-libre') + replaces=('uboot-cubietruck' 'uboot-cubietruck-linux-libre' 'uboot4grub-cubietruck') + + install -d "${pkgdir}"/boot/extlinux + install -Dm644 bin_Cubietruck/u-boot-sunxi-with-spl.bin "${pkgdir}"/boot/u-boot-sunxi-with-spl.bin + + install -Dm644 extlinux.conf "${pkgdir}"/boot/extlinux +} + +package_uboot4extlinux-pcduino() { + pkgdesc="U-Boot with Extlinux support for pcDuino" + install=${pkgbase}.install + provides=('uboot-sunxi') + conflicts=('uboot-sunxi' 'uboot-pcduino' 'uboot-pcduino-linux-libre') + replaces=('uboot-pcduino' 'uboot-pcduino-linux-libre' 'uboot4grub-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-pcduino3() { + pkgdesc="U-Boot with Extlinux support for pcDuino3" + install=${pkgbase}.install + provides=('uboot-sunxi') + conflicts=('uboot-sunxi' 'uboot-pcduino3' 'uboot-pcduino3-linux-libre') + replaces=('uboot-pcduino3' 'uboot-pcduino3-linux-libre' 'uboot4grub-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-pcduino3-nano() { + pkgdesc="U-Boot with Extlinux support for pcDuino3 Nano" + install=${pkgbase}.install + provides=('uboot-sunxi') + conflicts=('uboot-sunxi' 'uboot-pcduino3-nano' 'uboot-pcduino3-nano-linux-libre') + replaces=('uboot-pcduino3-nano' 'uboot-pcduino3-nano-linux-libre' 'uboot4grub-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 +} diff --git a/libre/uboot4extlinux-sunxi/extlinux.conf b/libre/uboot4extlinux-sunxi/extlinux.conf new file mode 100644 index 000000000..66f6b30d5 --- /dev/null +++ b/libre/uboot4extlinux-sunxi/extlinux.conf @@ -0,0 +1,46 @@ +menu title Welcome to U-Boot with Extlinux support! + +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-grsec kernel +# kernel /boot/vmlinuz-linux-libre-grsec +# append root=/dev/mmcblk0p1 rw console=ttyS0,115200 +# fdtdir /boot/dtbs/linux-libre-grsec + +#label Parabola GNU/Linux-libre, linux-libre-grsec-knock kernel +# kernel /boot/vmlinuz-linux-libre-grsec-knock +# append root=/dev/mmcblk0p1 rw console=ttyS0,115200 +# fdtdir /boot/dtbs/linux-libre-grsec-knock + +#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 diff --git a/libre/uboot4extlinux-sunxi/uboot4extlinux-sunxi.install b/libre/uboot4extlinux-sunxi/uboot4extlinux-sunxi.install new file mode 100644 index 000000000..e39c2cd2e --- /dev/null +++ b/libre/uboot4extlinux-sunxi/uboot4extlinux-sunxi.install @@ -0,0 +1,27 @@ +extlinux_warning() { + echo "==> WARNING: U-Boot uses Extlinux support to boot up. For setting it up, edit /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 +} + +## 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