Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

The bootloader U-Boot

4,113 bytes added, 12:39, 7 May 2018
no edit summary
<span style="color: #000000;">That means that U-Boot is necessary to perform a certain task, but it's nothing you want to throw any significant resources at. Typically U-Boot is stored in relatively small NOR flash memory, which is expensive compared to the much larger NAND devices often used to store the operating system and the application.</span>
=How to cross compile the U-Boot=
<span style="color: #000000;">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-.</span>
<span style="color: #000000;">As example, once you've downloaded the u-boot source, you should follow these steps:</span>
 
<span style="color: #002d87;">make CROSS_COMPILE=[cross compiler] [board config]
make CROSS_COMPILE=[cross compiler]</span>
<span style="color: #000000;">The result will be a MLO and a u-boot.img file. You can install these files, for example, in the boot partition of a SD-card.</span>
==Necessary package==
==Download & Prepare your U-BOOT==
===<span dir="auto">U-Boot '''Freescale-NXP iMX6''' Series</span>==={| class="contenttable sortable" style="width: 886px;"|- style="height: 22px;"! style="width: 871px; height: 22px; text-align: center; vertical-align: middle;" colspan="2"|====Downloading binary files====|- style="height: 44px;"! style="background-color: #ffffff;"|'''<span id="Clone_the_u-boot_repo" class="mw-headline">Clone We will relate the u-boot repo</span>'''| style="width: 603px; height: 44px;"|<span style="color: #000000;">Clone the u-boot repository using git address:</span><br /><span style="color: #002d87;">$ git clone git@git.iseecommercial names with their technical names.biz:arm-boot/u-boot-imxIn order to send a clear message and not get confussions.git </span>
<span style="color: #000000;">or</span><br /><span style="color: #002d87;">$ git clone</span> [https://gitIn addition, will be a distintion between NXP products ( IGEP SMARC iMX6) and Texas products.isee.biz/arm-boot/u-boot-imx.git https://git.isee.biz/arm-boot/u-boot-imx.git]
{|- styleclass="height: 89px;contenttable sortable"|-! |'''Commercial Name'''!|'''Technical name'''|-| style="background-color: #fffffff2f2f2; text-align: center;" colspan="2"|'''Texas instruments'''|-||IGEPv2||<span idstyle="Checkout_ucolor: #002d87;">IGEP0020, DM3730</span>|-boot_repo" class||IGEP COM MODULE||<span style="mw-headlinecolor: #002d87;">Checkout u-boot repo IGEP0030, DM3730</span>'''| -||IGEP COM PROTON||<span style="widthcolor: 603px; height: 89px#002d87;">IGEP0032, OMAP3530</span>|-||IGEP COM AQUILA||<span style="color: #000000002d87;">Go to the u-boot-imx directory and checkout the version 2015.04.y as:IGEP0033, AM335x</span>|-||IGEPv5||<span style="color: #002d87;">$ cd u-boot-imxIGEP0050, OMAP5</span><br />|-||IGEP SMARC AM335x||<span style="color: #002d87;">$ 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_gaIGEP0034, AM335x</span>|-|}|IGEP SMARC AM335x Lite {| class|<span style="contenttable sortablecolor: #002d87;" >IGEP0034, Lite, AM335x</span>|-| style="widthbackground-color: #f2f2f2; text-align: 884pxcenter;"colspan="2"|'''Freescale-NXP'''
|-
! style="width: 858px; text-align: center; vertical-align: middle;" colspan="2"||IGEP SMARC iMX6 Solo====||<span idstyle="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-headlinecolor: #002d87;">nIGEP0046, IMX6XX</span>====
|-
| style="background-color: #ffffff; width: 267px;"|'''IGEP0046 IGEP SMARC Quad'''iMX6 Dual Lite| style="width: 598px;"|<span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0046_imx6dl_2G_defconfigIGEP0046, iMX6DL</span>
|-
| style="background-color: #ffffff; width: 267px;"|'''IGEP0046 IGEP SMARC iMX6 Dual lite'''| style="width: 598px;"|<span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0046_imx6q_2G_defconfigIGEP0046, iMX6XX</span>
|-
| style="background-color: #ffffff; width: 267px;"|'''IGEP0046 IGEP SMARC Solo'''iMX6 Quad| style="width: 598px;"|<span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xxxxxIGEP0046, iMX6Q</span>
|}
 
====<span id="Build_u-boot" class="mw-headline">Build u-boot</span>====
<span class="mw-headline">You can build u-boot executing this command:</span>
 
<span style="color: #002d87;"><code><span style="color: #002d87;">$</span> <span style="color: #002d87;">make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-</span></code></span>
 
 
 
===<span dir="auto">U-Boot '''Texas Instruments''' Series</span>===
<div idclass="bodyContentclearfix" >First we will download the U-Boot file for be able to make the configuration.</div><div class="clearfix"></div>
<div class="clearfix">
{| class="contenttable sortable" style="width: 886px882px;"
|- 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: 341px214px;"|'''<span id="Clone_the_u-boot_repo" class="mw-headline">Clone the u-boot repo</span>'''| style="width: 513px640px; height: 31px;"|Clone the u-boot repository using git address:<br /><span style="color: #002d87;">$ git clone @git.isee.biz:arm-boot/u-boot-arm.git</span><br />or
<span style="color: #002d87;">$ git clone [https://git clone @git.isee.biz/:arm-boot/u-boot-arm.git https://git.isee.biz</arm-boot/u-boot-arm.git]span>or
<span style="color: #002d87;">@@@PRE1@@@nbsp;git clone</span> <a class="external bs-external-link bs-protocol-https" title="https://git.isee.biz/arm-boot/u-boot-arm.git" href="https://git.isee.biz/arm-boot/u-boot-arm.git" data-bs-type="external_link" data-bs-wikitext="https://git.isee.biz/arm-boot/u-boot-arm.git%20https://git.isee.biz/arm-boot/u-boot-arm.git">https://git.isee.biz/arm-boot/u-boot-arm.git</a>
|- style="height: 110px;"
! style="background-color: #ffffff; height: 110px; width: 341px214px;"|'''<span id="Checkout_u-boot_repo" class="mw-headline">Checkout u-boot repo </span>'''| style="width: 513px640px; height: 110px;"|
Go to the u-boot-arm directory and checkout the isee_v2017.03 as:
<span style="color: #002d87;">$ cd u-boot-arm<br>$ git checkout remotes/origin/isee_v2017.03 -b isee_v2017.03</span>|} Once we have downloaded we will execute the file called '''defconfig,''' that it variates in function of each module. It's recommended to make a clean of console... 
<span style="color: #002d87;"> $ git checkout remotes/origin/isee_v2017.03 -b isee_v2017.03</span>make distclean
|}</div>{| class="contenttable sortable" style="width: 869px888px; height: 441px;"
|-
! style="width: 853px862px; 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(Prepare your U-BOOT)</span>====
|-
! style="background-color: #ffffff; width: 350px209px;"|IGEP COM AQUILA RB11 (256MB RAM)IGEPv2| style="width: 503px644px;"| <span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_igep0033_defconfig igep0020_defconfig</span>
|-
! style="background-color: #ffffff; width: 350px209px;"|IGEP COM PROTON OMAP3530 (IGEP0032)Module | style="width: 503px644px;"| <span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0032_defconfig igep0030_defconfig </span>
|-
! style="background-color: #ffffff; width: 350px209px;"|IGEP SMARC AM335x (IGEP0034)COM PROTON | style="width: 503px644px;"| <span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_igep0034_defconfig igep0032_defconfig</span>
|-
! style="background-color: #ffffff; width: 350px209px;"|IGEP SMARC AM335x (IGEP0034) LiteCOM AQUILA | style="width: 503px644px;"| <span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_igep0034_lite_defconfig am335x_igep0033_defconfig</span>
|-
! style="background-color: #ffffff; width: 350px209px;"|IGEP COM Module DM3730 (IGEP0030)IGEPv5| style="width: 503px644px;"| <span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0030_defconfig-</span>
|-
! style="background-color: #ffffff; width: 350px209px;"|IGEP COM Module DM3730 (IGEP0020)SMARC AM335x | style="width: 503px644px;"| <span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_igep0034_defconfig</span>|-! style="background-color: #ffffff; width: 209px;"|IGEP SMARC AM335x Lite| style="width: 644px;"| <span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0020_defconfig am335x_igep0034_lite_defconfig</span>
|}
The result for '''Texas Instruments''' processor based board will be a '''MLO''' and '''u-boot.img'''.
====<span id="Build_u-boot" class="mw-headline">Build u-boot</span>====
You can build u-boot executing this command:<span style="color: #ff0000;">COMPROVAR</span>
<span style="color: #002d87;"><code><span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-</span></code></span>
===<span dir="auto">U-Boot '''Freescale-NXP iMX6''' Series</span>===
<div class="clearfix">First we will download the U-Boot file for be able to make the configuration.</div>
{| class="contenttable sortable" style="font-size: 15.024px; width: 885px;"
|- style="height: 22px;"
! style="width: 851px; height: 22px; text-align: center; vertical-align: middle;" colspan="2"|
====Downloading binary files====
|- style="height: 44px;"
! style="background-color: #ffffff; width: 203px;"|'''<span id="Clone_the_u-boot_repo" class="mw-headline">Clone the u-boot repo</span>'''
| style="width: 648px; height: 44px;"|Clone the u-boot repository using git address:<br />
<span style="color: #002d87;">$ git clone git@git.isee.biz:arm-boot/u-boot-imx.git </span>
or
 
<span style="color: #002d87;">$ git clone</span> <a class="external bs-external-link bs-protocol-https" title="https://git.isee.biz/arm-boot/u-boot-imx.git" href="https://git.isee.biz/arm-boot/u-boot-imx.git" data-bs-type="external_link" data-bs-wikitext="https://git.isee.biz/arm-boot/u-boot-imx.git%20https://git.isee.biz/arm-boot/u-boot-imx.git">https://git.isee.biz/arm-boot/u-boot-imx.git</a>
|- style="height: 89px;"
! style="background-color: #ffffff; width: 203px;"|'''<span id="Checkout_u-boot_repo" class="mw-headline">Checkout u-boot repo </span>'''
| style="width: 648px; height: 89px;"|Go to the u-boot-imx directory and checkout the version 2015.04.y as:<br />
<span style="color: #002d87;">$ cd u-boot-imx</span><br><span style="color: #002d87;">$ 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</span>
|}
Once we have downloaded we will execute the file called '''defconfig,''' that it variates in function of each module. It's recommended to make a clean of console... 
 
$ make distclean
{| class="contenttable sortable" style="font-size: 15.024px; width: 881px;"
|-
! style="width: 865px; 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: 208px;"|'''IGEP0046 SMARC Solo'''
| style="width: 657px;"|
<span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xxxxx </span>
|-
| style="background-color: #ffffff; width: 208px;"|'''IGEP0046 SMARC Dual lite'''
| style="width: 657px;"|
<span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0046_imx6dl_2G_defconfig</span>
|-
| style="background-color: #ffffff; width: 208px;"|'''IGEP0046 SMARC Dual '''
| style="width: 657px;"|
<span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xxxxx</span>
|-
| style="background-color: #ffffff; width: 208px;"|'''IGEP0046 SMARC Quad'''
| style="width: 657px;"|
<span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0046_imx6q_2G_defconfig</span>
|}
 
The result for '''iMX6 '''processor based will be a '''u-boot.imx.'''
 
====<span id="Build_u-boot" class="mw-headline">Build u-boot</span>====
<div style="font-size: 15.024px;">You can build u-boot executing this command: <span style="color: #ff0000;">COMPROVAR</span></div>
<div style="font-size: 15.024px;"><span style="color: #002d87;"><code><span style="color: #002d87;">$</span> <span style="color: #002d87;">make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-</span></code></span></div>
For both processors we can do...
===<span id="What_next..." class="mw-headline">What next...</span>===
==<span style="color: #999999;">Configurations files</span>==<span style="color: #999999;">The result for '''iMX6 '''processor based will be a '''u-boot.imx.'''</span>
{| class="contenttable sortable" style="font-size: 15.024px; width: 889px;"
|-
! style="width: 361px;"|<span style="color: #999999;">Modules</span>! style="width: 361px;"|<span style="color: #999999;">Files</span>
|-
! style="background-color: #ffffff; width: 361px; text-align: left;"|<span style="color: #999999;">IGEP0046 SMARC iMX6 Duallite 2GB</span>| style="background-color: #ffffff; width: 361px; text-align: left;"|<span style="color: #002d87999999;">igep0046_imx6dl_2G_defconfig </span>
|-
! style="background-color: #ffffff; width: 361px; text-align: left;"|<span style="color: #999999;">IGEP0046 SMARC iMX6 DUAL</span>
| style="background-color: #ffffff; width: 361px; text-align: left;"| 
|-
! style="background-color: #ffffff; width: 361px; text-align: left;"|<span style="color: #999999;">IGEP0046 SMARC iMX6 QUAD</span>| style="background-color: #ffffff; width: 361px; text-align: left;"|<span style="color: #002d87999999;">igep0046_imx6q_2G_defconfig''' '''</span>
|-
! style="background-color: #ffffff; width: 361px; text-align: left;"|<span style="color: #999999;">'''IGEP0046 SMARC iMX6 SOLO'''</span>
| style="background-color: #ffffff; width: 361px; text-align: left;"| 
|}
<span style="color: #999999;">The result for '''Texas Instruments''' processor based board will be a '''MLO''' and '''u-boot.img'''. (COMPROVAR)</span>
{| class="contenttable sortable" style="width: 889px;"
|-
! style="width: 358px;"|
<span style="color: #999999;">Modules</span>
! style="width: 513px;"|<span style="color: #999999;">"Files"</span>
|-
! style="background-color: #ffffff; text-align: left;"|<span style="color: #999999;">IGEP0030 DM3730 Module</span>| style="width: 513px;"|<span style="color: #002d87999999;">igep0030_defconfig</span>
|-
! style="background-color: #ffffff; text-align: left;"|<span style="color: #999999;">IGEP0020 DM3730 IGEPv2</span>| style="width: 513px;"|<span style="color: #002d87999999;">igep0020_defconfig</span>
|-
! style="background-color: #ffffff; text-align: left;"|<span style="color: #999999;">IGEP0033 AM335x AQUILA Module</span>| style="width: 513px;"|<span style="color: #002d87999999;">am335x_igep0033_defconfig</span>
|-
! style="background-color: #ffffff; text-align: left;"|<span style="color: #999999;">IGEP0032 OMAP3530 PROTON Module</span>| style="width: 513px;"|<span style="color: #002d87999999;">igep0032_defconfig</span>
|-
! style="background-color: #ffffff; text-align: left;"|<span style="color: #999999;">IGEP0034 SMARC AM335x Module</span>| style="width: 513px;"|<span style="color: #002d87999999;">am335x_igep0034_defconfig</span>
|-
! style="background-color: #ffffff; text-align: left;"|<span style="color: #999999;">IGEP0034 SMARC AM335x Module lite</span>| style="width: 513px;"|<span style="color: #002d87999999;"> am335x_igep0034_lite_defconfig</span>
|-
! style="background-color: #ffffff; text-align: left;"|<span style="color: #999999;">IGEP0050 OMAP5 IGEPv5</span>
| style="width: 513px;"| 
|}
<span style="font-size: 28.2451px; color: #000000;">Stable U-Boot</span>
<span style="color: #000000;">The software git repository is located [https://git.isee.biz/arm-boot here].</span>
<span style="color: #000000;">U-boot: OMAP3 boards, OMAP5 boards, AM335x boards is located [https://git.isee.biz/arm-boot/u-boot-arm here].</span>
<span style="color: #000000;">U-boot: iMX6 boards is located [https://git.isee.biz/arm-boot/u-boot-imx here].</span>
<span style="color: #000000;">u-boot firmware binaries can be downloaded from here.</span>
<span style="color: #000000;">[EOL] For OMAP3 based platforms, ISEE do not support u-boot, instead of, ISEE provides [[The IGEP X-loader]]</span>
=<span style="color: #999999;">How to cross compile the U-Boot</span>=<div style="font-size: 15.024px;"><span style="color: #999999;">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-.</span></div><div style="font-size: 15.024px;"><span style="color: #999999;">As example, once you've downloaded the u-boot source, you should follow these steps:</span></div> <span style="color: #999999;">make CROSS_COMPILE=[cross compiler] [board config] make CROSS_COMPILE=[cross compiler]</span><div style="font-size: 15.024px;"><span style="color: #999999;">The result will be a MLO and a u-boot.img file. You can install these files, for example, in the boot partition of a SD-card.</span></div>==<span style="color: #808080999999;">u-boot Freescale-NXP iMX6 series</span>==* <span style="color: #808080999999;">[[U-boot Freescale-NXP iMX6 Series|u-boot Freescale-NXP iMX6 Series]]</span>
==<span style="color: #808080999999;">u-boot Texas Instruments AM335x, OMAP3, DM3730, OMAP5432 series</span>==* <span style="color: #808080999999;">[[u-boot_Texas_Instruments_Series|u-boot Texas Instruments Series]]</span>
<span style="color: #999999;">[[Category:U-Boot]]</span>
560
edits