alarm/uboot-odroid to 2018.01-1

This commit is contained in:
Kevin Mihelich 2018-02-13 02:06:38 +00:00
parent fe5acad400
commit 4789f2d3e1
8 changed files with 127 additions and 267 deletions

View file

@ -0,0 +1,73 @@
From 734e94e98824c0cadaeaebf13f9955a673320e9a Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@debian.org>
Date: Sat, 28 May 2016 16:08:39 -0700
Subject: [PATCH 1/2] Convert odroid to use distro_bootcmd.
---
include/configs/odroid.h | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/include/configs/odroid.h b/include/configs/odroid.h
index 60ed013959..caa1b03a22 100644
--- a/include/configs/odroid.h
+++ b/include/configs/odroid.h
@@ -43,7 +43,6 @@
/* Console configuration */
-#define CONFIG_BOOTCOMMAND "run autoboot"
#define CONFIG_DEFAULT_CONSOLE "ttySAC1,115200n8"
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR \
@@ -52,7 +51,7 @@
#define CONFIG_SYS_MONITOR_BASE 0x00000000
#define CONFIG_SYS_MMC_ENV_DEV CONFIG_MMC_DEFAULT_DEV
-#define CONFIG_ENV_SIZE 4096
+#define CONFIG_ENV_SIZE 8192
#define CONFIG_ENV_OFFSET (SZ_1K * 1280) /* 1.25 MiB offset */
#define CONFIG_ENV_OVERWRITE
@@ -85,6 +84,20 @@
"bl2 raw 0x1f 0x1d;" \
"tzsw raw 0x83f 0x138\0"
+#define BOOT_TARGET_DEVICES(func) \
+ func(MMC, mmc, 1) \
+ func(MMC, mmc, 0)
+
+#include <config_distro_bootcmd.h>
+
+#define MEM_LAYOUT_ENV_SETTINGS \
+ "bootm_size=0x10000000\0" \
+ "kernel_addr_r=0x42000000\0" \
+ "fdt_addr_r=0x43000000\0" \
+ "ramdisk_addr_r=0x43300000\0" \
+ "scriptaddr=0x50000000\0" \
+ "pxefile_addr_r=0x51000000\0"
+
/*
* Bootable media layout:
* dev: SD eMMC(part boot)
@@ -163,7 +176,6 @@
"mmcbootpart=1\0" \
"mmcrootdev=0\0" \
"mmcrootpart=2\0" \
- "bootdelay=0\0" \
"dfu_alt_system="CONFIG_DFU_ALT \
"dfu_alt_info=Please reset the board\0" \
"consoleon=set console console=ttySAC1,115200n8; save; reset\0" \
@@ -171,7 +183,9 @@
"initrdname=uInitrd\0" \
"initrdaddr=42000000\0" \
"scriptaddr=0x42000000\0" \
- "fdtaddr=40800000\0"
+ "fdtaddr=40800000\0" \
+ MEM_LAYOUT_ENV_SETTINGS \
+ BOOTENV
/* GPT */
--
2.16.1

View file

