Hi3519DV500_Uboot编译及环境搭建
1、编译前准备环境(相关软件包的安装)
步骤1:配置默认使用bash
sudo dpkg-reconfigure dash
//选择no
步骤2:安装软件包
sudo apt-get install make libc6-i386 lib32z1 lib32stdc++6 zlib1g-dev libncurses5-dev ncurses-term libncursesw5-dev g++ u-boot-tools texinfo gawk libssl-dev openssl bc p7zip-full gperf bison flex diffutils git unzip libffi-dev libtool libfreetype6
步骤3:创建/etc/ld.so.preload 文件
touch /etc/ld.so.preload
sudo echo "" > /etc/ld.so.preload
//解决64bit linux server上某些第三方库编译失败的问题
步骤4:安装mtd-utils依赖以下几个库
sudo apt-get install zlib1g-dev liblzo2-dev uuid-dev pkg-config automake
步骤5:设置pkg-config工具搜索路径
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/lib/x86_64-linux-gnu/pkgconfig"
步骤6:安装e2fsprogs依赖texlive库
sudo apt-get install texlive
步骤7:安装python3
//先从网站下载安装包
//https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz
tar -zxvf Python-3.7.6.tgz
cd Python-3.7.6/
./configure
make
make install
小插曲:解决pip3的版本不对的问题(如下图所示,让我安装24.0版本)
//注意:此处比较麻烦,可能需要更换国内的源才能成功安装
sudo su
pip3 install pip==24.0
步骤8:安装optee 模块依赖
pip3 install pycryptodome==3.9.8
pip3 install cryptography
pip3 install pyelftools==0.27
pip3 install wheel==0.36.2
步骤9:创建python软链接
ln -s /usr/local/bin/python3 /usr/local/bin/python
2、安装交叉编译工具链
发布包提供编译工具链aarch64-v01c01-linux-musl- 。aarch64-v01c01-linux-musl-为基于64bit操作系统musl的工具链
步骤1:解压工具链
tar xf gcc-xxxx-aarch64-v01c01-linux-musl.tgz
步骤2:安装工具链
cd gcc-xxxx-aarch64-v01c01-linux-musl
sudo ./install_gcc_toolchain.sh
source
步骤3:测试编译工具链时候可以使用
//输入
gcc-xxxx-aarch64-v01c01-linux-m
//按键盘tab按键观察时候可以自动补全
3、编译Uboot
步骤1:复制配置文件(需要编译什么芯片就复制对应芯片的)
cp configs/hi3519dv500_defconfig .config
步骤2:配置编译环境(就是让配置文件生效)
make ARCH=arm CROSS_COMPILE=aarch64-v01c01-linux-musl- menuconfig
步骤3:编译uboot
make ARCH=arm CROSS_COMPILE=aarch64-v01c01-linux-musl- -j4
步骤4:将生成的u-boot.bin转换成可以烧录的文件,还需要好多步骤,下一章节再具体讲解