Difference between revisions of "U-Boot"

From Rockchip open source Document
Jump to: navigation, search
Line 74: Line 74:
  
 
 
 
 
 +
  
 
= Build U-Boot =
 
= Build U-Boot =
Line 80: Line 81:
  
 
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
 
If you haven't done so before, get a suitable toolchain installed and added to your PATH.
 +
 +
In Ubuntu 14.04, you can use below command to install cross compiler for armv7:
 +
<pre>sudo apt-get install gcc-arm-linux-gnueabi</pre>
 +
 +
Or for ARM64
 +
<pre>sudo apt-get install gcc-aarch64-linux-gnu
 +
</pre>
 +
 +
== Build ==
 +
 +
For armv7:
 +
<pre>make CROSS_COMPILE=arm-linux-gnueabi-</pre>
 +
 +
or for ARM64:
 +
<pre>make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-</pre>
  
 
= U-Boot functions =
 
= U-Boot functions =
  
 
= Istall U-Boot =
 
= Istall U-Boot =

Revision as of 11:51, 8 March 2017

U-Boot Guide

Download U-Boot

Upstream U-Boot

You can clone the u-boot repository by running:

git clone git://git.denx.de/u-boot.git

Alternatively you can use u-boot-rockchip instead which may with some patches not get in mainline:

git clone git://git.denx.de/u-boot-rockchip.git

Rockchp U-Boot

You can clone the u-boot repository by running:

git clone https://github.com/rockchip-linux/u-boot.git

Supported Devices

Upstream U-Boot support Rockchip SoCs:

RK3036, RK3188, RK3288, RK3328, RK3399

 

  • RK3036 boards supported:
  1. EVB RK3036 - use evb-rk3036 configuration
  2. Kylin - use kylin_rk3036 configuration
  • RK3288 boards supported:
  1. EVB RK3288 - use evb-rk3288 configuration
  2. Fennec RK3288 - use fennec-rk3288 configuration
  3. Firefly RK3288 - use firefly-rk3288 configuration
  4. Hisense Chromebook - use chromebook_jerry configuration
  5. Miniarm RK3288 - use miniarm-rk3288 configuration
  6. PopMetal RK3288 - use popmetal-rk3288 configuration
  7. Radxa Rock 2 - use rock2 configuration
  8. ASUS Tinker
  • RK3188 boards supported:
  1. Radxa Rock - use rock configuration
  • RK3328 boards supported:
  1. EVB RK3328 - use evb-rk3328 configuration
  • RK3399 boards supported:
  1. EVB RK3399 - use evb-rk3399 configuration

 

Configure U-Boot

First you need to chose a correct defconfig for your board;

When you have determined what <board_name> you want to build, configure:

make CROSS_COMPILE=arm-linux-gnueabi- <board_name>_defconfig

You may need to change the U-Boot function/feature support by modify the defconfig file or,

there is also menuconfig to play with settings if you feel like it:

make CROSS_COMPILE=arm-linux-gnueabi- menuconfig

 


Build U-Boot

Get a toolchain

If you haven't done so before, get a suitable toolchain installed and added to your PATH.

In Ubuntu 14.04, you can use below command to install cross compiler for armv7:

sudo apt-get install gcc-arm-linux-gnueabi

Or for ARM64

sudo apt-get install gcc-aarch64-linux-gnu

Build

For armv7:

make CROSS_COMPILE=arm-linux-gnueabi-

or for ARM64:

make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-

U-Boot functions

Istall U-Boot