@ -1,228 +0,0 @@
From 85fbfc993ffc43536839e537612a12c407638a88 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Fri, 22 Aug 2014 17:51:41 -0600
Subject: [PATCH 1/2] arch linux arm modifications
---
configs/odroid_defconfig | 1 +
include/configs/odroid.h | 172 +++++++++++++++++------------------------------
2 files changed, 64 insertions(+), 109 deletions(-)
diff --git a/configs/odroid_defconfig b/configs/odroid_defconfig
index f3ddc74..94a01e0 100644
--- a/configs/odroid_defconfig
+++ b/configs/odroid_defconfig
@@ -51,3 +51,4 @@ CONFIG_G_DNL_MANUFACTURER="Samsung"
CONFIG_G_DNL_VENDOR_NUM=0x04e8
CONFIG_G_DNL_PRODUCT_NUM=0x6601
CONFIG_ERRNO_STR=y
+CONFIG_IDENT_STRING=" Arch Linux ARM"
diff --git a/include/configs/odroid.h b/include/configs/odroid.h
index 2828f07..4c0ff07 100644
--- a/include/configs/odroid.h
+++ b/include/configs/odroid.h
@@ -35,6 +35,7 @@
#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_SDRAM_BASE + 0x5E00000)
#define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE + 0x3E00000)
#define CONFIG_SYS_TEXT_BASE 0x43e00000
+#define CONFIG_LOADADDR 0x40007FC0
#include <linux/sizes.h>
@@ -44,10 +45,6 @@
/* Console configuration */
-#define CONFIG_BOOTARGS "Please use defined boot"
-#define CONFIG_BOOTCOMMAND "run autoboot"
-#define CONFIG_DEFAULT_CONSOLE "console=ttySAC1,115200n8\0"
-
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_LOAD_ADDR \
- GENERATED_GBL_DATA_SIZE)
@@ -59,34 +56,7 @@
#define CONFIG_ENV_OFFSET (SZ_1K * 1280) /* 1.25 MiB offset */
#define CONFIG_ENV_OVERWRITE
-/* Partitions name */
-#define PARTS_BOOT "boot"
-#define PARTS_ROOT "platform"
-
-#define CONFIG_DFU_ALT \
- "uImage fat 0 1;" \
- "zImage fat 0 1;" \
- "Image.itb fat 0 1;" \
- "uInitrd fat 0 1;" \
- "exynos4412-odroidu3.dtb fat 0 1;" \
- "exynos4412-odroidx2.dtb fat 0 1;" \
- ""PARTS_BOOT" part 0 1;" \
- ""PARTS_ROOT" part 0 2\0" \
-
-#define CONFIG_SET_DFU_ALT_INFO
-#define CONFIG_SET_DFU_ALT_BUF_LEN (SZ_1K)
-
-#define CONFIG_DFU_ALT_BOOT_EMMC \
- "u-boot raw 0x3e 0x800 mmcpart 1;" \
- "bl1 raw 0x0 0x1e mmcpart 1;" \
- "bl2 raw 0x1e 0x1d mmcpart 1;" \
- "tzsw raw 0x83e 0x138 mmcpart 1\0"
-
-#define CONFIG_DFU_ALT_BOOT_SD \
- "u-boot raw 0x3f 0x800;" \
- "bl1 raw 0x1 0x1e;" \
- "bl2 raw 0x1f 0x1d;" \
- "tzsw raw 0x83f 0x138\0"
+#define CONFIG_SUPPORT_RAW_INITRD
/*
* Bootable media layout:
@@ -96,85 +66,69 @@
* UBOOT 63 62
* TZSW 2111 2110
* ENV 2560 2560(part user)
- *
- * MBR Primary partiions:
- * Num Name Size Offset
- * 1. BOOT: 100MiB 2MiB
- * 2. ROOT: -
*/
#define CONFIG_EXTRA_ENV_SETTINGS \
- "loadbootscript=load mmc ${mmcbootdev}:${mmcbootpart} ${scriptaddr} " \
- "boot.scr\0" \
- "loadkernel=load mmc ${mmcbootdev}:${mmcbootpart} ${kerneladdr} " \
- "${kernelname}\0" \
- "loadinitrd=load mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} " \
- "${initrdname}\0" \
- "loaddtb=load mmc ${mmcbootdev}:${mmcbootpart} ${fdtaddr} " \
- "${fdtfile}\0" \
- "check_ramdisk=" \
- "if run loadinitrd; then " \
- "setenv initrd_addr ${initrdaddr};" \
- "else " \
- "setenv initrd_addr -;" \
- "fi;\0" \
- "check_dtb=" \
- "if run loaddtb; then " \
- "setenv fdt_addr ${fdtaddr};" \
- "else " \
- "setenv fdt_addr;" \
- "fi;\0" \
- "kernel_args=" \
- "setenv bootargs root=/dev/mmcblk${mmcrootdev}p${mmcrootpart}" \
- " rootwait ${console} ${opts}\0" \
- "boot_script=" \
- "run loadbootscript;" \
- "source ${scriptaddr}\0" \
- "boot_fit=" \
- "setenv kerneladdr 0x42000000;" \
- "setenv kernelname Image.itb;" \
- "run loadkernel;" \
- "run kernel_args;" \
- "bootm ${kerneladdr}#${boardname}\0" \
- "boot_uimg=" \
- "setenv kerneladdr 0x40007FC0;" \
- "setenv kernelname uImage;" \
- "run check_dtb;" \
- "run check_ramdisk;" \
- "run loadkernel;" \
- "run kernel_args;" \
- "bootm ${kerneladdr} ${initrd_addr} ${fdt_addr};\0" \
- "boot_zimg=" \
- "setenv kerneladdr 0x40007FC0;" \
- "setenv kernelname zImage;" \
- "run check_dtb;" \
- "run check_ramdisk;" \
- "run loadkernel;" \
- "run kernel_args;" \
- "bootz ${kerneladdr} ${initrd_addr} ${fdt_addr};\0" \
- "autoboot=" \
- "if test -e mmc 0 boot.scr; then; " \
- "run boot_script; " \
- "elif test -e mmc 0 Image.itb; then; " \
- "run boot_fit;" \
- "elif test -e mmc 0 zImage; then; " \
- "run boot_zimg;" \
- "elif test -e mmc 0 uImage; then; " \
- "run boot_uimg;" \
- "fi;\0" \
- "console=" CONFIG_DEFAULT_CONSOLE \
- "mmcbootdev=0\0" \
- "mmcbootpart=1\0" \
- "mmcrootdev=0\0" \
- "mmcrootpart=2\0" \
- "bootdelay=0\0" \
- "dfu_alt_system="CONFIG_DFU_ALT \
- "dfu_alt_info=Please reset the board\0" \
- "consoleon=set console console=ttySAC1,115200n8; save; reset\0" \
- "consoleoff=set console console=ram; save; reset\0" \
- "initrdname=uInitrd\0" \
- "initrdaddr=42000000\0" \
- "scriptaddr=0x42000000\0" \
- "fdtaddr=40800000\0"
+ "bootfile=zImage\0" \
+ "bootdir=/boot\0" \
+ "console=ttySAC1,115200\0" \
+ "rdaddr=42000000\0" \
+ "rdfile=initramfs-linux.img\0" \
+ "fdtaddr=40800000\0" \
+ "fdtfile=\0" \
+ "fdtdir=/boot/dtbs\0" \
+ "optargs=\0" \
+ "mmcdev=0\0" \
+ "mmcroot=/dev/mmcblk0p1 rw rootwait\0" \
+ "mmcargs=setenv bootargs console=${console} " \
+ "${optargs} " \
+ "root=${root} " \
+ "video=${video}\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;" \
+ "else " \
+ "if run loadrd; then " \
+ "bootz ${loadaddr} ${rdaddr}:${filesize};" \
+ "else " \
+ "bootz ${loadaddr};" \
+ "fi;" \
+ "fi;" \
+ "else " \
+ "echo No kernel found;" \
+ "fi;" \
+ "setexpr devnum ${devnum} + 1;" \
+ "done;" \
+ "done;\0"
+
+#define CONFIG_BOOTCOMMAND \
+ "run mmcboot;"
/* I2C */
#define CONFIG_SYS_I2C_S3C24X0
--
2.10.2

