Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

The bootloader U-Boot

1,455 bytes removed, 16:27, 12 October 2023
Download Binary package
==Necessary package==
{| class="contenttable sortable"|In order to compile the u-!boot it is '''necessary''' to set up the Cross Compiler correctly. In this [[Set Up the Cross Compiler| post]] it is detailed how to set up correctly the Cross Compiler (and the desired version).!| {{Message/Information Message|message=The following steps has been tested using '''Ubuntu 16.04''' and the '''4.9 version''' of the '''arm-linux-|||||'''<span class="mw-|||||headline">'''gnueabihf''' compiler</span>}}
In order to install the Compiler we can use this command:
sudo apt install gcc-arm-linux-gnueabihf==Download & Prepare your U-BOOTBoot Source== Will  First of all, will be a distintion between '''NXP'''-processors products and '''ARM'''-processors products. Because there are different kinds of U-Boot depending of each processor.
{| class="contenttable sortable" style="width: 887px;"
|-
| style="width: 344px;"|<span style="color: #000000;">IGEPv2 DM3730</span>
| style="width: 527px;"|<span dir="auto">U-boot-ARM</span>
|-
| style="width: 344px;"|<span style="color: #000000;">IGEP COM MODULE </span>DM3730/AM3703
| style="width: 527px;"|<span dir="auto">U-boot-ARM</span> 
|-
| style="width: 344px;"|<span style="color: #000000;">IGEP COM AQUILA AM335x</span>
| style="width: 527px;"|<span style="color: #000000;"><span dir="auto">U-boot-ARM</span> </span>
|-
| style="width: 344px;"|<span style="color: #000000;">IGEPv5 OMAP5432</span>
| style="width: 527px;"|<span dir="auto">U-boot-ARM</span> 
|-
| style="width: 344px;"|<span style="color: #000000;">IGEP SMARC AM335x</span>
| style="width: 527px;"|<span dir="auto">ARM</span>|U-boot-| style="width: 344px;"|<span style="color: #000000;">IGEP SMARC AM335x Lite</span>| style="width: 527px;"|<span dir="auto">ARM</span>|-| style="width: 344px;"|<span style="color: #000000;">IGEP SMARC iMX6 Solo</span>| style="width: 527px;"|Freescale-NXP|-| style="width: 344px;"|<span style="color: #000000;">IGEP SMARC iMX6 Dual Lite</span>| style="width: 527px;"|Freescale-NXP|-| style="width: 344px;"|<span style="color: #000000;">IGEP SMARC iMX6 Dual</span>| style="width: 527px;"|Freescale-NXP 
|-
| style="width: 344px;"|<span style="color: #000000;">IGEP SMARC iMX6 QuadiMX6 </span>| style="width: 527px;"|<span dir="auto">U-boot-</span>Freescale-NXP
|}
Once we know which U-Boot have we will clone the corresponding git repository
===<span dir="auto">* Once we know which U-Boot '''ARM''' Serie</span>===<div class="clearfix">First have we will download clone the U-Boot file for be able to make the configuration.</div><div class="clearfix"></div>{| class="contenttable sortable" style="width: 888px; height: 327px;"|- style="height: 28px;"! style="width: 862px; height: 28px; text-align: center; vertical-align: middle;" colspan="2"|====Downloading binary files====|- style="height: 35.5781px;"! style="background-color: #ffffff; height: 35corresponding git repository.5781px; width: 213px;"|'''<span id="Clone_the_u-boot_repo" class="mw-headline">Clone the u-boot repo</span>'''| style="width: 640px; height: 44px;"|Clone the u-boot repository using git address:
<span style="color: #002d87;"><code><span style="color: #002d87;">$ git@git.isee.biz:arm-boot/u-boot-arm.git</span></code></span> 
or====<span dir="auto">U-Boot '''ARM''' Series</span>====: If we have an ARM series we will follow this table to get our source of U-Boot{| class="contenttable sortable" style="width: 881px; height: 298px;"|- style="height: 16.5781px;"! style="width: 855px; height: 16.5781px; text-align: center; vertical-align: middle;" colspan="2"|'''Downloading binary files/U-Boot Source'''|- style="height: 44px;"! style="background-color: #ffffff; width: 225px; height: 44px;"|'''<span id="Clone_the_u-boot_repo" class="mw-headline">Clone the u-boot repository</span>'''| style="width: 621px; height: 44px;"|Clone the u-boot repository using git address:
 <code><span style="color: #002d87000000;">$ git clone </spancode> [httpsgit clone https://git.isee.biz/arm-boot/u-boot-arm.git https://git.isee.bizcgit/arm-boot/u-boot-arm.git]</code></span>
|- style="height: 110px;"
! style="background-color: #ffffff; width: 225px; height: 110px; width: 213px;"|<span id="Checkout_u-boot_repo" class="mw-headline">Checkout u-boot repo repository</span>| style="width: 640px621px; height: 110px;"|
Go to the u-boot-arm directory and checkout the isee_v2017.03 as:
<span style="color: #002d87; font-family: Verdana, Arial, Helvetica, sans-serif; white-space: normal;"><code><span style="color: #002d87;">$ <span style="color: #000000;">cd u-boot-arm</span></span></code></span>
<span style="color: #002d87; font-family: Verdana, Arial, Helvetica, sans-serif; white-space: normal000000;"><code><span style="color: #002d87;">$ git checkout remotes/origin/-b isee_v2017.03 -b 03 origin/isee_v2017.03</span></code> </span>
|}
====<span dir="auto">U-Boot '''Freescale-NXP ''' Serie</span>====<div class="clearfix">First : If we have an Freescale-NXP series we will download the follow this table to get our source of U-Boot file for be able to make the configuration.</div>{| class="contenttable sortable" style="font-sizewidth: 15.024px883px; widthheight: 881px263px;"
|- style="height: 22px;"
! style="width: 851px849px; height: 22px; text-align: center; vertical-align: middle;" colspan="2"|===='''Downloading binary files====/U-Boot Source'''
|- style="height: 44px;"
! style="background-color: #ffffff; width: 205px223px;"|'''<span id="Clone_the_u-boot_repo" class="mw-headline">Clone the u-boot reporepository</span>'''| style="width: 646px626px; height: 44px;"|<span style="color: #000000;">Clone the u-boot repository using git address:</span>
<span style="color: #002d87000000;"><code><span style="color: #002d87;">$ git clone git@https://git.isee.biz:/cgit/arm-boot/u-boot-imx.git</span></code></span>
or|- style="height: 89px;"! style="background-color: #ffffff; width: 223px;"|'''<span id="Checkout_u-boot_repo" class="mw-headline">Checkout u-boot repository</span>'''| style="width: 626px; height: 89px;"|<span style="color: #000000;">Go to the u-boot-imx directory and checkout the isee_imx_v2017.03.y as:</span>
 <code><span style="color: #002d87000000;">$ git clone</spancode> [https://git.isee.biz/arm-boot/cd u-boot-imx.git https:<//git.isee.biz/arm-boot/u-boot-imx.git]code></codespan>
|- <span style="height: 89px;"! style="background-color: #ffffff; width: 205px000000;"|'''><span id="Checkout_ucode>git checkout origin/isee_imx_v2017.03_4.9.11_1.0.0_ga -boot_repo" class="mw-headline"b isee_imx_v2017.03_4.9.11_1.0.0_ga </code>Checkout u-boot repo </span>'''| style="width: 646px; height: 89px;"|Go to the u-boot-imx directory and checkout the version 2015.04.y as:
<span style="color: #002d87;"><code><span style="color: #002d87;">$ cd u-boot-imx</span></code></span>|}
<span style="color: #002d87;"><code><span style="color: #002d87;">$ git checkout remotes/origin/isee_imx_v2017.03_4.9.11_1.0.0_ga Prepare your U-BOOT==Once we have downloaded the U-b isee_imx_v2017Boot source.03_4.9.11_1We will '''execute''' the file called '''defconfig''' (default configuration) that it variates in function of each model.0.0_ga</span></code> </span>
|}In order to load the default configuration of the target board, we have to write the following command:
Once we have downloaded we will execute <span style="color: #000000;"> make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- [your_defconfig]</span>* In the file called '''defconfig,''' that following table it variates in function can be found the name of each model.default configuration associated to each IGEP PROCESSORS BOARDS:
{| class="contenttable sortable" style="width: 882px872px; height: 1296px317px;"
|-
! style="width: 854px; text-align: center; vertical-align: middle196px;" colspan|Module! style="3width: 10px;"|Defconfig===<span id! style="Set_the_board_configurationwidth: 644px;" 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>===|Example
|-
! | style="background-color: #f2f2f2; width: 227px196px;"|ModelIGEPv2 DM3730! | style="background-color: #f2f2f2; width: 48px10px;"|defconfigigep0020_defconfig! | style="width: 579px644px; background-"|<span style="color: #f2f2f2000000;"|Example><code>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0020_defconfig</code></span>
|-
! | style="background-color: #ffffff; width: 227px196px;"|IGEPv2 DM3730IGEP COM MODULE DM3730/AM3703| style="background-color: #ffffff; width: 48px; text-align: center; vertical-align: middle10px;"|igep0020_defconfigigep0030_defconfig| style="width: 579px644px;"| <span style="color: #002d87000000;">$ <code>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0020_defconfig igep0030_defconfig</code></span>
|-
! | style="background-color: #ffffff; width: 227px196px;"|IGEP COM Module DM3730/AM3703AQUILA AM335x| style="background-color: #ffffff; width: 48px; text-align: center; vertical-align: middle10px;"|igep0030_defconfigam335x_igep0033_defconfig | style="width: 579px644px;"| <span style="color: #002d87000000;">$ <code>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0030_defconfig  am335x_igep0033_defconfig</span>|-! style="background-color: #ffffff; width: 227px;"|IGEP COM AQUILA AM335x| style="background-color: #ffffff; width: 48px; text-align: center; vertical-align: middle;"|am335x_igep0033_defconfig| style="width: 579px;"| <span style="color: #002d87;"code>$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_igep0033_defconfig</span>
|-
! | style="background-color: #ffffff; width: 227px196px;"|IGEPv5 OMAP5432| style="background-color: #ffffff; width: 48px; text-align: center; vertical-align: middle10px;"| | style="width: 579px644px;"| <span style="color: #002d87000000;"><code>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf--</code></span>
|-
! | style="background-color: #ffffff; width: 227px196px;"|IGEP SMARC AM335x AM335x| style="background-color: #ffffff; width: 48px; text-align: center; vertical-align: middle10px;"|am335x_igep0034_defconfig| style="width: 579px644px;"| <span style="color: #002d87000000;">$ <code>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_igep0034_defconfig</code></span>
|-
! | style="background-color: #ffffff; width: 227px196px;"|'''IGEP0046 IGEP SMARC iMX6 Solo'''/Dual Lite| style="background-color: #ffffff; width: 48px; text-align: center; vertical-align: middle10px;"| igep0046_imx6dl_2G_defconfig| style="width: 579px644px;"| <span style="color: #002d87000000;">$ <code>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xxxxx  igep0046_imx6dl_2G_defconfig</code></span>
|-
! | style="background-color: #ffffff; width: 227px196px;"|'''IGEP0046 IGEP SMARC iMX6 Dual lite'''/ Quad| style="background-color: #ffffff; width: 48px; text-align: center; vertical-align: middle10px;"|igep0046_imx6dl_2G_defconfigigep0046_imx6q_2G_defconfig| style="width: 579px644px;"| <span style="color: #002d87000000;">$ <code>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0046_imx6dl_2G_defconfig igep0046_imx6q_2G_defconfig</span><span style="color: #002d87;"code> </span>
|-
! | style="background-color: #ffffff; width: 227px196px;"| '''IGEP0046 IGEP SMARC Dual '''iMX6 Ultra-Lite / Ultra Ultra-Lite| style="background-color: #ffffff; width: 48px; text-align: center; vertical-align: middle10px;"| igep0146_imx6ul_512M_defconfig| style="width: 579px644px;"|<span style="color: #002d87000000;"> </span> <span style="color: #002d87;"code>$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xxxxxigep0146_imx6ul_512M_defconfig<br /span><span style="color: #002d87;"> </span>|-! style="background-color: #ffffff; width: 227px;"| '''IGEP0046 SMARC Quad'''| style="background-color: #ffffff; width: 48px; text-align: center; vertical-align: middle;"|igep0046_imx6q_2G_defconfig| style="width: 579px;"| <span style="color: #002d87;"code> $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0046_imx6q_2G_defconfig</span>
|}
==Build your U-BOOT==
After running the defconfig. You can build the U-Boot by executing this command:
====<span id="Build_u-boot" class="mw-headline">Build u-boot</span>====After running the defconfig. You can build u-boot by executing this command:  <span style="color: #002d87;"><code> <span style="color: #002d87000000;">$ make  make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-</span></code></span>   * The result for '''Texas Instruments''' processor based board Once the compile process has sucesfully finished, we will be a '''MLO''' and '''find the resulting files inside the u-bootroot folder.img'''.* The result for <strong style="font-size: 0.939em;">iMX6 </strong><span style="font-size: 0.939em;">Depending on the processor based the generated files will be a </span><strong style="font-sizedifferent: 0.939em;">u-boot.imx.</strong>
* The result for '''ARM''' processor based board will be a '''MLO''' and '''u-boot.img'''.
* The result for '''Freescale'''-'''NXP'''<strong style="font-size: 0.939em;"> </strong><span style="font-size: 0.939em;">processor based will be a </span><strong style="font-size: 0.939em;">u-boot.imx.</strong>
You can install these files, for example, in the boot partition of a SD-card.  
===<span id="What_next..." class="mw-headline">What next...</span>===After build u-boot you Finally we can use it for copy this files in a '''boot the boarddevice''', exist several options for bootexample, check a microSD Memory Card. It is explained in the Hardware Reference Manual about the options available for your boardfollowing [[How to prepare a bootable MicroSD Card|post]].
* {{Message/Information Message|title=TITLE|message= <span style="color: #000000;">In case of the Freescale-NXP Porcessor Boards, it is not possible to copy directly the u-boot.imx file. It is necessary to copy in the first blocks of the boot device using the dd command. It is explained in the following post [[How to boot from prepare a bootable MicroSD Card|Boot from How to prepare a bootable MicroSD Card.]]* Boot from NAND flash.* Boot from eMMC.* Boot from USB.* Boot from Network.</span>}}
==<span style="color: #999999;">u-boot Freescale-NXP iMX6 series</span>==
* <span style="color: #999999;">[[U-boot Freescale-NXP iMX6 Series|u-boot Freescale-NXP iMX6 Series]]</span>
==<span style="color: #999999;">u-boot Texas Instruments AM335x, OMAP3, DM3730, OMAP5432 series</span>Download Binary package==* <span style="color[http: #999999;">[[u-boot_Texas_Instruments_Series|u-boot Texas Instruments Series//downloads.isee.biz/ You can download binary packages from here.]]</span>
==<span styleid="color: #999999;What_next..."class="mw-headline">What next...</span>==After build u-boot you have to download and compile [[Category:U-BootLinux Kernel 4.9.y|kernel]]</span>