diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2016-02-25 00:08:55 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2016-02-25 00:09:47 -0300 |
commit | dc66d81a0120cf239389b0dda50b1193c1fbf150 (patch) | |
tree | 1c2f7f990e678b4e501ad568384d7c38f485da30 /libre/uboot-omap4_panda | |
parent | 34391c4f66249c6af7856637a09aaae57f0f74a3 (diff) | |
download | abslibre-dc66d81a0120cf239389b0dda50b1193c1fbf150.tar.gz abslibre-dc66d81a0120cf239389b0dda50b1193c1fbf150.tar.bz2 abslibre-dc66d81a0120cf239389b0dda50b1193c1fbf150.zip |
uboot-omap4_panda: add new package to [libre]
Diffstat (limited to 'libre/uboot-omap4_panda')
-rw-r--r-- | libre/uboot-omap4_panda/0001-parabola-arm-modifications.patch | 135 | ||||
-rw-r--r-- | libre/uboot-omap4_panda/PKGBUILD | 50 | ||||
-rw-r--r-- | libre/uboot-omap4_panda/extlinux.conf | 46 | ||||
-rw-r--r-- | libre/uboot-omap4_panda/uEnv.txt | 2 | ||||
-rw-r--r-- | libre/uboot-omap4_panda/uboot-omap4_panda.install | 26 |
5 files changed, 259 insertions, 0 deletions
diff --git a/libre/uboot-omap4_panda/0001-parabola-arm-modifications.patch b/libre/uboot-omap4_panda/0001-parabola-arm-modifications.patch new file mode 100644 index 000000000..09aee7ce0 --- /dev/null +++ b/libre/uboot-omap4_panda/0001-parabola-arm-modifications.patch @@ -0,0 +1,135 @@ +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 @@ + * 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 + #ifndef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS + #define CONFIG_SYS_AUTOMATIC_SDRAM_DETECTION + #define CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS +@@ -79,33 +78,74 @@ + #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 ++#define BOOT_TARGET_DEVICES(func) ++#include <config_distro_bootcmd.h> ++ + /* + * 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" + + #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" + + /* + * Defines for SPL diff --git a/libre/uboot-omap4_panda/PKGBUILD b/libre/uboot-omap4_panda/PKGBUILD new file mode 100644 index 000000000..c6ee4ac2a --- /dev/null +++ b/libre/uboot-omap4_panda/PKGBUILD @@ -0,0 +1,50 @@ +# U-Boot: PandaBoard and PandaBoard ES +# Maintainer: André Silva <emulatorman@parabola.nu> + +buildarch=4 + +pkgname=uboot-omap4_panda +pkgver=2016.01 +pkgrel=1 +pkgdesc="U-Boot for PandaBoard and PandaBoard ES" +arch=('armv7h') +url="http://git.denx.de/u-boot.git/" +replaces=('uboot-pandaboard-linux-libre' 'uboot-pandaboard') +conflicts=('uboot-pandaboard-linux-libre' 'uboot-pandaboard' 'uboot4grub-omap4_panda') +makedepends=('bc') +license=('GPL') +backup=(boot/extlinux/extlinux.conf) +install=${pkgname}.install +backup=('boot/uEnv.txt') +source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2" + '0001-parabola-arm-modifications.patch' + 'extlinux.conf' + 'uEnv.txt') +md5sums=('7d4f65fd43d4d706f5c5650e020d899d' + 'b74e858feeed48acaba5ac0548d675ca' + '12c61073bb860f4c8d8ec59145c267ed' + '86004660f2912861a040e335c9c0e85b') + +prepare() { + cd u-boot-${pkgver} + + patch -Np1 -i ../0001-parabola-arm-modifications.patch +} + +build() { + cd u-boot-${pkgver} + + unset LDFLAGS + + make distclean + make omap4_panda_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/uboot-omap4_panda/extlinux.conf b/libre/uboot-omap4_panda/extlinux.conf new file mode 100644 index 000000000..725121811 --- /dev/null +++ b/libre/uboot-omap4_panda/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=ttyO2,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=ttyO2,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=ttyO2,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=ttyO2,115200n8 +# 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=ttyO2,115200n8 +# 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=ttyO2,115200n8 +# 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=ttyO2,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=ttyO2,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=ttyO2,115200n8 +# fdtdir /boot/dtbs/linux-libre-rt diff --git a/libre/uboot-omap4_panda/uEnv.txt b/libre/uboot-omap4_panda/uEnv.txt new file mode 100644 index 000000000..55298e1a9 --- /dev/null +++ b/libre/uboot-omap4_panda/uEnv.txt @@ -0,0 +1,2 @@ +# Uncomment and add any additional kernel parameters to optargs +#optargs= diff --git a/libre/uboot-omap4_panda/uboot-omap4_panda.install b/libre/uboot-omap4_panda/uboot-omap4_panda.install new file mode 100644 index 000000000..52b834639 --- /dev/null +++ b/libre/uboot-omap4_panda/uboot-omap4_panda.install @@ -0,0 +1,26 @@ +extlinux_warning() { + echo ">>> WARNING: for new entries, edit /boot/extlinux/extlinux.conf" +} + +flash_uboot() { + echo "A new U-Boot version needs to be flashed onto /dev/mmcblk0." + echo "Do this now? [y|N]" + read -r shouldwe + if [[ $shouldwe =~ ^([yY][eE][sS]|[yY])$ ]]; then + dd if=/boot/MLO of=/dev/mmcblk0 count=1 seek=1 conv=notrunc bs=128k + dd if=/boot/u-boot.img of=/dev/mmcblk0 count=2 seek=1 conv=notrunc bs=384k + else + echo "You can do this later by running:" + 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" + fi + extlinux_warning +} + +post_install() { + flash_uboot +} + +post_upgrade() { + flash_uboot +} |