Please enable javascript, or click here to visit my ecommerce web site powered by Shopify.
Jump to: navigation, search

Difference between revisions of "Rockpi4/dev/u-boot"

< Rockpi4‎ | dev
Line 1: Line 1:
 
{{rockpi4_header}}
 
{{rockpi4_header}}
 
{{Languages|rockpi4/dev/u-boot}}
 
{{Languages|rockpi4/dev/u-boot}}
     [[rockpi4 | ROCK Pi 4]] > [[rockpi4/dev | Development]] > [[rockpi4/dev/u-boot | U-boot]]
+
     [[rockpi4 | ROCK Pi 4]] > [[rockpi4/dev | Development]] > [[rockpi4/dev/u-boot | U-Boot]]
  
=Build U-boot and run it on ROCK Pi4=
+
=== Build U-Boot and run it on ROCK Pi 4 ===
 +
 
 +
This guide describes how to build U-Boot  and run it on ROCK Pi 4. U-Boot images could be installed into eMMC, Micro SD card and SPI Flash, etc.
 +
 
 +
==== Hardware required ====
  
=== Requirement ===
 
 
* ROCK Pi 4 mainboard
 
* ROCK Pi 4 mainboard
* A EMMC module or a microSD card
+
* A eMMC module or a MicroSD card or SPI Flash soldered on board
 
* Power adapter
 
