RK3308编译
RK3308编译
由于工作原因选择瑞芯微的CPU,型号为RK3308B-S,购买了firefly调试板,进行前期调试。
1、环境搭建
RK3308的SDK尽量在Ubuntu 18.04系统环境下进行开发,若使用其它系统版本,可能需要对编译环境做相应调整。Ubuntu 安装方法见之前的博文有提到过。
1、安装依赖包
sudo apt-get install repo 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 python-pip ncurses-dev python-pyelftools git-core gnupg gperf build-essential zip curl zlib1g-dev libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc libfile-which-perl sed binutils bash patch gzip bzip2 perl tar cpio python rsync file bc libmpc3 pkg-config tree
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install pv libc6:i386 libncurses5:i386 libstdc++6:i386 git vim gawk libncurses5-dev libncursesw5-dev jacksum build-essential
#注:如果编译报错,请根据报错提示安装对应依赖
2、SDK同步
.repo/repo/repo sync -l
.repo/repo/repo sync -c
3、SDK下载
- 瑞芯微官方提供。
- firefly官网下载:https://wiki.t-firefly.com/zh_CN/Core-3308Y/prepare_compile_linux.html
2、SDK编译
1、编译前配置
编译前需要根据不同的版型选择对应的配置文件,配置文件路径:/device/rockchip/rk3308。在SDK根目录下进行配置:
./build.sh xxxxxx.mk
2、全自动编译
全自动编译会执行所有编译、打包操作,直接生成 RK 固件。
在SDK根目录下编译:
./build.sh
编译完成后,固件存放路径:
/rockdev/
每次全编译结果都会存储起来,存放路径:/IMAGE/各个版本
rockdev下文档说明:
- boot.img:linux内核固件;
- MiniLoaderAll.bin:loader固件;
- misc.img:
- oem.img:
- parameter.txt:分区表,配置一些系统参数,比如固件版本,存储器分区信息等;
- recovery.img:
- rootfs.img:文件系统;
- trust.img:
- uboot.img:u-boot固件;
- update.img:整体打包的固件;
- userdata.img:用户数据固件;
3、部分编译
1、编译U-Boot
1、在SDK根目录下,执行以下命令:
./build.sh uboot
2、进入u-boot文件夹下,执行以下命令
./make.sh 配置文件
#配置文件:
#查看xxxxxx.mk文件下RK_UBOOT_DEFCONFIG对应的配置文件,路径为:/u-boot/configs/xxxxxx_defconfig
以上两种方式都可以。
编译生成文件路径:
/u-boot/
- rk3308_loader_uart4_v2.06.134.bin(MiniLoaderAll.bin)
- trust.img
- uboot.img
2、其余的部分编译
其余的编译没有使用过,除了前期调试单独编译u-boot部分,其余都是全自动编译。
3、SDK编译异常
编译完成后(没有报错的情况下),会出现提示如下内容,并不会直接跳出进程,弹出终端命令行输入框,这时输入q即可,表示退出。
Generating new image, please wait...
Writing head info...
Writing boot file...
Writing firmware...
Generating MD5 data...
MD5 data generated successfully!
New image generated successfully!
Making update.img OK.
Running build_updateimg succeeded.
Generate patch for buildroot done
Generate patch for device/rockchip done
Generate patch for kernel done
Generate patch for u-boot done
Saved manifest to /home/rxin/linux/rockchip/provide_rock/source_code/IMAGE/RK3308BS-EVB-AMIC-V11-AARCH32_20221108.1903_RELEASE_TEST/m
(END)
注:以上是我的一些记录和遇到的问题,以及解决方法,如果有不对的地方,请各位大佬指出。
注:以上编译如果无法解决问题,可参考firefly的wiki教程:https://wiki.t-firefly.com/zh_CN/Core-3308Y/ubuntu_compile.html

浙公网安备 33010602011771号