diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-10-05 02:06:55 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2015-10-05 02:08:03 -0300 |
commit | 765e537cf6fa34b3cd9e099623e2552e21501877 (patch) | |
tree | b7f21293a8d09fd73a23180c5f090fa2f670f23b | |
parent | d0bbbad7e24d5930528cc3f26da05513f2e6f0c1 (diff) | |
download | abslibre-765e537cf6fa34b3cd9e099623e2552e21501877.tar.gz abslibre-765e537cf6fa34b3cd9e099623e2552e21501877.tar.bz2 abslibre-765e537cf6fa34b3cd9e099623e2552e21501877.zip |
uboot-pandaboard-linux-libre: add new package to [libre]
4 files changed, 210 insertions, 0 deletions
diff --git a/libre/uboot-pandaboard-linux-libre/0001-parabola-arm-modifications.patch b/libre/uboot-pandaboard-linux-libre/0001-parabola-arm-modifications.patch new file mode 100644 index 000000000..01c7ca80a --- /dev/null +++ b/libre/uboot-pandaboard-linux-libre/0001-parabola-arm-modifications.patch @@ -0,0 +1,141 @@ +diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h +index 1c93aab..e8b6c90 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 +@@ -82,6 +81,12 @@ + #undef CONFIG_CMD_NET + #undef CONFIG_CMD_NFS + ++/* Parabola GNU/Linux-libre extras */ ++#define CONFIG_IDENT_STRING " Parabola GNU/Linux-libre" ++#define CONFIG_SUPPORT_RAW_INITRD ++#define CONFIG_CMD_PART ++#define CONFIG_PARTITION_UUIDS ++ + /* + * Environment setup + */ +@@ -89,32 +94,57 @@ + DEFAULT_LINUX_BOOT_ENV \ + "console=ttyO2,115200n8\0" \ + "fdtfile=undefined\0" \ +- "bootpart=0:2\0" \ ++ "bootpart=0:1\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" \ + "mmcdev=0\0" \ +- "mmcroot=/dev/mmcblk0p2 rw\0" \ +- "mmcrootfstype=ext3 rootwait\0" \ ++ "optargs=\0" \ ++ "mmcroot=/dev/mmcblk0p1 rw rootwait\0" \ + "mmcargs=setenv bootargs console=${console} " \ + "vram=${vram} " \ +- "root=${mmcroot} " \ +- "rootfstype=${mmcrootfstype}\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 mmcargs; " \ +- "bootz ${loadaddr} - ${fdtaddr}\0" \ +- "uimageboot=echo Booting from mmc${mmcdev} ...; " \ +- "run mmcargs; " \ +- "bootm ${loadaddr}\0" \ ++ "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}/uboot-pandaboard-linux-libre/uEnv.txt ...;" \ ++ "if test -e ${devtype} ${bootpart} ${bootdir}/uboot-pandaboard-linux-libre/uEnv.txt; then " \ ++ "load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/uboot-pandaboard-linux-libre/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from ${bootdir}/uboot-pandaboard-linux-libre/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; " \ +@@ -127,32 +157,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.4.2 + diff --git a/libre/uboot-pandaboard-linux-libre/PKGBUILD b/libre/uboot-pandaboard-linux-libre/PKGBUILD new file mode 100644 index 000000000..067b9663b --- /dev/null +++ b/libre/uboot-pandaboard-linux-libre/PKGBUILD @@ -0,0 +1,46 @@ +# U-Boot: Pandaboard and Pandaboard ES +# Maintainer: Kevin Mihelich <kevin@archlinuxarm.org> +# Maintainer: André Silva <emulatorman@parabola.nu> + +buildarch=4 + +_pkgname=linux-libre +pkgname=uboot-pandaboard-${_pkgname} +pkgver=2015.04 +pkgrel=1 +pkgdesc="U-Boot for Pandaboard and Pandaboard ES (built for the linux-libre kernel package)" +arch=('armv7h') +url="http://git.denx.de/u-boot.git/" +makedepends=('bc') +replaces=('uboot-pandaboard') +license=('GPL') +install=${pkgname}.install +source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2" + '0001-parabola-arm-modifications.patch' + 'uEnv.txt') +md5sums=('570bdc2c47270c2a98ca60ff6c5c74cd' + 'ed3771f68122d6846dc9d906df6a1e6d' + '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/${pkgname}" + cp MLO u-boot.img "${srcdir}"/uEnv.txt "${pkgdir}/boot/${pkgname}" +} diff --git a/libre/uboot-pandaboard-linux-libre/uEnv.txt b/libre/uboot-pandaboard-linux-libre/uEnv.txt new file mode 100644 index 000000000..55298e1a9 --- /dev/null +++ b/libre/uboot-pandaboard-linux-libre/uEnv.txt @@ -0,0 +1,2 @@ +# Uncomment and add any additional kernel parameters to optargs +#optargs= diff --git a/libre/uboot-pandaboard-linux-libre/uboot-pandaboard-linux-libre.install b/libre/uboot-pandaboard-linux-libre/uboot-pandaboard-linux-libre.install new file mode 100644 index 000000000..8d28bcdcf --- /dev/null +++ b/libre/uboot-pandaboard-linux-libre/uboot-pandaboard-linux-libre.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/uboot-pandaboard-linux-libre/MLO of=/dev/mmcblk0 count=1 seek=1 conv=notrunc bs=128k + dd if=/boot/uboot-pandaboard-linux-libre/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/uboot-pandaboard-linux-libre/MLO of=/dev/mmcblk0 count=1 seek=1 conv=notrunc bs=128k" + echo "# dd if=/boot/uboot-pandaboard-linux-libre/u-boot.img of=/dev/mmcblk0 count=2 seek=1 conv=notrunc bs=384k" + fi +} + +post_install() { + flash_uboot +} + +post_upgrade() { + flash_uboot +} |