Personal tools

Log in

Changes

From IGEP - ISEE Wiki

Jump to: navigation, search

The bootloader U-Boot

195 bytes added, 13:21, 27 November 2018
Prepare your U-BOOT
==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 U-Boot Source==
 First of all, will be a distintion between '''NXP'''-processors products and '''ARM'''-processors products. Because there are different kinds of U-Boot depending the of each processor.  
{| class="contenttable sortable" style="width: 887px;"
| 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">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;"
Clone the u-boot repository using git address:
<span style="color: #002d87000000;"><code><span style="color: #002d87;">$ git clone git@git.isee.biz:arm-boot/u-boot-arm.git</span></code> </span> 
or
 <code><span style="color: #002d87000000;">$ git clone </spancode> git clone [https://git.isee.biz/arm-boot/u-boot-arm.git https][https://git.isee.biz/arm-boot/u-boot-arm.git ://git.isee.biz/arm-boot/u-boot-arm.git]</code></span>
|- style="height: 110px;"
Go to the u-boot-arm directory and checkout the isee_v2017.03 as:
<span style="color: #002d87;"><code><span style="color: #002d87;">$ <span style="color: #000000;">cd u-boot-arm</span></span></code></span>
<code><span style="color: #002d87000000;">$ <code>git checkout remotes/origin/isee_v2017.03 -b isee_v2017.03 </spancode></codespan>
|}
! style="background-color: #ffffff; width: 223px;"|'''<span id="Clone_the_u-boot_repo" class="mw-headline">Clone the u-boot repository</span>'''
| style="width: 626px; 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@git.isee.biz:arm-boot/u-boot-imx.git</span></code></span>
<span style="color: #000000;">or</span>
 <code><span style="color: #002d87000000;">$ git clone </spancode> git clone [https://git.isee.biz/arm-boot/u-boot-imx.git https://git.isee.biz/arm-boot/u-boot-imx.git]</code></span>
|- 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;">$ <code>cd u-boot-imx</spancode></codespan>
<code><span style="color: #002d87000000;">$ <code>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_ga0_ga </spancode> </codespan>
|}
 
==Prepare your U-BOOT==
In order to load the default configuration of the target board, we have to write the following command:
<span style="color: #002d87000000;"> $ make  make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-[your_defconfig]</span>
* In the following table it can be found the name of each default configuration associated to each IGEP PROCESSORS BOARDS:
| style="width: 196px;"|IGEPv2 DM3730
| style="width: 10px;"|igep0020_defconfig
| style="width: 644px;"|<code><span style="color: #002d87000000;">$ <code>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-igep0020_defconfig</spancode></codespan>
|-
| style="width: 196px;"|IGEP COM MODULE DM3730/AM3703
| style="width: 10px;"|igep0030_defconfig
| style="width: 644px;"|<span style="color: #002d87000000;"><code><span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-</span> igep0030_defconfig</code></span>
|-
| style="width: 196px;"|IGEP COM AQUILA AM335x
am335x_igep0033_defconfig
| style="width: 644px;"|<span style="color: #002d87000000;"><code><span style="color: #002d87;">$ make make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- </span> am335x_igep0033_defconfig</code></span>
|-
| style="width: 196px;"|IGEPv5 OMAP5432
| style="width: 10px;"| 
| style="width: 644px;"|<span style="color: #002d87000000;"><code><span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-</span></code></span>
|-
| style="width: 196px;"|IGEP SMARC AM335x
| style="width: 10px;"|am335x_igep0034_defconfig
| style="width: 644px;"|<span style="color: #002d87000000;"><code><span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-</span> am335x_igep0034_defconfig</code></span>
|-
| style="width: 196px;"|IGEP SMARC iMX6 Solo/Dual Lite
| style="width: 10px;"|igep0046_imx6dl_2G_defconfig
| style="width: 644px;"|<span style="color: #002d87000000;"><code><span style="color: #002d87;">$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-</span> igep0046_imx6dl_2G_defconfig</code></span>
|-
| style="width: 196px;"|IGEP SMARC iMX6 Dual/ Quad
| style="width: 10px;"|igep0046_imx6q_2G_defconfig
| style="width: 644px;"|<span style="color: #002d87000000;"><code>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- igep0046_imx6q_2G_defconfig</code></span>|-| style="width: 196px;"|IGEP SMARC iMX6 Ultra-Lite / Ultra Ultra-Lite| style="width: 10px;"|igep0146_imx6ul_512M_defconfig| style="width: 644px;"|<span style="color: #002d87000000;">$ <code>make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-igep0146_imx6ul_512M_defconfig<br /span></code></span>
|}
 
==Build your U-BOOT==
After running the defconfig. You can build the U-Boot by executing this command:
<span style="color: #002d87000000;"> $ make  make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-</span>
Once the compile process has sucesfully finished, we will find the resulting files inside the u-boot root folder. Depending on the processor the generated files will be different:
* 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>
Finally we can copy this file in a boot device, for example, a microSD Memory Card and power on the board.
Finally we can copy this files in a '''boot device''', for example, a microSD Memory Card. It is explained in the following [[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 linkpost [[How to prepare a bootable MicroSD Card|How to prepare a bootable MicroSD Card]].</span>}}
===<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. * have to download and compile [[How to boot from MicroSD Card|Boot from MicroSD Card.]]* Boot from NAND flashLinux Kernel 4.* Boot from eMMC9.* Boot from USB.* Boot from Network. ==<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>==* <span style="color: #999999;">[[u-boot_Texas_Instruments_Seriesy|u-boot Texas Instruments Series]]</span> <span style="color: #999999;">[[Category:U-Bootkernel]]</span>