summaryrefslogtreecommitdiff
path: root/libre/uboot4extlinux-sunxi
diff options
context:
space:
mode:
authorAndré Fabian Silva Delgado <emulatorman@parabola.nu>2016-02-26 17:38:06 -0300
committerAndré Fabian Silva Delgado <emulatorman@parabola.nu>2016-02-26 17:39:20 -0300
commit969609c3df945079418d2e90a85df1a09f411f36 (patch)
treeea5bf8e55a86a58c6b3fe8978af38dd4aee44c5c /libre/uboot4extlinux-sunxi
parent3e1e7a769de7dc339fbf10f760ec90a2dea4f500 (diff)
downloadabslibre-969609c3df945079418d2e90a85df1a09f411f36.tar.gz
abslibre-969609c3df945079418d2e90a85df1a09f411f36.tar.bz2
abslibre-969609c3df945079418d2e90a85df1a09f411f36.zip
uboot4extlinux-sunxi: add new package to [libre]
Diffstat (limited to 'libre/uboot4extlinux-sunxi')
-rw-r--r--libre/uboot4extlinux-sunxi/0001-parabola-arm-modifications.patch66
-rw-r--r--libre/uboot4extlinux-sunxi/PKGBUILD237
-rw-r--r--libre/uboot4extlinux-sunxi/extlinux.conf46
-rw-r--r--libre/uboot4extlinux-sunxi/uboot4extlinux-sunxi.install27
4 files changed, 376 insertions, 0 deletions
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 <config_distro_bootcmd.h>
+
+ #ifdef CONFIG_OLD_SUNXI_KERNEL_COMPAT
+ #define BOOTCMD_SUNXI_COMPAT \
+@@ -474,8 +478,6 @@
+ #define BOOTCMD_SUNXI_COMPAT
+ #endif
+
+-#include <config_distro_bootcmd.h>
+-
+ #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 <emulatorman@parabola.nu>
+
+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
+}