Difference between revisions of "The bootloader U-Boot"

From IGEP - ISEE Wiki

Jump to: navigation, search
Line 16: Line 16:
 
==Necessary package==
 
==Necessary package==
 
==Download & Prepare your U-BOOT==
 
==Download & Prepare your U-BOOT==
======<span dir="auto">U-Boot Freescale-NXP iMX6 Series</span>======
+
====<span dir="auto">U-Boot Freescale-NXP iMX6 Series</span>====
 
 
 
{| class="contenttable sortable" style="width: 886px;"
 
{| class="contenttable sortable" style="width: 886px;"
 
|- style="height: 22px;"
 
|- style="height: 22px;"
! style="width: 871px; height: 22px;" colspan="2"|
+
! style="width: 871px; height: 22px; text-align: center; vertical-align: middle;" colspan="2"|
 
=====Downloading binary files=====
 
=====Downloading binary files=====
 
|- style="height: 44px;"
 
|- style="height: 44px;"
| style="width: 268px; height: 44px;"|
+
! style="background-color: #ffffff;"|
 
======<span id="Clone_the_u-boot_repo" class="mw-headline">Clone the u-boot repo</span>======
 
======<span id="Clone_the_u-boot_repo" class="mw-headline">Clone the u-boot repo</span>======
 
| style="width: 603px; height: 44px;"|
 
| style="width: 603px; height: 44px;"|
Line 31: Line 30:
  
 
|- style="height: 89px;"
 
|- style="height: 89px;"
| style="width: 268px; height: 89px;"|
+
! style="background-color: #ffffff;"|
 
======<span id="Checkout_u-boot_repo" class="mw-headline">Checkout u-boot repo </span>======
 
======<span id="Checkout_u-boot_repo" class="mw-headline">Checkout u-boot repo </span>======
 
<span id="Checkout_u-boot_repo" class="mw-headline">Go to the u-boot-imx directory and checkout the version 2015.04.y as:</span>
 
<span id="Checkout_u-boot_repo" class="mw-headline">Go to the u-boot-imx directory and checkout the version 2015.04.y as:</span>
 +
| style="width: 603px; height: 89px;"|
 +
Go to the u-boot-imx directory and checkout the version 2015.04.y as:
 +
 +
$ cd u-boot-imx<br />$ 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
  
| style="width: 603px; height: 89px;"|$ cd u-boot-imx<br />$ 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
 
 
|}
 
|}
  
{| class="contenttable sortable" style="width: 886px;"
+
{| class="contenttable sortable" style="width: 884px;"
 
|-
 
|-
! style="width: 871px;" colspan="2"|
+
! style="width: 858px; text-align: center; vertical-align: middle;" colspan="2"|
=====<span id="Set_the_board_configuration" class="mw-headline">Set the board configuration</span>=====
+
=====<span id="Set_the_board_configuration" class="mw-headline">Set the board</span><span id="Set_the_board_configuration" class="mw-headline"> configuratio</span><span id="Set_the_board_configuration" class="mw-headline">n</span>=====
 
|-
 
|-
| style="width: 213px;"|
+
| style="background-color: #ffffff; width: 267px;"|
======IGEP0046 SMARC Quad======
+
======'''IGEP0046 SMARC Quad'''======
| style="width: 658px;"|$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0046_imx6dl_2G_defconfig
+
| style="width: 598px;"|$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0046_imx6dl_2G_defconfig
 
|-
 
|-
| style="width: 213px;"|
+
| style="background-color: #ffffff; width: 267px;"|
======IGEP0046 SMARC Dual lite======
+
======'''IGEP0046 SMARC Dual lite'''======
| style="width: 658px;"|$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0046_imx6q_2G_defconfig
+
| style="width: 598px;"|$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0046_imx6q_2G_defconfig
 
|-
 
|-
| style="width: 213px;"|
+
| style="background-color: #ffffff; width: 267px;"|
======IGEP0046 SMARC Solo======
+
======'''IGEP0046 SMARC Solo'''======
| style="width: 658px;"|$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xxxxx
+
| style="width: 598px;"|$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xxxxx
 
|}
 
|}
  
