跳到主要内容

Debian系统编译

电脑硬件配置

编译 Ubuntu 开发环境电脑硬件配置建议:

  • 64 位 CPU
  • Ubuntu20.04/22.04系统,不要使用Windows子系统(WSL)
  • 16GB 内存
  • 250GB 空闲空间用来编译
  • 普通用户编译,不要使用 root 用户编译

电脑软件配置

安装环境包

sudo apt update
sudo apt-get install git ssh make gcc libssl-dev liblz4-tool \
expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support \
qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib \
unzip device-tree-compiler libncurses-dev

sudo apt install python3-pip
sudo pip install python-pip pyelftools
sudo apt install python2
sudo apt install python

SDK获取

发送邮件至 [support@neardi.com](mailto:support@neardi.com) 获取相关开发资料

  • git
  • repo

下载完成后,在解压前先查看 MD5 码和Neardi-3588-SDK-Linux-Version.tar.gz.md5sum中是否一致:

$ md5sum Neardi-3588-SDK-Linux-${Version}.tar.gz
******************************** Neardi-3588-SDK-Linux-${Version}.tar.gz

解压:

tar zxvf Neardi-3588-SDK-Linux-${Version}.tar.gz

提取:

cd Neardi-3588-SDK-Linux-${Version}
git reset --hard

下载完成后,在解压前先查看 MD5 码和neardi-3588-linux-Version.tar.gz.md5sum中是否一致:

$ md5sum neardi-3588-linux-${Version}.tar.gz
******************************** neardi-3588-linux-${Version}.tar.gz

解压:

tar zxvf neardi-3588-linux-${Version}.tar.gz

提取:

cd neardi-3588-linux-${Version}
.repo/repo/repo sync -l

编译 SDK

选择配置

  • 6.1
  • 5.10
./build.sh lunch
select: rockchip_rk3588_neardi_linux_lpm_f0_defconfig
./build.sh lunch
select: BoardConfig-rk3588-neardi-linux-lpm3588-f1.mk

全自动编译

第一次编译SDK,务必全编一次,否则打包会出错

全自动编译会执行所有编译, 编译生成u-boot、kernel和buildroot。

./build.sh

生成的完整buildroot系统会保存到 rockdev/update.img

编译Debian

./build.sh debian

打包固件

RK 固件,是以 Rockchip 专有格式打包的固件,使用 Rockchip 提供的工具可以烧写到 eMMC 或者 SD 卡中(注:若无特殊说明,WIKI 上提及的固件默认为 RK 固件)。

# 打包 RK 固件
./build.sh updateimg

生成的完整固件会保存到 rockdev/update.img

部分编译

  • 编译 u-boot
./build.sh uboot
  • 编译 kernel
./build.sh kernel
  • 编译 recovery
./build.sh recovery

FAQ

编译错误

lz4错误

Incorrect parameters
Usage :
lz4 [arg] [input] [output]

input : a filename
with no FILE, or when FILE is - or stdin, read standard input
Arguments :
-1 : Fast compression (default)
-9 : High compression
-d : decompression (default for .lz4 extension)
-z : force compression
-f : overwrite output without prompting
-h/-H : display help/long help and exit
arch/arm64/boot/Makefile:31: recipe for target 'arch/arm64/boot/Image.lz4' failed
make[2]: *** [arch/arm64/boot/Image.lz4] Error 1
make[2]: *** Deleting file 'arch/arm64/boot/Image.lz4'
arch/arm64/Makefile:170: recipe for target 'Image.lz4' failed
make[1]: *** [Image.lz4] Error 2
make[1]: *** Waiting for unfinished jobs....

解决方法,重新手动安装lz4:

git clone https://github.com/lz4/lz4.git
cd lz4
make
sudo make install