diff options
-rw-r--r-- | libre/uboot-omap4_panda/0001-parabola-arm-modifications.patch | 129 | ||||
-rw-r--r-- | libre/uboot-omap4_panda/PKGBUILD | 47 | ||||
-rw-r--r-- | libre/uboot-omap4_panda/uEnv.txt | 2 | ||||
-rw-r--r-- | libre/uboot-omap4_panda/uboot-omap4_panda.install | 21 |
4 files changed, 199 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..f966c4e71 --- /dev/null +++ b/libre/uboot-omap4_panda/0001-parabola-arm-modifications.patch @@ -0,0 +1,129 @@ +diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h +index 08130eb..8835cf8 100644 +--- a/include/configs/ti_omap4_common.h ++++ b/include/configs/ti_omap4_common.h +@@ -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,6 +78,9 @@ + #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" ++ + /* + * Environment setup + */ +@@ -89,23 +91,53 @@ + "fdtfile=undefined\0" \ + "bootpart=0:2\0" \ + "bootdir=/boot\0" \ +- "bootfile=zImage\0" \ ++ "fdtdir=/boot/dtbs/linux-libre\0" \ ++ "bootfile=vmlinuz-linux-libre\0" \ ++ "rdfile=initramfs-linux-libre.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;" \ ++ "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 +150,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 +-- +2.6.4 + diff --git a/libre/uboot-omap4_panda/PKGBUILD b/libre/uboot-omap4_panda/PKGBUILD new file mode 100644 index 000000000..2a1867700 --- /dev/null +++ b/libre/uboot-omap4_panda/PKGBUILD @@ -0,0 +1,47 @@ +# 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=('uboot4extlinux-omap4_panda' 'uboot4grub-omap4_panda') +makedepends=('bc') +depends=('linux-libre') +license=('GPL') +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' + 'uEnv.txt') +md5sums=('7d4f65fd43d4d706f5c5650e020d899d' + 'e47c5f7b3bf0504ce36ce718eb982a77' + '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 + cp MLO u-boot.img "${srcdir}"/uEnv.txt "${pkgdir}"/boot +} 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..a394ae827 --- /dev/null +++ b/libre/uboot-omap4_panda/uboot-omap4_panda.install @@ -0,0 +1,21 @@ +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 +} + +post_install() { + flash_uboot +} + +post_upgrade() { + flash_uboot +} |