RK3568技术笔记九 编译Linux详细介绍

在编译前需要按照前面的方法始化编译环境,否则会导致编译失败(若配置过则无需重复配置)。

全自动编译包含所有镜像编译,包括:uboot编译、Kernel编译、Recovey编译、文件系统编译、编译完成镜像的更新与打包。

       按照前面的方法初始化编译环境后,还需要设置RK_ROOTFS_SYSTEM环境变量,通过设置此变量,可以决定打包哪个文件系统:

打包buildroot文件系统,则设置RK_ROOTFS_SYSTEM为buildroot,如下所示:

$ export RK_ROOTFS_SYSTEM=buildroot

打包Debian文件系统,则设置RK_ROOTFS_SYSTEM为debian,如下所示:

$ export RK_ROOTFS_SYSTEM=debian

打包Ubuntu文件系统,则设置RK_ROOTFS_SYSTEM为ubuntu,如下所示:

$ export RK_ROOTFS_SYSTEM=ubuntu

查看当前终端设置的RK_ROOTFS_SYSTEM环境变量的值,执行命令:

$ echo $RK_ROOTFS_SYSTEM

下面以编译buildroot文件系统为例,使用全自动编译方法进行编译:

配置RK_ROOTFS_SYSTEM环境变量为buildroot,执行命令:

$ export RK_ROOTFS_SYSTEM=buildroot

查看RK_ROOTFS_SYSTEM环境变量是否配置正确,执行命令:

$ echo $RK_ROOTFS_SYSTEM

如下图所示:

可以看到输出为buildroot,说明配置正确。

执行全自动编译脚本,命令如下:

$ ./build.sh

如下图所示:

编译完成,此时终端最下行显示(END),按下“q”键退出,如下图所示:

最终,编译完成,如下图所示:

       上图中提示“确认板级的电源域配置”,这里已经配置好,请不要改动,改动错误会导致CPU芯片烧坏。

       编译完成后,所有烧写所需要的镜像将都会链接到rockdev目录,可以到rockdev目录下查看,如下图所示:

如需拷贝镜像到Windows参考第4.7节《镜像拷贝》

如需烧写自己编译的镜像请参考第六章《固件烧写》

单独编译

       说明:单独编译涉及镜像较多,较为复杂,若不是十分必须建议使用全自动编译,简单、方便。

Uboot编译

在编译前需要按照前面的方法初始化编译环境,否则会导致编译失败(若配置过则无需重复配置)。

进入源码目录(目录需按个人实际路径修改),执行命令:

$ cd ~/dianyu/sail_rk356x_linux_release_v1.3.0_20220620/

如下图所示:

编译uboot,执行命令:

$ ./build.sh uboot

如下图所示:

编译完成如下图所示:

编译后在 u-boot 目录生成两个镜像文件,分别是:

rk356x_spl_loader_v1.13.112.bin(这个文件就是MiniLoaderAll.bin,只是名字不同)

uboot.img

如下图所示:

Kernel编译

在编译内核前需要按照前面的方法初始化编译环境,否则会导致编译失败(若配置过则无需重复配置)。

进入源码目录(目录需按个人实际路径修改),编译kernel,执行命令:

$ ./build.sh kernel

如下图所示:

编译完成如下图所示:

红底字为提示电源域配置,源码中已经配置好,务必不要改动,否则会导致芯片烧坏。

编译后在 kernel 目录生成内核镜像文件:boot.img,如下图所示:

Recovery编译

在编译前需要按照前面的方法初始化编译环境,否则会导致编译失败(若配置过则无需重复配置)。

进入源码目录(目录需按个人实际路径修改),编译Recovery,执行命令:

$ ./build.sh recovery

如下图所示:

       编译完成后在 buildroot/output/sail_rk3568_recovery/images 目录生成recovery.img镜像,如下图所示:

文件系统编译

在编译前需要按照前面介绍的方法初始化编译环境,否则会导致编译失败(若配置过则无需重复配置)。

注:在编译完成后进行固件打包的时候,会打包最后一次编译的文件系统,所以这里建议仅编译需要使用的文件系统,不需要的则不编译,否则在最后打包固件时可能会打包成不需要的文件系统。

Buildroot文件系统编译

进入源码目录(目录需按个人实际路径修改),编译Buildroot,执行命令:

$ ./build.sh buildroot

如下图所示:

编译后在 buildroot/output/sail_rk3568/images 目录生成rootfs.ext4镜像。如下图所示:

Debian文件系统编译

按下述方法编译的Debian系统,用户名是:linaro       密码:linaro

进入源码目录(目录需按个人实际路径修改),安装依赖包,执行如下所示命令:

注意,一定要在开发板源码目录下执行下述命令,否则会安装失败

$ sudo apt-get install binfmt-support qemu-user-static live-build

$ sudo dpkg -i debian/ubuntu-build-service/packages/*

$ sudo apt-get install -fy

安装过程如下图所示:

安装完成后,编译Debian,执行命令:

$ ./build.sh debian

如下图所示:

编译过程中会提示输入密码,直接输入即可(密码默认是隐式的)。

编译后在 debian 目录生成 linaro-rootfs.img 镜像。如下图所示:

相关推荐

  1. PCIe总线-RK3588 PCIe驱动设备树介绍

    2024-06-18 22:36:03       18 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-18 22:36:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-18 22:36:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-18 22:36:03       82 阅读
  4. Python语言-面向对象

    2024-06-18 22:36:03       91 阅读

热门阅读

  1. NLP - word2vec详解

    2024-06-18 22:36:03       26 阅读
  2. 自动抓取服务器功耗

    2024-06-18 22:36:03       24 阅读
  3. MySQL触发器基本结构

    2024-06-18 22:36:03       32 阅读
  4. 通过摄像头检测步频

    2024-06-18 22:36:03       29 阅读
  5. 通用与垂直,难以预测的胜负之争。

    2024-06-18 22:36:03       31 阅读
  6. C#心跳机制的服务器(完整)

    2024-06-18 22:36:03       34 阅读
  7. 网络安全--安全设备(一)Dos

    2024-06-18 22:36:03       28 阅读
  8. ARP攻击和DNS攻击有什么区别

    2024-06-18 22:36:03       27 阅读
  9. 加密excel(Python)

    2024-06-18 22:36:03       29 阅读