Line 60: Line 62:
  
 
<code>$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-</code>
 
<code>$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-</code>
 +
 +
 +
 +
 +
 +
====<span dir="auto">U-Boot Texas Instruments Series</span>====
 +
<div id="bodyContent" class="clearfix"></div>
 +
<div class="clearfix">
 +
{| class="contenttable sortable" style="width: 887px;"
 +
|- style="height: 28.0313px;"
 +
! style="width: 854px; height: 28.0313px; text-align: center; vertical-align: middle;" colspan="2"|
 +
=====Downloading binary files=====
 +
|- style="height: 31px;"
 +
! style="background-color: #ffffff; height: 31px; width: 308px;"|
 +
======<span id="Clone_the_u-boot_repo" class="mw-headline">Clone the u-boot repo</span>======
 +
| style="width: 546px; height: 31px;"|
 +
Clone the u-boot repository using git address:<br />$ git@git.isee.biz:arm-boot/u-boot-arm.git<br />or
 +
 +
$ git clone[https://git.isee.biz/arm-boot/u-boot-arm.git https://git.isee.biz/arm-boot/u-boot-arm.git]
 +
 +
|- style="height: 110px;"
 +
! style="background-color: #ffffff; height: 110px; width: 308px;"|
 +
======<span id="Checkout_u-boot_repo" class="mw-headline">Checkout u-boot repo </span>======
 +
<span id="Checkout_u-boot_repo" class="mw-headline">Go to the u-boot-imx directory and checkout the version 2015.04.y as:</span>
 +
| style="width: 546px; height: 110px;"|
 +
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
 +
 +
|}</div>
 +
{| class="contenttable sortable" style="width: 887px;"
 +
|-
 +
! style="width: 853px; text-align: center; vertical-align: middle;" colspan="2"|
 +
=====<span id="Set_the_board_configuration" class="mw-headline">Set the board</span><span id="Set_the_board_configuration" class="mw-headline"> configuratio</span><span id="Set_the_board_configuration" class="mw-headline">n</span>=====
 +
|-
 +
! style="background-color: #ffffff; width: 307px;"|IGEP COM AQUILA RB11 (256MB RAM)
 +
| style="width: 546px;"|$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_igep0033_defconfig
 +
|-
 +
! style="background-color: #ffffff; width: 307px;"|IGEP COM PROTON OMAP3530 (IGEP0032)
 +
| style="width: 546px;"|$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0032_defconfig
 +
|-
 +
! style="background-color: #ffffff; width: 307px;"|IGEP SMARC AM335x (IGEP0034)
 +
| style="width: 546px;"|$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_igep0034_defconfig
 +
|-
 +
! style="background-color: #ffffff; width: 307px;"|IGEP SMARC AM335x (IGEP0034) Lite
 +
| style="width: 546px;"|$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_igep0034_lite_defconfig
 +
|-
 +
! style="background-color: #ffffff; width: 307px;"|IGEP COM Module DM3730 (IGEP0030)
 +
| style="width: 546px;"|$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0030_defconfig
 +
|-
 +
! style="background-color: #ffffff; width: 307px;"|IGEP COM Module DM3730 (IGEP0020)
 +
| style="width: 546px;"|$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0020_defconfig
 +
|}
 +
 +
 +
===<span id="Build_u-boot" class="mw-headline">Build u-boot</span>===
 +
You can build u-boot executing this command:
 +
 +
<code>$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-</code>
 +
 +
 +
 +
 +
 +
===<span id="What_next..." class="mw-headline">What next...</span>===
 +
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.
  
  

Revision as of 13:04, 4 May 2018

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:

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@git.isee.biz:arm-boot/u-boot-arm.git
or

$ git clonehttps://git.isee.biz/arm-boot/u-boot-arm.git

Checkout u-boot repo 

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

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 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  

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  

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