Difference between revisions of "Rockpi4/dev/u-boot"
(Created page with "{{rockpi4_header}} {{Languages|rockpi4/dev/u-boot}} ROCK Pi 4 > Development > U-boot") |
(U-boot) |
||
Line 2: | Line 2: | ||
{{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= | ||
+ | |||
+ | === Requirement === | ||
+ | * ROCK Pi 4 mainboard | ||
+ | * A EMMC module or a microSD card | ||
+ | * 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]. | ||
+ | *A a PC/laptop running Linux | ||
+ | |||
+ | ==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 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 tools== | ||
+ | |||
+ | sudo apt-get install gcc-aarch64-linux-gnu device-tree-compiler libncurses5 libncurses5-dev build-essential libssl-dev mtools | ||
+ | sudo apt-get install bc python dosfstools | ||
+ | |||
+ | To build rkdeveloptool on a debain based Linux distribution, follow the instruction below: | ||
+ | |||
+ | Install build dependecy: | ||
+ | sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf | ||
+ | |||
+ | Clone the source code and build: | ||
+ | git clone https://github.com/rockchip-linux/rkdeveloptool | ||
+ | cd rkdeveloptool | ||
+ | autoreconf -i | ||
+ | ./configure | ||
+ | make | ||
+ | |||
+ | If you encounter compile error like below | ||
+ | ./configure: line 4269: syntax error near unexpected token `LIBUSB1,libusb-1.0' | ||
+ | ./configure: line 4269: `PKG_CHECK_MODULES(LIBUSB1,libusb-1.0)' | ||
+ | |||
+ | |||
+ | You should install pkg-config libusb-1.0 | ||
+ | sudo apt-get install pkg-config libusb-1.0 | ||
+ | |||
+ | Then re-run | ||
+ | autoreconf -i | ||
+ | ./configure | ||
+ | make | ||
+ | |||
+ | Now you have rkdeveloptool executable at the current directory. | ||
+ | sudo cp rkdeveloptool /usr/local/bin/ | ||
+ | |||
+ | ==Step 3 Build U-boot== | ||
+ | |||
+ | *If you use the ROCK Pi4 A | ||
+ | |||
+ | ./build/mk-uboot.sh rockpi4a | ||
+ | |||
+ | *If you use the ROCK Pi4B | ||
+ | |||
+ | ./build/mk-uboot.sh rockpi4b | ||
+ | |||
+ | And then you can get the directory 'out'. | ||
+ | |||
+ | ==Flash and run U-boot on ROCK Pi4== | ||
+ | |||
+ | Insert a empty EMMC module or microSD card on your ROCK Pi4 | ||
+ | |||
+ | 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 |
Revision as of 12:08, 10 July 2019
ROCK Pi 4 > Development > U-boot
Contents
Build U-boot and run it on ROCK Pi4
Requirement
- ROCK Pi 4 mainboard
- A EMMC module or a microSD card
- 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. See discussion.
- A a PC/laptop running Linux
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 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 tools
sudo apt-get install gcc-aarch64-linux-gnu device-tree-compiler libncurses5 libncurses5-dev build-essential libssl-dev mtools sudo apt-get install bc python dosfstools
To build rkdeveloptool on a debain based Linux distribution, follow the instruction below:
Install build dependecy:
sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf
Clone the source code and build:
git clone https://github.com/rockchip-linux/rkdeveloptool cd rkdeveloptool autoreconf -i ./configure make
If you encounter compile error like below
./configure: line 4269: syntax error near unexpected token `LIBUSB1,libusb-1.0' ./configure: line 4269: `PKG_CHECK_MODULES(LIBUSB1,libusb-1.0)'
You should install pkg-config libusb-1.0
sudo apt-get install pkg-config libusb-1.0
Then re-run
autoreconf -i ./configure make
Now you have rkdeveloptool executable at the current directory.
sudo cp rkdeveloptool /usr/local/bin/
Step 3 Build U-boot
- If you use the ROCK Pi4 A
./build/mk-uboot.sh rockpi4a
- If you use the ROCK Pi4B
./build/mk-uboot.sh rockpi4b
And then you can get the directory 'out'.
Flash and run U-boot on ROCK Pi4
Insert a empty EMMC module or microSD card on your ROCK Pi4
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