The bootloader U-Boot

From IGEP - ISEE Wiki

Jump to: navigation, search

Overview

This page is meant to be a starting point for people to learn build a u-boot image and show to people the current status of different u-boot versions for IGEP Processor Boards.

What is U-Boot?

Das U-Boot (Universal Bootloader) is an open source, primary boot loader used in embedded devices. It is available for a number of different computer architectures, including PPC, ARM, MIPS, AVR32, x86.

How to cross compile the U-Boot

In order to compile and build the U-Boot for IGEP PROCESSOR BOARDS you should set the CROSS_COMPILE variable. Set this to the prefix of your toolchain (including the trailing dash "-"). So if your toolchain is invoked as say arm-linux-gnueabi-gcc, just chop off that trailing gcc and that's what you use: arm-linux-gnueabihf-.

As example, once you've downloaded the u-boot source, you should follow these steps:

make CROSS_COMPILE=[cross compiler] [board config]
make CROSS_COMPILE=[cross compiler]

Necessary package

Download & Prepare your U-BOOT

U-Boot Freescale-NXP iMX6 Series

Downloading binary files

Clone the u-boot repo

Clone the u-boot repository using git address:
$ git clone git@git.isee.biz:arm-boot/u-boot-imx.git 

or
$ git clone https://git.isee.biz/arm-boot/u-boot-imx.git

Checkout u-boot repo 

Go to the u-boot-imx directory and checkout the version 2015.04.y as:

$ cd u-boot-imx
$ git checkout remotes/origin/isee_imx_v2017.03_4.9.11_1.0.0_ga -b isee_imx_v2017.03_4.9.11_1.0.0_ga

Set the board configuration

IGEP0046 SMARC Quad $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0046_imx6dl_2G_defconfig
IGEP0046 SMARC Dual lite $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0046_imx6q_2G_defconfig
IGEP0046 SMARC Solo $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xxxxx

Build u-boot

You can build u-boot executing this command:

$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-



U-Boot Texas Instruments Series

Downloading binary files

Clone the u-boot repo

Clone the u-boot repository using git address:
$ git clone @git.isee.biz:arm-boot/u-boot-arm.git
or

$ git clone https://git.isee.biz/arm-boot/u-boot-arm.git

Checkout u-boot repo 

Go to the u-boot-arm directory and checkout the isee_v2017.03 as:

$ cd u-boot-arm

$ git checkout remotes/origin/isee_v2017.03 -b isee_v2017.03

Set the board configuration

IGEP COM AQUILA RB11 (256MB RAM) $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_igep0033_defconfig
IGEP COM PROTON OMAP3530 (IGEP0032) $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0032_defconfig
IGEP SMARC AM335x (IGEP0034) $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_igep0034_defconfig
IGEP SMARC AM335x (IGEP0034) Lite $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_igep0034_lite_defconfig
IGEP COM Module DM3730 (IGEP0030) $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0030_defconfig
IGEP COM Module DM3730 (IGEP0020) $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0020_defconfig


Build u-boot

You can build u-boot executing this command:

$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-


What next...

After build u-boot you can use it for boot the board, exist several options for boot, check the Hardware Reference Manual about the options available for your board.

  • Boot from MicroSD Card.
  • Boot from NAND flash.
  • Boot from eMMC.
  • Boot from USB.
  • Boot from Network.


Configurations files

The result for iMX6 processor based will be a u-boot.imx.


Modules Files
IGEP0046 SMARC iMX6 Duallite 2GB igep0046_imx6dl_2G_defconfig 
IGEP0046 SMARC iMX6 DUAL  
IGEP0046 SMARC iMX6 QUAD igep0046_imx6q_2G_defconfig 
IGEP0046 SMARC iMX6 SOLO  

The result for Texas Instruments processor based board will be a MLO and u-boot.img. (COMPROVAR)

Modules

"Files"
IGEP0030 DM3730 Module igep0030_defconfig
IGEP0020 DM3730 IGEPv2 igep0020_defconfig
IGEP0033 AM335x AQUILA Module am335x_igep0033_defconfig
IGEP0032 OMAP3530 PROTON Module igep0032_defconfig
IGEP0034 SMARC AM335x Module am335x_igep0034_defconfig
IGEP0034 SMARC AM335x Module lite  am335x_igep0034_lite_defconfig
IGEP0050 OMAP5 IGEPv5  

Stable U-Boot

The software git repository is located here.

U-boot: OMAP3 boards, OMAP5 boards, AM335x boards is located here.

U-boot: iMX6 boards is located here.

u-boot firmware binaries can be downloaded from here.

[EOL] For OMAP3 based platforms, ISEE do not support u-boot, instead of, ISEE provides The IGEP X-loader

u-boot Freescale-NXP iMX6 series

u-boot Texas Instruments AM335x, OMAP3, DM3730, OMAP5432 series