From 700d611e66ed14bf41c83f159892b1328751d49a Mon Sep 17 00:00:00 2001 From: Aditya Prayoga Date: Tue, 30 Oct 2018 13:48:38 +0800 Subject: [PATCH] Added mainline U-Boot --- ...mainline-armbian-boot-script-support.patch | 31 ++++ docs/img/u-boot/u-boot_menuconfig_main.png | Bin 0 -> 58662 bytes docs/uboot.md | 146 +++++++++++++++++- 3 files changed, 172 insertions(+), 5 deletions(-) create mode 100644 docs/files/uboot/u-boot-mainline-armbian-boot-script-support.patch create mode 100644 docs/img/u-boot/u-boot_menuconfig_main.png diff --git a/docs/files/uboot/u-boot-mainline-armbian-boot-script-support.patch b/docs/files/uboot/u-boot-mainline-armbian-boot-script-support.patch new file mode 100644 index 0000000..3f38823 --- /dev/null +++ b/docs/files/uboot/u-boot-mainline-armbian-boot-script-support.patch @@ -0,0 +1,31 @@ +From f25165a2bcac2ec1b33b541a04ece0eef420674a Mon Sep 17 00:00:00 2001 +Message-Id: +In-Reply-To: <3eb15c0c6a0f26e418074cf3be9490a36f9161fd.1540752056.git.aditya@kobol.io> +References: <3eb15c0c6a0f26e418074cf3be9490a36f9161fd.1540752056.git.aditya@kobol.io> +From: Aditya Prayoga +Date: Thu, 18 Oct 2018 13:40:13 +0800 +Subject: arm: mvebu: helios4: Add extra environment variable to + support Armbian + +Armbian boot script use different env variable name to load armbianEnv.txt +and device tree +--- + include/configs/helios4.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/configs/helios4.h b/include/configs/helios4.h +index c289490..9a9bb4f 100644 +--- a/include/configs/helios4.h ++++ b/include/configs/helios4.h +@@ -165,6 +165,8 @@ + LOAD_ADDRESS_ENV_SETTINGS \ + "fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \ + "console=ttyS0,115200\0" \ ++ "loadaddr=0x02000000\0" \ ++ "fdt_addr=" FDT_ADDR_R "\0" \ + BOOTENV + + #endif /* CONFIG_SPL_BUILD */ +-- +2.7.4 + diff --git a/docs/img/u-boot/u-boot_menuconfig_main.png b/docs/img/u-boot/u-boot_menuconfig_main.png new file mode 100644 index 0000000000000000000000000000000000000000..c8d4c362d68f6a1d2e639460783bfa047ed13c6e GIT binary patch literal 58662 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 CJGX;?&Ihi6>Q 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 .config + +rm -f .config_mmc + +make -j$(nproc) +``` + +it would produced **u-boot-spl.kwb** + + +### Customize U-Boot + +U-Boot has configuration editor based on ncurses similar like Linux Kernel configuration editor. + +Install ncurses development files. Under Debian/Ubuntu can be done using this command + +```bash +sudo apt-get -y install libncurses5-dev +``` + +Launch configuration editor + +```bash +make menuconfig +``` + +![menuconfig main](/img/u-boot/u-boot_menuconfig_main.png) + +After exiting the configuration editor and saving the configuration, build the image according to [SD Card image](#sd-card-image) or [SPI NOR flash image](#spi-nor-flash-image) instructions. + + +- - - + +## Marvell U-Boot 2013.01 + +Based on U-Boot 2013.01 Marvell version: 2015_T1.0p16 + +### Cross compiler Under Debian / Ubuntu you need first to install the necessary packages and tools for cross compiling for ARM. @@ -11,7 +147,7 @@ Other option, use Linaro cross compiler 4.9.4 arm-gnueabi toolchain. Download [h !!! Note DO NOT use hard-float variant (arm-linux-gnueabihf). -## Compile U Boot +### Compile U-Boot ```bash git clone https://github.com/helios-4/u-boot-marvell.git @@ -29,10 +165,10 @@ make mrproper To compile using Ubuntu 16.04 cross compiler, please apply [this patch](https://github.com/armbian/build/blob/master/patch/u-boot/u-boot-mvebu/tools-bin_hdr-compiler-fixes.patch) to U-Boot source code. !!! note - To support Armbian boot script (/boot/boot.src), please apply [this patch](/files/uboot/u-boot-armbian-boot-script-support.patch) to U-Boot source code. + To support Armbian boot script (/boot/boot.scr), please apply [this patch](/files/uboot/u-boot-armbian-boot-script-support.patch) to U-Boot source code. -### SD Card image +#### SD Card image ``` ./build.pl -f mmc -b armada_38x_helios4 @@ -41,7 +177,7 @@ make mrproper it would produced *u-boot-a38x-**mm**-**d**-mmc.bin* whereas **mm** is month and **d** is day. For example, building u-boot on October 2nd would produced *u-boot-a38x-10-2-mmc.bin* -### SPI NOR flash image +#### SPI NOR flash image ``` ./build.pl -f spi -b armada_38x_helios4