正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史记录

版本 1 下一个 »

  1. sdk目录结构

    bash
    ├── app
    ├── buildroot												#buildroot构建目录
    ├── build.sh -> device/rockchip/common/scripts/build.sh		#sdk编译脚本
    ├── common -> device/rockchip/common						#自动化编译脚本hook
    ├── Copyright_Statement.md -> docs/licenses/LICENSE			#license
    ├── debian													#debian构建目录
    ├── device													#板型配置目录
    ├── docs													#rockchip文档
    ├── external												#rockchip模块组件包
    ├── hal														#
    ├── kernel -> kernel-6.1
    ├── kernel-6.1
    ├── Makefile -> device/rockchip/common/Makefile
    ├── output
    ├── prebuilts
    ├── README.md
    ├── README_rk.md -> device/rockchip/common/README.md
    ├── repo_readme.txt
    ├── rkbin
    ├── rkflash.sh -> device/rockchip/common/scripts/rkflash.sh
    ├── rockdev -> output/firmware
    ├── rtos
    ├── test.txt
    ├── tmp
    ├── tools
    ├── u-boot
    └── yocto
  2. 板型配置说明

    bash
    ./build.sh chip											   #选择要编译的芯片
    Log colors: message notice warning error fatal
    
    Log saved at /home/foxluo/work0/rockchip/rk_linux/rk_linux_6.1/output/sessions/2025-11-18_19-37-19
    Pick a chip:
    
    1. rk3566_rk3568
    2. rk3576
    3. rk3588
    Which would you like? [1]: 3							   #选择rk3588
    Switching to chip: rk3588
    Pick a defconfig:
    
    1. rockchip_defconfig
    2. hugsun_rk3588_edge_lp4_v12_debain_defconfig
    3. hugsun_rk3588_edge_lp4_v12_defconfig
    4. hugsun_rk3588_edge_lp4_v14a_debain_defconfig
    5. rockchip_rk3588_evb1_lp4_v10_amp_defconfig
    6. rockchip_rk3588_evb1_lp4_v10_defconfig
    7. rockchip_rk3588_evb1_lp4_v10_mcu_defconfig
    8. rockchip_rk3588_evb7_v11_defconfig
    9. rockchip_rk3588_ipc_evb1_v10_defconfig
    10. rockchip_rk3588_ipc_evb7_lp4_v11_defconfig
    11. rockchip_rk3588_multi_ipc_evb1_v10_defconfig
    12. rockchip_rk3588s_evb1_lp4x_v10_defconfig
    Which would you like? [1]: 3								#选择hugsun edge v1.2a板型
    Switching to defconfig: /home/foxluo/work0/rockchip/rk_linux/rk_linux_6.1/device/rockchip/.chip/hugsun_rk3588_edge_lp4_v12_defconfig
    #
    # configuration written to /home/foxluo/work0/rockchip/rk_linux/rk_linux_6.1/output/.config
    #
    Using last kernel version(6.1)

    如需修改板型参数,在配置界面中调整参数

    bash
    make menuconfig
  3. 全自动编译
  • 为了确保软件开发套件(SDK)的每次更新都能顺利进行,建议在更新前清理之前的编译产物。这样做可以避免潜在的兼容性问题或编译错误,因为旧的编译产物可能不适用于新版本的SDK。要清理这些编译产物,可以直接运行命令
    bash
    ./build.sh cleanall
  • 进入工程根目录执行以下命令自动完成所有的编译:
    bash
    ./build.sh all # 只编译模块代码(u-Boot,kernel,Rootfs,Recovery)
    # 需要再执行`./build.sh ./mkfirmware.sh 进行固件打包
    ./build.sh # 编译模块代码(u-Boot,kernel,Rootfs,Recovery)
    # 打包成update.img完整升级包
    # 所有编译信息复制和生成到out目录下
  • 默认是 Buildroot,可以通过设置坏境变量 RK_ROOTFS_SYSTEM 指定不同 rootfs。RK_ROOTFS_SYSTEM目前可设定三
  • 种系统:buildroot、debian、 yocto 。
  • 比如需要 debain 可以通过以下命令进行生成:
  1. 8.6 模块编译
  2. 8.6.1 U-Boot编译
  3. 进入SDK工程。运行如下命令进行编译:
  4. 具体板级编译参考SDK发布文档中编译说明。
  5. 8.6.2 Kernel编译
  6. 进入工程目录根目录执行以下命令自动完成 kernel 的编译及打包。
  7. 具体板级编译参考发布说明或者Quick Start中编译说明。
  8. export RK_ROOTFS_SYSTEM=debian
  9. ./build.sh
  10. RK_ROOTFS_SYSTEM=debian ./build.sh
  11. <SDK>#./build.sh uboot
  12. <SDK>#./build.sh kernel
  13. 8.6.3 Recovery编译
  14. 进入工程根目录执行以下命令自动完成 Recovery 的编译及打包。
  15. 编译后在 Buildroot 目录 `output/rockchip_rk3562_recovery/images 生成 recovery.img。
  16. 注: recovery.img 是包含内核,所以每次 Kernel 更改,Recovery 是需要重新打包生成。Recovery重新打包的
  17. 方法如下:
  18. 注:Recovery是非必需的功能,有些板级配置不会设置
  19. 8.6.4 Buildroot编译
  20. 进入工程目录根目录执行以下命令自动完成 Rootfs 的编译及打包:
  21. 编译后在Buildroot目录output/rockchip_rk3562/images下生成不同格式的镜像, 默认使用rootfs.ext4格式。
  22. 具体可参考Buildroot开发文档参考:
  23. <SDK>/docs/cn/Linux/ApplicationNote/Rockchip_Developer_Guide_Buildroot_CN.pdf
  24. 8.6.5 Debian编译
  25. 编译后在 debian 目录下生成 linaro-rootfs.img。
  26. 说明:需要预先安装相关依赖包
  27. sudo apt-get install binfmt-support qemu-user-static live-build
  28. sudo dpkg -i ubuntu-build-service/packages/*
  29. sudo apt-get install -f
  30. 具体可参考Debian开发文档参考:
  31. <SDK>/docs/cn/Linux/ApplicationNote/Rockchip_Developer_Guide_Debian_CN.pdf
  32. <SDK>#./build.sh recovery
  33. <SDK>#source buildroot/envsetup.sh
  34. <SDK>#cd buildroot
  35. <SDK>#make recovery-reconfigure
  36. <SDK>#cd -
  37. <SDK>#./build.sh recovery
  38. ./build.sh rootfs
  39. ./build.sh debian
  40. 目录说明
  41. prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-nonelinux-
  42. gnu
  43. gcc arm 10.3.1 64位工
  44. 具链
  45. prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linuxgnueabihf
  46. gcc arm 10.3.1 32位工
  47. 具链
  48. 8.6.6 Yocto 编译
  49. 进入工程目录根目录执行以下命令自动完成 Rootfs 的编译及打包:
  50. 编译后在 yocto 目录 build/lastest 下生成 rootfs.img。
  51. 默认用户名登录是 root。Yocto 更多信息请参考 Rockchip Wiki
  52. FAQ:
  53. 上面编译如果遇到如下问题情况:
  54. 解决方法:
  55. 或者参考 setup-locale-python3
  56. 8.6.7 交叉编译
  57. 8.6.7.1 SDK目录内置交叉编译
  58. SDK prebuilts目录预置交叉编译,如下:
  59. 可从以下地址下载工具链:
  60. 点击这里
  61. ./build.sh yocto
  62. Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).
  63. Python can't change the filesystem locale after loading so we need a UTF-8
  64. when Python starts or things won't work.
  65. locale-gen en_US.UTF-8
  66. export
  • 无标签