* Power adapter
* '''USB Male A to Male A cable'''(important) USB-C has been seen as not working, an adaptor for USB-C to USB-A has worked. [https://forum.radxa.com/t/otg-flashing-not-working/717 See discussion].
+
* '''USB Male A to Male A cable'''(important).
*A a PC/laptop running Linux
+
* A PC/laptop running Linux
 +
 
 +
==== Build U-Boot ====
  
==Step 1 Get the source code ==
+
===== Step 1: Get the source code =====
  
 
You need Git to get multiple git repositories to build the image.
 
You need Git to get multiple git repositories to build the image.
Line 18: Line 23:
 
Install Git if you don't have it.
 
Install Git if you don't have it.
  
     sudo apt-get update
+
     sudo apt-get update && sudo apt-get install -y git
    sudo apt-get install git
+
  
 
Clone the source code
 
Clone the source code
Line 42: Line 46:
 
** u-boot as the second stage bootloader
 
** u-boot as the second stage bootloader
  
==Step 2 Install tool-chain and other tools==
+
===== Step 2: Install tool-chain and other build tools =====
  
    sudo apt-get install gcc-aarch64-linux-gnu device-tree-compiler libncurses5 libncurses5-dev build-essential libssl-dev mtools
+
  sudo apt-get install -y gcc-aarch64-linux-gnu device-tree-compiler libncurses5 libncurses5-dev
    sudo apt-get install bc python dosfstools
+
  sudo apt-get install -y bc python dosfstools flex build-essential libssl-dev mtools
  
To build rkdeveloptool on a debain based Linux distribution, follow the instruction below:
+
===== Step 3: Build U-boot =====
  
Install build dependecy:
+
*If you use the ROCK Pi 4A
  sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf
+
  
Clone the source code and build:
+
   ./build/mk-uboot.sh rockpi4a
   git clone https://github.com/rockchip-linux/rkdeveloptool
+
  cd rkdeveloptool
+
  autoreconf -i
+
  ./configure
+
  make
+
  
If you encounter compile error like below
+
*If you use the ROCK Pi 4B
    ./configure: line 4269: syntax error near unexpected token `LIBUSB1,libusb-1.0'
+
    ./configure: line 4269: `PKG_CHECK_MODULES(LIBUSB1,libusb-1.0)'
+
  
 +
  ./build/mk-uboot.sh rockpi4b
  
You should install pkg-config libusb-1.0
+
*If you use the ROCK Pi 4C
    sudo apt-get install pkg-config libusb-1.0
+
  
Then re-run
+
  ./build/mk-uboot.sh rockpi4c
    autoreconf -i
+
    ./configure
+
    make
+
  
Now you have rkdeveloptool executable at the current directory.
+
And then you can get the directory, '''out''', of all the generated images.
  sudo cp rkdeveloptool /usr/local/bin/
+
  
==Step 3 Build U-boot==
+
==== Flash U-Boot ====
  
*If you use the ROCK Pi4 A
+
  
    ./build/mk-uboot.sh rockpi4a
+
====U-boot Usage====
  
*If you use the ROCK Pi4B
+
* [[Rockpi4/dev/u-boot/pxe | PXE boot]]
 +
* [[Rockpi4/Linux system runs on M.2 NVME SSD | SPI NVME boot]]
  
    ./build/mk-uboot.sh rockpi4b
+
==== FAQs ====
  
And then you can get the directory 'out'.
+
1. USB-C has been seen as not working, an adaptor for USB-C to USB-A has worked. [https://forum.radxa.com/t/otg-flashing-not-working/717 See discussion].
  
==Flash and run U-boot on ROCK Pi4==
+
==== Troubleshooting ====
  
Insert a empty EMMC module or microSD card on your ROCK Pi4
+
* Post your issue at the forum: https://forum.radxa.com/c/dev.
 
+
Use the USB Male A to Male A cable to connected your PC and ROCK Pi4 and then type
+
 
+
    rkdeveloptool ld
+
 
+
You can see the output just like this
+
 
+
    DevNo=1 Vid=0x2207,Pid=0x330c,LocationID=302 Maskrom
+
 
+
You can useing this command to flash U-boot
+
 
+
    cd ./out/u-boot
+
    sudo rkdeveloptool db ../../rkbin/bin/rk33/rk3399_loader_v1.12.112.bin
+
    sudo rkdeveloptool wl 0x40 idbloader.img
+
    sudo rkdeveloptool wl 0x4000 uboot.img
+
    sudo rkdeveloptool wl 0x6000 trust.img
+
    sudo rkdeveloptool rd
+
 
+
The U-boot were run on your ROCK Pi4 try to type 'help' or '?' to getting started!
+
 
+
=U-boot Usage=
+
 
+
* [[Rockpi4/dev/u-boot/pxe | PXE boot]]
+

Revision as of 10:11, 20 February 2020

    ROCK Pi 4 >  Development >  U-Boot

Build U-Boot and run it on ROCK Pi 4

This guide describes how to build U-Boot and run it on ROCK Pi 4. U-Boot images could be installed into eMMC, Micro SD card and SPI Flash, etc.

Hardware required

  • ROCK Pi 4 mainboard
  • A eMMC module or a MicroSD card or SPI Flash soldered on board
  • Power adapter
  • USB Male A to Male A cable(important).
  • A PC/laptop running Linux

Build U-Boot

Step 1: Get the source code

You need Git to get multiple git repositories to build the image.

Install Git if you don't have it.

   sudo apt-get update && sudo apt-get install -y git

Clone the source code

   git clone --recursive https://github.com/radxa/rockchip-bsp.git

You will get

   build  kernel  README.md  rkbin  rootfs  u-boot

Directories usage introductions:

  • build:
    • Some script files and configuration files for building u-boot, kernel and rootfs.
  • kernel:
    • kernel source code, current version is 4.4
  • rkbin:
    • Prebuilt Rockchip binaries, include first stage loader and ATF(Arm Trustzone Firmware).
  • rootfs:
    • Bootstrap a Debian based rootfs, support architechture armhf and arm64, support Debian Jessie and Stretch.
  • u-boot:
    • u-boot as the second stage bootloader
Step 2: Install tool-chain and other build tools
 sudo apt-get install -y gcc-aarch64-linux-gnu device-tree-compiler libncurses5 libncurses5-dev
 sudo apt-get install -y bc python dosfstools flex build-essential libssl-dev mtools
Step 3: Build U-boot
  • If you use the ROCK Pi 4A
 ./build/mk-uboot.sh rockpi4a
  • If you use the ROCK Pi 4B
 ./build/mk-uboot.sh rockpi4b
  • If you use the ROCK Pi 4C
 ./build/mk-uboot.sh rockpi4c

And then you can get the directory, out, of all the generated images.

Flash U-Boot

U-boot Usage

FAQs

1. USB-C has been seen as not working, an adaptor for USB-C to USB-A has worked. See discussion.

Troubleshooting