项目

一般

简介

Rk3588

  1. 编译环境
    推荐使用的是:Ubuntu20.04
    而我使用的是:Ubuntu16.04
    注:使用Ubuntu16.04需要设置python3为python3.6及以上
    
  2. Linux SDK下载地址
    https://www.t-firefly.com/doc/download/290.html
    
  3. 解压同步
    # 解压
    cat rk3588_linux_release_20230114_v1.0.6c_0* | tar -x
    
    #本压缩包内包含一个.repo目录,解压之后,在当前目录下执行以下操作
    .repo/repo/repo sync -l
    .repo/repo/repo sync -c --no-tags
    .repo/repo/repo start firefly --all
    
    #后续可以使用以下命令更新SDK
    .repo/repo/repo sync -c --no-tags
    
    #因为网络环境等原因,`.repo/repo/repo sync -c --no-tags` 命令更新代码可能会失败,可多次反复执行
    
  4. 设置 python3 的版本>=3.6
    因为 "kernel/scripts/mkbootimg" python 脚本中使用了f-string,脚本的指向的python3是:#!/usr/bin/env python3
    Python 3.6 开始支持 f-string(格式化字符串字面量)
    
  5. 修改 fatresize 包从本地获取
    修改 buildroot/package/fatresize/ 里的文件
    
  6. 编译
    ./build.sh(编译所有并打包,要编译AIO-3588JD4-buildroot固件,所以选择:20)
    如果只想编译uboot, kernel, rootfs, recover,不打包,可以使用:./build.sh all
    
    You're building on Linux
    Launch menu...pick a combo:
    
    0. default BoardConfig.mk
    1. B1-3588-jd4-main-debian.mk
    2. B1-3588-jd4-main-ubuntu.mk
    3. B2-3588j-main-debian.mk
    4. B2-3588j-main-ubuntu.mk
    5. BoardConfig-ab-base.mk
    6. BoardConfig-rk3588-evb1-lp4-v10.mk
    7. BoardConfig-rk3588-evb3-lp5-v10.mk
    8. BoardConfig-rk3588-evb7-lp4-v10.mk
    9. BoardConfig-rk3588s-evb1-lp4x-v10.mk
    10. BoardConfig-security-base.mk
    11. BoardConfig.mk
    12. CS-A1-N8S-3588s-jd4-main-kylin.mk
    13. CS-A1-N8S-3588s-jd4-main-ubuntu.mk
    14. CS-B1-3588-jd4-sub-minimal-debian.mk
    15. CS-B1-3588-jd4-sub-minimal-ubuntu.mk
    16. CS-R1-3588s-jd4-sub-minimal-ubuntu.mk
    17. CS-R2-3588s-jd4-sub-minimal-ubuntu.mk
    18. aibox-3588-buildroot.mk
    19. aibox-3588-ubuntu.mk
    20. aio-3588jd4-buildroot.mk
    21. aio-3588jd4-ubuntu.mk
    22. aio-3588l-buildroot.mk
    23. aio-3588l-kylin.mk
    24. aio-3588l-ubuntu.mk
    25. aio-3588q-A101KL68-buildroot.mk
    26. aio-3588q-A101KL68-debian.mk
    27. aio-3588q-A101KL68-ubuntu.mk
    28. aio-3588q-BE45-A1-buildroot.mk
    29. aio-3588q-BE45-A1-debian.mk
    30. aio-3588q-BE45-A1-ubuntu.mk
    31. aio-3588q-buildroot.mk
    32. aio-3588q-debian.mk
    33. aio-3588q-edp-buildroot.mk
    34. aio-3588q-edp-debian.mk
    35. aio-3588q-edp-ubuntu.mk
    36. aio-3588q-kylin.mk
    37. aio-3588q-ubuntu.mk
    38. aio-3588sg-buildroot.mk
    39. aio-3588sg-debian.mk
    40. aio-3588sg-kylin.mk
    41. aio-3588sg-lvds101-buildroot.mk
    42. aio-3588sg-lvds101-debian.mk
    43. aio-3588sg-lvds101-ubuntu.mk
    44. aio-3588sg-ubuntu.mk
    45. aio-3588sjd4-A101KL68-buildroot.mk
    46. aio-3588sjd4-A101KL68-debian.mk
    47. aio-3588sjd4-A101KL68-ubuntu.mk
    48. aio-3588sjd4-BE45-A1-buildroot.mk
    49. aio-3588sjd4-BE45-A1-debian.mk
    50. aio-3588sjd4-BE45-A1-ubuntu.mk
    51. aio-3588sjd4-buildroot.mk
    52. aio-3588sjd4-debian.mk
    53. aio-3588sjd4-kylin.mk
    54. aio-3588sjd4-ubuntu.mk
    55. firefly-ab-one-rootfs.mk
    56. firefly-ab.mk
    57. itx-3588j-A101KL68-buildroot.mk
    58. itx-3588j-A101KL68-debian.mk
    59. itx-3588j-A101KL68-ubuntu.mk
    60. itx-3588j-BE45-A1-buildroot.mk
    61. itx-3588j-BE45-A1-debian.mk
    62. itx-3588j-BE45-A1-ubuntu.mk
    63. itx-3588j-buildroot.mk
    64. itx-3588j-debian.mk
    65. itx-3588j-kylin.mk
    66. itx-3588j-stationp3-buildroot.mk
    67. itx-3588j-stationp3-debian.mk
    68. itx-3588j-stationp3-ubuntu.mk
    69. itx-3588j-ubuntu.mk
    70. roc-rk3588-pc-buildroot.mk
    71. roc-rk3588-pc-debian.mk
    72. roc-rk3588-pc-kylin.mk
    73. roc-rk3588-pc-stationp3-buildroot.mk
    74. roc-rk3588-pc-stationp3-debian.mk
    75. roc-rk3588-pc-stationp3-ubuntu.mk
    76. roc-rk3588-pc-ubuntu.mk
    77. roc-rk3588-rt-10g-ext-buildroot.mk
    78. roc-rk3588-rt-10g-ext-ubuntu.mk
    79. roc-rk3588-rt-buildroot.mk
    80. roc-rk3588-rt-debian.mk
    81. roc-rk3588-rt-ext-buildroot.mk
    82. roc-rk3588-rt-ext-ubuntu.mk
    83. roc-rk3588-rt-kylin.mk
    84. roc-rk3588-rt-ubuntu.mk
    85. roc-rk3588s-pc-A101KL68-buildroot.mk
    86. roc-rk3588s-pc-A101KL68-debian.mk
    87. roc-rk3588s-pc-A101KL68-ubuntu.mk
    88. roc-rk3588s-pc-BE45-A1-buildroot.mk
    89. roc-rk3588s-pc-BE45-A1-debian.mk
    90. roc-rk3588s-pc-BE45-A1-ubuntu.mk
    91. roc-rk3588s-pc-buildroot.mk
    92. roc-rk3588s-pc-debian.mk
    93. roc-rk3588s-pc-ext-A101KL68-buildroot.mk
    94. roc-rk3588s-pc-ext-A101KL68-debian.mk
    95. roc-rk3588s-pc-ext-A101KL68-ubuntu.mk
    96. roc-rk3588s-pc-ext-BE45-A1-buildroot.mk
    97. roc-rk3588s-pc-ext-BE45-A1-debian.mk
    98. roc-rk3588s-pc-ext-BE45-A1-ubuntu.mk
    99. roc-rk3588s-pc-ext-buildroot.mk
    100. roc-rk3588s-pc-ext-debian.mk
    101. roc-rk3588s-pc-ext-kylin.mk
    102. roc-rk3588s-pc-ext-ubuntu.mk
    103. roc-rk3588s-pc-kylin.mk
    104. roc-rk3588s-pc-stationm3-buildroot.mk
    105. roc-rk3588s-pc-stationm3-debian.mk
    106. roc-rk3588s-pc-stationm3-ubuntu.mk
    107. roc-rk3588s-pc-ubuntu.mk
    Which would you like? [0]: 20