前言

linux系统配置安装自行学习

toolchain

下载 & 解压

这里选择 7.2 版本 gcc,可根据自己需求选择

1
2
wget https://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/aarch64-linux-gnu/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz
tar -xvf gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz

配置环境变量

1
2
3
vim ~/.bashrc
export PATH=$PATH:$your_toolchain_path/bin
source ~/.bashrc

检查是否成功配置

1
aarch64-linux-gnu-gcc -v

uboot

uboot 下载

选择 rockchip 提供的 uboot

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

rkbin 下载

1
git clone https://github.com/rockchip-linux/rkbin.git

目录架构

rkbin 与 uboot 同级

1
2
├── rkbin
├── u-boot

uboot 编译

使用 rk3399_defconfig 配置文件

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

执行编译脚本

1
./make.sh

这里会出现报错

1
2
./make.sh: line 272: cd: ../prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin: No such file or directory
ERROR: No find /home/mo/develop/som-rk3399/sdk/uboot/u-boot-next-dev/aarch64-linux-gnu-gcc

这个错误是因为编译脚本找不到 toolchain, 需要修改一下编译脚本, 重定向 toolchain path

1
2
3
if grep -q '^CONFIG_ARM64=y' .config ; then
# CROSS_COMPILE_ARM64=$(cd `dirname ${CROSS_COMPILE_ARM64}`; pwd)"/aarch64-linux-gnu-"
CROSS_COMPILE_ARM64="aarch64-linux-gnu-"

再次执行编译脚本即可编译成功

1
./make.sh

uboot 烧录

使用 rkbin 下的 upgrade_tools 工具进行烧录

1
2
3
4
5
sudo ../rkbin/tools/upgrade_tool ul rk3399_loader_v1.30.130.bin
sudo ../rkbin/tools/upgrade_tool di -p parameter.txt
sudo ../rkbin/tools/upgrade_tool di uboot uboot.img
sudo ../rkbin/tools/upgrade_tool di trust trust.img
sudo ../rkbin/tools/upgrade_tool RD