Navigation

    全志在线开发者论坛

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

    麻雀D1s开发板支持buildroot 一件构建了。

    MR Series
    9
    18
    9443
    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.
    • baiwen
      100ask LV 6 last edited by

      • 麻雀Buildroot扩展支持 https://github.com/100askTeam/buildroot-external-mq.git
      • 全志在线buildroot https://github.com/100askTeam/buildroot_aw-ol.git

      MQ-D1S Buildroot external tree

      这个Git仓库专门支持全志在线 RV64 的平台。这个是针对 芒果PI MQ 开发板专门支持的 BR2_EXTERNAL 外部扩展支持。

      快速开始

      环境配置

      为了使用 Buildroot,您需要在您的工作站上安装 Linux 发行版。 任何最新的 Linux 发行版(Ubuntu、Debian、Fedora、Redhat、OpenSuse 等)都可以正常工作。
      但是你需要安装一些必要软件包至您的Linux工作站才可以使用Buildroot manual System requirements section. 对于 Debian/Ubuntu发行版系统,需要参考下述命令安装列出来的软件包。

      $ sudo apt install debianutils sed make binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio unzip rsync file bc git
      

      获取代码

      这个 BR2_EXTERNAL会配合着最新的LTS版本一起使用,所以版本会随着 上游的更新而建立新的分支进行更新,目前Buildroot最新 BR2_EXTERNAL最新LTS版本是 2021-02 。

      首先我们获取 buildroot最新lts版本源码。

      • 使用git clone
      $ git clone https://github.com/100askTeam/buildroot_aw-ol.git  buildroot
      

      获取buildroot源码后,可以单独获取 芒果PI MQ 的 BR2_EXTERNAL 源码。

      $ git clone -b main https://github.com/100askTeam/buildroot-external-mq.git
      

      获取完成后,可以看到 一个 buildroot目录和一个 buildroot-external-mq目录。

      配置并构建

      首先进入到buildroot目录

      $ cd buildroot/
      

      接下来执行配置命令,来使用 mq_core_defconfig配置文件进行配置。

      buildrot/ $ make BR2_EXTERNAL=../buildroot-external-mq mq_core_defconfig
      

      指定配置文件后,可以使用 make menuconfig 命令来增加自己需要的包。

      增加完成软件包后,就可以直接执行 make 命令开始编译了。

      buildroot/ $ make
      

      编译时会自动下载所需的软件包,进行配置编译最后打包成一个完成的系统镜像,整个时间受网络环境而定,一般情况下 只需要60分钟。

      烧写并启动系统

      编译完成后,会生成一个sdcard.img 系统镜像,镜像文件存放在 output/images/目录下。
      6257fb94-a41b-4be8-b386-d0b52f162838-image.png
      执行如下命令讲镜像烧录进 tf卡即可,注意 /dev/sdX sdX 指的是tf卡设备的主分区。
      或者可以使用 wind32diskimage进行烧写。

      buildroot/ $ dd if=output/images/sdcard.img of=/dev/sdX bs=1M
      

      烧写完成后,将卡插入至开发板,连接电源线,设置为 tf卡启动,即可启动开发板,之后连接串口,等待进入终端命令行,系统默认的登录用户名是 root 。

      注意这个只是最小系统,大家想做什么二次开发 直接在上面进行适配即可。
      5704024d-1aea-44d9-bb70-c999fceb322d-image.png

      J 1 Reply Last reply Reply Quote Share 1
      • baiwen
        100ask LV 6 last edited by

        大家可以试试白嫖 Github CI自动化构建,快还省事。
        https://github.com/100askTeam/buildroot-external-mq/blob/main/.github/workflows/buildroot-external-mq.yml
        自己增加一个专门的自动构建脚本,在上面的Actions里面启用自动化构建。
        c7683d48-f732-45a5-9945-6fc307a99763-image.png

        构建完成后,会在当前页面输出一个 sdcard.img镜像文件 可以直接下载。
        感觉大大增加了开发效率,最主要是免费😀 。

        H 1 Reply Last reply Reply Quote Share 1
        • BedRock
          BedRock LV 6 last edited by

          效率太太太太高了!

          1 Reply Last reply Reply Quote Share 0
          • L
            lyr2021 LV 3 last edited by

            可以从gitee拉取代码吗

            1 Reply Last reply Reply Quote Share 0
            • C
              chenld LV 3 last edited by

              编译到最后,有如下错误:
              e08d147d-f5be-41fd-8d18-48d90613b722-image.png

              脚本找不到mkbootimg,是不是没有生成。

              L 1 Reply Last reply Reply Quote Share 0
              • L
                lyr2021 LV 3 @chenld last edited by

                @chenld 依赖工具没装全吧,试试这个
                sudo apt-get install -y which sed make binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio unzip rsync file bc wget python ncurses5 bazaar cvs git mercurial rsync scp subversion android-tools-mkbootimg

                1 Reply Last reply Reply Quote Share 0
                • C
                  chenld LV 3 last edited by

                  我先试试,多谢。

                  K 1 Reply Last reply Reply Quote Share 0
                  • K
                    kakatoo LV 4 @chenld last edited by

                    @chenld 在 麻雀D1s开发板支持buildroot 一件构建了。 中说:

                    我先试试,多谢。

                    android-tools-mkbootimg 这个包没装。

                    1 Reply Last reply Reply Quote Share 0
                    • J
                      Juggernaut LV 5 @baiwen last edited by

                      @allwinnertech 在 麻雀D1s开发板支持buildroot 一件构建了。 中说:

                      • 麻雀Buildroot扩展支持 https://github.com/100askTeam/buildroot-external-mq.git
                      • 全志在线buildroot https://github.com/100askTeam/buildroot_aw-ol.git

                      MQ-D1S Buildroot external tree

                      这个Git仓库专门支持全志在线 RV64 的平台。这个是针对 芒果PI MQ 开发板专门支持的 BR2_EXTERNAL 外部扩展支持。

                      快速开始

                      环境配置

                      为了使用 Buildroot,您需要在您的工作站上安装 Linux 发行版。 任何最新的 Linux 发行版(Ubuntu、Debian、Fedora、Redhat、OpenSuse 等)都可以正常工作。
                      但是你需要安装一些必要软件包至您的Linux工作站才可以使用Buildroot manual System requirements section. 对于 Debian/Ubuntu发行版系统,需要参考下述命令安装列出来的软件包。

                      $ sudo apt install debianutils sed make binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio unzip rsync file bc git
                      

                      获取代码

                      这个 BR2_EXTERNAL会配合着最新的LTS版本一起使用,所以版本会随着 上游的更新而建立新的分支进行更新,目前Buildroot最新 BR2_EXTERNAL最新LTS版本是 2021-02 。

                      首先我们获取 buildroot最新lts版本源码。

                      • 使用git clone
                      $ git clone https://github.com/100askTeam/buildroot_aw-ol.git  buildroot
                      

                      获取buildroot源码后,可以单独获取 芒果PI MQ 的 BR2_EXTERNAL 源码。

                      $ git clone -b main https://github.com/100askTeam/buildroot-external-mq.git
                      

                      获取完成后,可以看到 一个 buildroot目录和一个 buildroot-external-mq目录。

                      配置并构建

                      首先进入到buildroot目录

                      $ cd buildroot/
                      

                      接下来执行配置命令,来使用 mq_core_defconfig配置文件进行配置。

                      buildrot/ $ make BR2_EXTERNAL=../buildroot-external-mq mq_core_defconfig
                      

                      指定配置文件后,可以使用 make menuconfig 命令来增加自己需要的包。

                      增加完成软件包后,就可以直接执行 make 命令开始编译了。

                      buildroot/ $ make
                      

                      编译时会自动下载所需的软件包,进行配置编译最后打包成一个完成的系统镜像,整个时间受网络环境而定,一般情况下 只需要60分钟。

                      烧写并启动系统

                      编译完成后,会生成一个sdcard.img 系统镜像,镜像文件存放在 output/images/目录下。
                      6257fb94-a41b-4be8-b386-d0b52f162838-image.png
                      执行如下命令讲镜像烧录进 tf卡即可,注意 /dev/sdX sdX 指的是tf卡设备的主分区。
                      或者可以使用 wind32diskimage进行烧写。

                      buildroot/ $ dd if=output/images/sdcard.img of=/dev/sdX bs=1M
                      

                      烧写完成后,将卡插入至开发板,连接电源线,设置为 tf卡启动,即可启动开发板,之后连接串口,等待进入终端命令行,系统默认的登录用户名是 root 。

                      注意这个只是最小系统,大家想做什么二次开发 直接在上面进行适配即可。
                      5704024d-1aea-44d9-bb70-c999fceb322d-image.png

                      牛逼了,不知道官方那块板子什么时候支持buildroot

                      1 Reply Last reply Reply Quote Share 1
                      • H
                        hilson LV 3 @baiwen last edited by

                        @allwinnertech CI是在构建上简化了流程,但是在编写驱动时要经常编译而且还会经常遇到报错的情况,请问这种常规开发上CI也可以节省时间吗?就是本地不搭建开发环境了(或者只拉内核代码方便编辑器编写时有智能提示之类的),就只编写必要内核文件,编完就git push,我想知道这样的开发效率可以吗?

                        baiwen 1 Reply Last reply Reply Quote Share 0
                        • K
                          kakatoo LV 4 last edited by

                          试了试wifi,好像不行。 能集成wifi吗?

                          baiwen 1 Reply Last reply Reply Quote Share 0
                          • L
                            lyr2021 LV 3 last edited by

                            啥时候把adb搞上去啊

                            baiwen 1 Reply Last reply Reply Quote Share 0
                            • baiwen
                              100ask LV 6 @hilson last edited by

                              @hilson 前期的测试与驱动开发不适合用CI自动构建,建议是等所有模块本地测试完成后再push到相关仓库,然后触发CI自动完整构建。

                              1 Reply Last reply Reply Quote Share 0
                              • baiwen
                                100ask LV 6 @kakatoo last edited by

                                @kakatoo 可以集成 直接make menuconfig选中你想要增加的 WiFi模块就好。

                                1 Reply Last reply Reply Quote Share 0
                                • baiwen
                                  100ask LV 6 @lyr2021 last edited by

                                  @lyr2021 buildroot默认有adb这个包,选中配置一下 编译就可以了。

                                  1 Reply Last reply Reply Quote Share 0
                                  • wuhanstudio
                                    wuhanstudio LV 3 last edited by

                                    你好,请问 buildroot 支持 480x272 的 40pin RGB LCD 吗?我发现配置目录下有 rgb480x272_rtp,但是使用里面的 board.dts 发现只有背光开了,没有显示

                                    1 Reply Last reply Reply Quote Share 0
                                    • R
                                      razor7788 LV 4 last edited by

                                      为什么 make 会出现错误 :
                                      Your PATH contains spaces, TABs, and/or newline (\n) characters.

                                      用了 sudo make 才可以

                                      1 Reply Last reply Reply Quote Share 0
                                      • wuhanstudio
                                        wuhanstudio LV 3 last edited by

                                        最近发现 buildroot 在内核打开交换空间 (CONFIG_SWAP) 开机就会死机

                                        1 Reply Last reply Reply Quote Share 0
                                        • Referenced by  q1215200171 q1215200171 
                                        • Referenced by  q1215200171 q1215200171 
                                        • 1 / 1
                                        • First post
                                          Last post

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

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