View file

@ -1,4 +1,4 @@
From cbb4f92059b85bb4a438458df6675e24173700d6 Mon Sep 17 00:00:00 2001
From 3903318b827a5d75830cde1cd7087294257fa298 Mon Sep 17 00:00:00 2001
From: Kevin Mihelich <kevin@archlinuxarm.org>
Date: Fri, 6 Feb 2015 05:40:56 -0700
Subject: [PATCH 2/2] odroid-x support
@ -9,7 +9,7 @@ Subject: [PATCH 2/2] odroid-x support
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/board/samsung/odroid/odroid.c b/board/samsung/odroid/odroid.c
index b4cb332..d025d06 100644
index 0df96c1a3d..3aa8d6c5b5 100644
--- a/board/samsung/odroid/odroid.c
+++ b/board/samsung/odroid/odroid.c
@@ -57,7 +57,7 @@ void set_board_type(void)
@ -22,7 +22,7 @@ index b4cb332..d025d06 100644
return board_type[gd->board_type];
}
diff --git a/include/configs/odroid.h b/include/configs/odroid.h
index 4c0ff07..803f666 100644
index caa1b03a22..c2ee43f2e1 100644
--- a/include/configs/odroid.h
+++ b/include/configs/odroid.h
@@ -22,7 +22,7 @@
@ -35,5 +35,5 @@ index 4c0ff07..803f666 100644
#define SDRAM_BANK_SIZE (256 << 20) /* 256 MB */
#define PHYS_SDRAM_1 CONFIG_SYS_SDRAM_BASE
--
2.10.2
2.16.1

