Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    按照东山派的官方教程编译buildroot(东山哪吒,D1-H)踩坑记录

    MR Series
    1
    1
    1139
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bigfly LV 5 last edited by

      原文链接:https://blog.csdn.net/hwd00001/article/details/127896895
      作者 @ hwd00001

      整个编译的耗时主要是github的下载速度,很多依赖包都需要从github下载。

      这里我以东山派的官方教程为主,根据我的实际情况稍作调整,梳理一下编译buildroot流程。

      官方教程链接:使用buildroot-SDK编译构建系统

      1.编译流程

      1.1获取sdk源码

      有2个服务器github和gitee,我使用gitee的源。

      6ccd5148b6324ff4809608f8d0d74f39.png

      依次执行命令:

      book@virtual-machine:~$ git clone  https://gitee.com/weidognshan/buildroot_dongshannezhastu
      book@virtual-machine:~$ cd buildroot_dshannezhastu
      book@virtual-machine:~/buildroot_dongshannezhastu$ git submodule update --init --recursive
      book@virtual-machine:~/buildroot_dongshannezhastu$ git submodule update --recursive --remote
      

      这个步骤还是比较快的,10分钟以内,取决于网速。

      1.2 补充:下载riscv64-glibc-gcc-thead_20200702.tar.xz

      这个步骤参考后面的问题2.

      1.3 补充:安装mtool工具

      这个步骤参考后面的问题3.

      1.4 安装必要依赖包

      sudo apt-get install -y  libncurses5-dev   u-boot-tools
      

      1.5 编译sdcard 最小系统镜像

      book@virtual-machine:~/buildroot_dongshannezhastu$ cd buildroot-awol/
      book@virtual-machine:~/buildroot_dongshannezhastu/buildroot-awol$ make  BR2_EXTERNAL="../br2lvgl  ../br2qt5 ../br2nezhastu"  dongshannezhastu_sdcard_core_defconfig
      
      book@virtual-machine:~/buildroot_dongshannezhastu/buildroot-awol$ make
      

      98f38fa786e041a2b69d62052b31e35d.png

      1.6 烧录最小镜像系统到tf(SD)卡

      原文档:东山哪吒快速启动

      1.6.1 安装烧录工具

      a345c5ffa822422f80de43630cd47225.png

      1.6.2 格式化SD卡

      93edc13a0e704ba0a3f0b1774df76f94.png

      1.6.3 烧录镜像到sd卡

      70d6935eed194d9da3787f8fe9aabd97.png

      1.7 运行系统

      把SD卡插到开发板,上电,检查一下是不是最新编译的:
      a7941988188a4c0ab5aefe14c95e401c.png

      我对比一下原来的一张烧录官方提供的image的文件日期:
      b91058bfbf554a09b5afedf07ff7676a.png

      2.问题踩坑记录

      问题1:make指令不执行

      root@SK-JNTINRTMRDZW:/home/hwd/buildroot_dongshannezhastu/buildroot-awol> make
      
      Your PATH contains spaces, TABs, and/or newline (\n) characters.
      This doesn't work. Fix you PATH.
      support/dependencies/dependencies.mk:27: recipe for target 'dependencies' failed
      make: *** [dependencies] Error 1
      

      百度解决方法:《This doesn‘t work. Fix you PATH》

      采用这个方法顺利解决(切换环境变量)。
      b8c40074460e43cc935a5054b415e4d9.png

      问题2:riscv64-glibc-gcc-thead_20200702.tar.xz File format not recognized

      WARNING: no hash file for riscv64-glibc-gcc-thead_20200702.tar.xz
      ....../riscv64-glibc-gcc-thead_20200702.tar.xz: File format not recognized
      tar: This does not look like a tar archive
      tar: Exiting with failure status due to previous errors
      

      去到该文件所在目录 /home/hwd/buildroot_dongshannezhastu/buildroot-awol/dl/toolchain-external-custom 看到,文件的大小只有1k,不知道是什么原因导致的。
      继续百度搜到《为全志D1/RISCV64设备移植openwrt-22.03系统》,提到要手动下载 riscv64-glibc-gcc-thead_20200702.tar.xz,提供了东山派的官方链接:《快速使用Tina-SDK 指南》:

      4afc74d3210c4311b0f119573029865c.png

      下载完成后,发现文件名是 riscv64-glibc-gcc-thead_20200702tar.xz :
      67a2a301853345b09a504b9ab39a8c25.png
      增加小数点后,不用解压,重新执行make,自动解压成功,往下进行。

      问题3: /bin/sh: 1: mcopy: not found
      e8dacf62a91c4064be8fb18d88395b98.png

      没有安装mtool工具:

      apt-get install mtools
      

      重新make,终于完成:

      a208e83fa12a4cd6bcf7de738b83dc90.png

      1 Reply Last reply Reply Quote Share 0
      • 1 / 1
      • First post
        Last post

      Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策