diff options
Diffstat (limited to 'libre')
-rw-r--r-- | libre/uboot-wandboard/0001-parabola-arm-modifications.patch | 151 | ||||
-rw-r--r-- | libre/uboot-wandboard/PKGBUILD | 43 | ||||
-rw-r--r-- | libre/uboot-wandboard/uboot-wandboard.install | 24 |
3 files changed, 218 insertions, 0 deletions
diff --git a/libre/uboot-wandboard/0001-parabola-arm-modifications.patch b/libre/uboot-wandboard/0001-parabola-arm-modifications.patch new file mode 100644 index 000000000..cb6a94e19 --- /dev/null +++ b/libre/uboot-wandboard/0001-parabola-arm-modifications.patch @@ -0,0 +1,151 @@ +diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h +index ef4cb68..254458d 100644 +--- a/include/configs/mx6_common.h ++++ b/include/configs/mx6_common.h +@@ -68,7 +68,7 @@ + #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR + + #ifndef CONFIG_BOOTDELAY +-#define CONFIG_BOOTDELAY 3 ++#define CONFIG_BOOTDELAY 1 + #endif + + /* allow to overwrite serial and ethaddr */ +@@ -82,6 +82,8 @@ + #define CONFIG_SUPPORT_RAW_INITRD + #define CONFIG_CMD_FS_GENERIC + #define CONFIG_DOS_PARTITION ++#define CONFIG_CMD_PART ++#define CONFIG_PARTITION_UUIDS + #define CONFIG_CMD_EXT2 + #define CONFIG_CMD_EXT4 + #define CONFIG_CMD_EXT4_WRITE +diff --git a/include/configs/wandboard.h b/include/configs/wandboard.h +index 6e8aec2..a4963fa 100644 +--- a/include/configs/wandboard.h ++++ b/include/configs/wandboard.h +@@ -86,19 +86,26 @@ + #define CONFIG_IMX_HDMI + #define CONFIG_IMX_VIDEO_SKIP + ++#define CONFIG_IDENT_STRING " Parabola GNU/Linux-libre" ++ + #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG + #define CONFIG_EXTRA_ENV_SETTINGS \ + "script=boot.scr\0" \ +- "image=zImage\0" \ ++ "image=vmlinuz-linux-libre\0" \ ++ "bootdir=/boot\0" \ + "console=ttymxc0\0" \ + "splashpos=m,m\0" \ + "fdtfile=undefined\0" \ ++ "fdtdir=/boot/dtbs/linux-libre\0" \ + "fdt_high=0xffffffff\0" \ + "initrd_high=0xffffffff\0" \ + "fdt_addr=0x18000000\0" \ ++ "rdaddr=0x12A00000\0" \ ++ "rdfile=initramfs-linux-libre.img\0" \ + "boot_fdt=try\0" \ ++ "optargs=\0" \ + "ip_dyn=yes\0" \ +- "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \ ++ "mmcdev=0\0" \ + "mmcpart=1\0" \ + "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \ + "update_sd_firmware_filename=u-boot.imx\0" \ +@@ -116,7 +123,9 @@ + "fi; " \ + "fi\0" \ + "mmcargs=setenv bootargs console=${console},${baudrate} " \ +- "root=${mmcroot}; run videoargs\0" \ ++ "${optargs} " \ ++ "root=${root} " \ ++ "video=${video}\0" \ + "videoargs=" \ + "setenv nextcon 0; " \ + "if hdmidet; then " \ +@@ -143,27 +152,43 @@ + "echo '- no FWBADAPT-7WVGA-LCD-F07A-0102 display';" \ + "fi; " \ + "setenv bootargs ${bootargs} ${fbmem}\0" \ +- "loadbootscript=" \ +- "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ +- "bootscript=echo Running bootscript from mmc ...; " \ +- "source\0" \ +- "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \ +- "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdtfile}\0" \ +- "mmcboot=echo Booting from mmc ...; " \ +- "run mmcargs; " \ +- "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ +- "if run loadfdt; then " \ +- "bootz ${loadaddr} - ${fdt_addr}; " \ +- "else " \ +- "if test ${boot_fdt} = try; then " \ +- "bootz; " \ ++ "loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${image}\0" \ ++ "loadrd=load ${devtype} ${bootpart} ${rdaddr} ${bootdir}/${rdfile}\0" \ ++ "loadfdt=echo loading ${fdtdir}/${fdtfile} ...; load ${devtype} ${bootpart} ${fdt_addr} ${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} ${fdt_addr};" \ ++ "else " \ ++ "bootz ${loadaddr} - ${fdt_addr};" \ ++ "fi;" \ ++ "fi;" \ + "else " \ +- "echo WARN: Cannot load the DT; " \ +- "fi; " \ +- "fi; " \ +- "else " \ +- "bootz; " \ +- "fi;\0" \ ++ "echo No kernel found;" \ ++ "fi;" \ ++ "setexpr devnum ${devnum} + 1;" \ ++ "done;" \ ++ "done;\0" \ + "netargs=setenv bootargs console=${console},${baudrate} " \ + "root=/dev/nfs " \ + "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \ +@@ -202,16 +227,7 @@ + + #define CONFIG_BOOTCOMMAND \ + "run findfdt; " \ +- "mmc dev ${mmcdev}; if mmc rescan; then " \ +- "if run loadbootscript; then " \ +- "run bootscript; " \ +- "else " \ +- "if run loadimage; then " \ +- "run mmcboot; " \ +- "else run netboot; " \ +- "fi; " \ +- "fi; " \ +- "else run netboot; fi" ++ "run mmcboot;" + + /* Physical Memory Map */ + #define CONFIG_NR_DRAM_BANKS 1 +-- +2.6.1 + diff --git a/libre/uboot-wandboard/PKGBUILD b/libre/uboot-wandboard/PKGBUILD new file mode 100644 index 000000000..858fb4de6 --- /dev/null +++ b/libre/uboot-wandboard/PKGBUILD @@ -0,0 +1,43 @@ +# U-Boot: Wandboard +# Maintainer: André Silva <emulatorman@parabola.nu> + +buildarch=4 + +pkgname=uboot-wandboard +pkgver=2015.10 +pkgrel=1.parabola1 +pkgdesc="U-Boot for Wandboard" +arch=('armv7h') +url="http://git.denx.de/u-boot.git/" +license=('GPL') +makedepends=('bc') +depends=('linux-libre') +replaces=('uboot-wandboard-solo' 'uboot-wandboard-dual' 'uboot-wandboard-quad' 'uboot-wandboard-linux-libre') +conflicts=('uboot4extlinux-wandboard' 'uboot4grub-wandboard') +install=${pkgname}.install +source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2" + '0001-parabola-arm-modifications.patch') +md5sums=('7c203b0fc3390a122d8e8b75f147eac5' + '87a2643750ab2152c6c91415e3949807') + +prepare() { + cd u-boot-${pkgver} + patch -Np1 -i ../0001-parabola-arm-modifications.patch +} + +build() { + cd u-boot-${pkgver} + + unset LDFLAGS + + make distclean + make wandboard_defconfig + make +} + +package() { + cd u-boot-${pkgver} + + mkdir -p "${pkgdir}"/boot + cp SPL u-boot.img "${pkgdir}"/boot +} diff --git a/libre/uboot-wandboard/uboot-wandboard.install b/libre/uboot-wandboard/uboot-wandboard.install new file mode 100644 index 000000000..246006ea4 --- /dev/null +++ b/libre/uboot-wandboard/uboot-wandboard.install @@ -0,0 +1,24 @@ +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/SPL of=/dev/mmcblk0 seek=1 bs=1k + dd if=/boot/u-boot.img of=/dev/mmcblk0 seek=69 bs=1k + else + echo "You can do this later by running:" + echo "# dd if=/boot/SPL of=/dev/mmcblk0 seek=1 bs=1k" + echo "# dd if=/boot/u-boot.img of=/dev/mmcblk0 seek=69 bs=1k" + fi +} + +## 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 +} |