View file

@ -5,36 +5,38 @@ buildarch=4
pkgbase=uboot-odroid
pkgname=('uboot-odroid' 'uboot-odroid-x')
pkgver=2016.11
pkgver=2018.01
pkgrel=1
arch=('armv7h')
url='http://www.denx.de/wiki/U-Boot/WebHome'
license=('GPL')
install=$pkgname.install
backup=('boot/uEnv.txt')
makedepends=('bc' 'dtc' 'git')
backup=('boot/boot.txt' 'boot/boot.scr')
makedepends=('bc' 'dtc145' 'git')
_commit=dd9a970aa4accf5d266d334c0f319c674e933027
source=("ftp://ftp.denx.de/pub/u-boot/u-boot-${pkgver}.tar.bz2"
"https://github.com/hardkernel/u-boot/raw/${_commit}/sd_fuse/bl1.HardKernel"
"https://github.com/hardkernel/u-boot/raw/${_commit}/sd_fuse/bl2.HardKernel"
"https://github.com/hardkernel/u-boot/raw/${_commit}/sd_fuse/tzsw.HardKernel"
"sd_fusing.sh"
'0001-arch-linux-arm-modifications.patch'
'0001-Convert-odroid-to-use-distro_bootcmd.patch'
'0002-odroid-x-support.patch'
'uEnv.txt')
md5sums=('ca1f6e019d08aff8d0ca1beb2e66737d'
'boot.txt'
'mkscr')
md5sums=('b42e45813369f4ae84490a481e531768'
'3ab6d3cc2061bc2590d60320254017c6'
'841502de02bd42f2898e36c89c260b0f'
'c38faafa02a6a1ae834457f378c82113'
'17909ae93a0ae7b4c155234040105035'
'322bea8a6c09c3ce05bb818e6b06a368'
'0ed88109d0537e0decbccf9b98eea68b'
'fb5c9ea3108afa298087549f0453b00f')
'1d0ac59d0e09c208b339c736514a0f67'
'ed8ecdf7de3d531a78d5d6f79a04d79e'
'5e34d3ee240745483c6f8946a2247dc8'
'021623a04afd29ac3f368977140cfbfd')
prepare() {
cd u-boot-${pkgver}
git apply ../0001-arch-linux-arm-modifications.patch
git apply ../0001-Convert-odroid-to-use-distro_bootcmd.patch
}
build() {
@ -47,6 +49,7 @@ build() {
# build for X2/U2/U3
make distclean
make odroid_config
echo 'CONFIG_IDENT_STRING=" Arch Linux ARM"' >> .config
make EXTRAVERSION=-${pkgrel}
mv u-boot-dtb.bin ../u-boot-dtb.bin
@ -54,6 +57,7 @@ build() {
git apply ../0002-odroid-x-support.patch
make distclean
make odroid_config
echo 'CONFIG_IDENT_STRING=" Arch Linux ARM"' >> .config
make EXTRAVERSION=-${pkgrel}
}
@ -63,8 +67,10 @@ package_uboot-odroid() {
cd u-boot-${pkgver}
mkdir -p ${pkgdir}/boot
cp ../u-boot-dtb.bin ${pkgdir}/boot/u-boot.bin
cp ../uEnv.txt ${pkgdir}/boot
cp ../{{bl1,bl2,tzsw}.HardKernel,sd_fusing.sh} ${pkgdir}/boot
tools/mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d ../boot.txt "${pkgdir}"/boot/boot.scr
cp ../{boot.txt,mkscr} "${pkgdir}"/boot
}
package_uboot-odroid-x() {
@ -73,6 +79,8 @@ package_uboot-odroid-x() {
cd u-boot-${pkgver}
mkdir -p ${pkgdir}/boot
cp u-boot-dtb.bin ${pkgdir}/boot/u-boot.bin
cp ../uEnv.txt ${pkgdir}/boot
cp ../{{bl1,bl2,tzsw}.HardKernel,sd_fusing.sh} ${pkgdir}/boot
tools/mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d ../boot.txt "${pkgdir}"/boot/boot.scr
cp ../{boot.txt,mkscr} "${pkgdir}"/boot
}

View file

@ -0,0 +1,17 @@
# After modifying, run ./mkscr
# MAC address configuration
# setenv macaddr "00:1e:ee:61:7a:39"
part uuid ${devtype} ${devnum}:${bootpart} uuid
setenv bootargs "console=tty1 console=${console} root=PARTUUID=${uuid} rw rootwait smsc95xx.macaddr=${macaddr}"
if load ${devtype} ${devnum}:${bootpart} ${kernel_addr_r} /boot/zImage; then
if load ${devtype} ${devnum}:${bootpart} ${fdt_addr_r} /boot/dtbs/${fdtfile}; then
if load ${devtype} ${devnum}:${bootpart} ${ramdisk_addr_r} /boot/initramfs-linux.img; then
bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r};
else
bootz ${kernel_addr_r} - ${fdt_addr_r};
fi;
fi;
fi

9
alarm/uboot-odroid/mkscr Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
if [[ ! -x /usr/bin/mkimage ]]; then
echo "mkimage not found. Please install uboot-tools:"
echo " pacman -S uboot-tools"
exit 1
fi
mkimage -A arm -O linux -T script -C none -n "U-Boot boot script" -d boot.txt boot.scr

View file

@ -1,23 +0,0 @@
# Use this file to make modifications to the U-Boot environment.
### root filesystem device
# root=/dev/... rw rootwait
### optargs (extra options to pass to the kernel)
# optargs=
### video
## 1920x1080 (1080P) with monitor provided EDID information. (1080p-edid)
# video=HDMI-A-1:1920x1080@60
## 1920x1080 (1080P) without monitor data using generic information (1080p-noedid)
# optargs=drm_kms_helper.edid_firmware=edid/1920x1080.bin
## 1280x720 (720P) with monitor provided EDID information. (720p-edid)
# video=HDMI-A-1:1280x720@60
## 1280x720 (720P) without monitor data using generic information (720p-noedid)
# optargs=drm_kms_helper.edid_firmware=edid/1280x720.bin
## 1024x768 without monitor data using generic information
# optargs=drm_kms_helper.edid_firmware=edid/1024x768.bin

View file

@ -50,5 +50,9 @@ post_install() {
}
post_upgrade() {
if (( $(vercmp $2 2018.01-1) < 0 )); then
echo ' >>> Note: uEnv.txt is no longer used. Make any customizations within /boot/boot.txt'
echo ' and run ./mkscr within /boot to convert it to the boot.scr file.'
fi
flash_uboot
}