SBC-sig/documents/rockchip/顺序构建.md

5.0 KiB
Raw Blame History

顺序单独构建

准备环境

  • 操作系统openEuler、 CentOS 8
  • 架构AArch64 ,如树莓派、 RK3399

编译 u-boot

编译 u-boot 需执行命令:

sudo bash build_u-boot.sh -c BOARD_CONFIG

说明: 基于 build_u-boot.sh 提供的默认参数,执行 sudo ./build_u-boot.sh 编译 u-boot。

各个参数意义:

  1. -c, --config BOARD_CONFIG

    开发板对应的 defconfig 的文件名称,对应 u-boot/configsBOARD_CONFIG 文件,默认为 firefly-rk3399_defconfig;如需在 RK3588 开发板上使用预编译的 u-boot可以将此项设置为 none

  2. -h, --help

    显示帮助信息。

构建 boot 镜像

构建 boot 镜像需执行命令:

sudo bash build_boot.sh -k KERNEL_URL -b KERNEL_BRANCH -d DTB_NAME

说明: 基于 build_boot.sh 提供的默认参数,执行 sudo ./build_boot.sh 可生成 Firefly-RK3399 的 boot 分区镜像 boot.img。

各个参数意义:

  1. -k, --kernel KERNEL_URL

    内核源码仓库的项目地址,默认为 https://gitee.com/openeuler/raspberrypi-kernel.git。可根据需要设置为 git@gitee.com:openeuler/raspberrypi-kernel.gitgit@gitee.com:openeuler/kernel.git

  2. -b, --branch KERNEL_BRANCH

    内核源码的对应分支,默认为 openEuler-20.03-LTS。根据 -k 参数有以下选择:

  3. -d, --device-tree DTB_NAME

    内核设备树名称,和开发板名称有一点区别,对应 kernel/arch/arm64/boot/dts/rockchip 下的 DTB_NAME.dts 文件,默认为 rk3399_firefly

  4. -h, --help

    显示帮助信息。

构建 rootfs 镜像

运行 rootfs 构建脚本需执行命令:

sudo bash build_rootfs.sh -r REPO_INFO -b KERNEL_BRANCH -d DTB_NAME -s SPEC

说明: 基于 build_rootfs.sh 提供的默认参数,执行 sudo ./build_rootfs.sh 可生成 Firefly-RK3399 的 rootfs 分区镜像 rootfs.img。

各个参数意义:

  1. -r, --repo REPO_INFO

    开发源 repo 文件的 URL 或者路径,也可以是开发源中资源库的 baseurl 列表。注意,如果该参数为资源库的 baseurl 列表,该参数需要使用双引号,各个 baseurl 之间以空格隔开。 下面分别举例:

    • 开发源 repo 文件的 URLhttps://gitee.com/src-openeuler/openEuler-repos/raw/openEuler-20.03-LTS-SP2/generic.repo

    • 开发源的 repo 文件路径:

      ./openEuler-20.03-LTS.repo:生成 openEuler 20.03 LTS 版本的镜像,该文件内容参考 https://gitee.com/src-openeuler/openEuler-repos/blob/openEuler-20.03-LTS/generic.repo

    • 资源库的 baseurl 列表,如 http://repo.openeuler.org/openEuler-20.03-LTS-SP2/OS/aarch64/ http://repo.openeuler.org/openEuler-20.03-LTS-SP2/EPOL/aarch64/

  2. -b, --branch KERNEL_BRANCH

    内核源码的对应分支,默认为 openEuler-20.03-LTS。根据 -k 参数有以下选择:

  3. -d, --device-tree DTB_NAME

    内核设备树名称,和开发板名称有一点区别,对应 kernel/arch/arm64/boot/dts/rockchip 下的 DTB_NAME.dts 文件,默认为 rk3399_firefly

  4. -s, --spec SPEC

    构建的镜像版本:

    • headless,无图形界面版的镜像。
    • xfce,带 Xfce 桌面以及中文字体、输入法等全部配套软件。
    • ukui,带 UKUI 桌面及必要的配套软件(不包括中文字体以及输入法)。
    • dde,带 DDE 桌面及必要的配套软件(不包括中文字体以及输入法)。
    • rpmlist 文件路径,其中包含镜像中要安装的软件列表,内容参考 rpmlist

    默认使用 headless 选项。

  5. -h, --help

    显示帮助信息。

可启动镜像构建

运行可启动镜像构建脚本需执行命令:

sudo bash gen_image.sh -n NAME

说明: 在确保顺序执行以上脚本并生成对应的文件及文件夹后再执行此脚本

脚本运行结束后,在 scripts/build/YYYY-MM-DD 所在目录生成 openEuler-VERSION-BOARD.img.xz 即为压缩后的 RK3399 SD卡启动镜像openEuler-VERSION-BOARD.tar.gz 即为打包后的 EMMC 刷写镜像。

各个参数意义:

  1. -n, --name IMAGE_NAME

    构建的镜像名称。

  2. -h, --help

    显示帮助信息。