Navigation

    全志在线开发者论坛

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

    全志V3S嵌入式驱动开发 - 制作根文件系统

    爱搞机专区
    1
    1
    1029
    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.
    • bayche
      bayche LV 6 last edited by q1215200171

      根文件系统是嵌入式开发很重要的一环。目前对于大多数soc来说,制作嵌入式系统就是配置buildroot文件。今天使用的buildroot版本是buildroot-2017.08.tar.gz,大家也可以使用自己比较熟悉的buildroot版本,关键是配置信息需要选对。

      1、解压文件

      tar xzvf buildroot-2017.08.tar.gz
      

      下载地址如下所示,

      https://buildroot.org/downloads/
      

      2、开始准备配置

      配置的方法其实和内核编译比较接近,也是make menuconfig。

      cd buildroot-2017.08
      make menuconfig
      

      配置主要有两部分,一部分是关于cpu的,一部分是关于toolchain交叉编译的。有这两部分选好了,最基本的rootfs就可以编译出来。

      3、配置cpu

      0158fb82b5394037b6cfdef87bd72d1b.png

      配置cpu的部分主要就是两点,第一,选择ARM little endian;第二,选择cotex-A7。其他的配置都选择默认就好了。

      4、toolchain编译器的配置

      这部分的配置有几个方面,第一,告诉buildroot,这里使用自己的编译器,

      7330ff3cd09946e3a7384666ddf8d792.png

      第二,告知buildroot,不使用它推荐的编译器,

      7a8baf69ef8b49b8819881231998c67b.png

      第三,设置自定义编译器的位置,

      1d72c3e656d3436fbce4969367235be0.png

      第四,依次设置编译器前缀、gcc版本、内核头文件版本、glibc库、使能SSP、RPC、C++。

      f89c3f85c80b492384a6531960d7684e.png

      5、保存

      退出的时候,提示是否保存,直接选择“是”即可。

      6、开始编译

      make clean; make
      

      7、确认是否编译成功

      等待一会,如果没有错误发生的话,在out/images目录下面,就有一个rootfs.tar文件。里面包含了所有的编译结果。当然在这个过程当中,务必保持ubuntu上位机处于一个良好的网络状态,这主要是因为buildroot在编译的同时,需要不停地从第三方下载代码进行解压和编译,比如说busybox。如果网络中间出现卡顿,其实比较影响编译效率的。

      当然,如果后期客户需要添加自己的程序,只需要把rootfs.tar解压一下,同时把自己的程序重新copy到对应的目录,再次压缩一下就可以了。

      8、总结

      通过练习,大家也发现根文件系统的制作主要还是依赖两个方面,一个是cpu,一个是编译器,剩下的部分基本就是功能的选择、模块的选择、特性的选择等等。这部分大家可以根据自己的需求灵活做出改变。

      此外,如果不想记住这么多配置,那么可以把buildroot下面的.config文件保存下来,到时候直接拷贝粘贴也可以的。这样也能省略很多不必要的烦恼,提高一下开发的效率。

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

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

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