一、下载配置buildroot源文件

buildroot下载地址:
链接: https://pan.baidu.com/s/1NKMkyUfifO8CH-PQtsN5Fw 提取码: vvbq
【buildroot-2018.02/buildroot-2018.02.tar.gz】

将下载的buildroot压缩文件解压到ubuntu虚拟机的用户目录下,目录需要具备读写权限。

$ tar zxvf buildroot-2018.02.tar.gz

二、buildroot编译

在buildroot源文件configs目录下已添加IDO-EVB6Y09文件系统的配置文件,配置文件说明如下:

配置文件 功能说明
ido_evb6y09_hf_defconfig 配置编译硬浮点文件系统,不带Qt
ido_evb6y09_hf_qt4_8_7_defconfig 配置编译硬浮点文件系统,Qt版本为Qt4.8.7
ido_evb6y09_hf_qt5_9_4_defconfig 配置编译硬浮点文件系统,Qt版本为Qt5.9.4
ido_evb6y09_sf_defconfig 配置编译软浮点文件系统,不带Qt
ido_evb6y09_sf_qt4_8_7_defconfig 配置编译软浮点文件系统,Qt版本为Qt4.8.7

注:i.MX6ULL具有浮点运算单元,应用程序中的浮点运算可以借助浮点运算单元以更高的效率执行。

  1. 选择配置文件配置buildroot的编译选项
    以编译硬浮点Qt4.8.7版本的文件系统为例,在buildroot的根目录下执行下方命令,使用“ido_evb6y09_hf_qt4_8_7_defconfig”配置buildroot编译选项。
    $ make ido_evb6y09_hf_qt4_8_7_defconfig
  2. 编译文件系统
    编译buildroot需要用到root权限,在buildroot的根目录执行下方命令开始编译。buildroot构建文件系统需要从网络上下载软件源码,如果是首次编译则需要花费较长时间下载编译资源。
    $ sudo make
    编译完成后,即可在output/images/目录下获得打包好的根文件系统rootfs.tar
  3. 制作编译工具包
    $ sudo make sdk
    执行以上命令后 buildroot*/output/host 目录即为用于编译其它用户应用程序或Qt应用的交叉编译工具包。

4.打包编译工具包至别的PC使用
切换到 output 目录,将拷贝 host 目录并重名了

$ cd output
$ sudo cp host imx6ull_sdk
$ sudo tar -cjf imx6ull_sdk.tar.bz2 imx6ull_sdk

将打包好的文件 imx6ull_sdk.tar.bz2 拷贝至存放交叉编译工具的目录下,例如放置于 /opt/industio/ 目录

$ sudo tar -xjf imx6ull_sdk.tar.bz2 -C 
$ cd /opt/industio/imx6ull_sdk
$ sudo relocate-sdk.sh
$ ln -sf  $PWD/arm-buildroot-linux-gnueabihf/sysroot/usr/mkspecs mkspecs

三、buildroot配置修改

在buildroot根目录下执行下方命令即可打开图形化配置界面

$ make menuconfig

buildroot-menuconfig

  1. Target options
    配置硬件CPU的参数
    Target options
  2. Build options
    设置配置保存路径、下载路径等参数。
    Build options
  3. Toolchain
    编译链设置,此处设置为外部工具链,并指定已安装的交叉编译器的位置。
    Toolchain
  4. System configuration
    配置系统主机名和root密码等信息。
    System configuration
  5. Target packages
    包管理,此目录下包含了第三方开源工具编译选项,根据功能需求选择所要编译的软件包。
    Target packages

四、配置busybox

busybox中集成了很多linux工具,ifconfig、cat、cp等命令都包含在busybox中。
在buildroot的Target packages目录下包含了busybox配置文件,编译时会按照busybox.config中的配置下载和编译busybox软件。在buildroot的根目录执行下方命令即可开启busybox的图形化配置界面。

$ make busybox-menuconfig

busybox

五、在文件系统中添加用户软件和服务

由buildroot编译构建的文件系统只包含一些常规的软件和服务,还要针对开发板的功能需求添加自定义的程序来完善系统。
IDO-EVB6Y09开发板的自定义服务和程序可以从下方地址中获取:
链接: https://pan.baidu.com/s/1NKMkyUfifO8CH-PQtsN5Fw 提取码: vvbq
【buildroot-2018.02/buildroot_patch】

5.1 添加开机自启动服务

开机自启动服务用于执行开机自动运行的应用程序。
文件位于:【buildroot_patch/app_wrapper】
将下载的app_wrapper目录拷贝至开发板中,进入app_wrapper目录执行拷贝脚本即可。

# ./add_invokeExe.sh

5.2 添加EC20服务

EC20服务实现了EC20模块检测和拨号上网等功能。
文件位于:【buildroot_patch/lte】
将下载的lte目录拷贝至开发板中,进入lte目录下,执行拷贝脚本添加。

# ./add_lte.sh

5.3 添加qt及声卡环境变量

用于指定Qt的触摸屏设备,以及声卡参数设置。
文件位于:【buildroot_patch/qt_env】
将下载的qt_env目录拷贝至开发板中,进入qt_env目录,执行拷贝脚本添加。

# ./add_qtenv.sh

5.4 添加sd卡和U盘热拔插服务

热拔插服务实现了SD卡U盘插入检测自动挂载,和拔出自动卸载删除挂载点的功能。
文件位于:【buildroot_patch/sd_usb_hotplug】
将下载的sd_usb_hotplug文件夹拷贝至开发板中,进入sd_usb_hotplug目录,执行拷贝脚本。

# ./add_hotplug.sh

5.5 添加wlan服务

wlan服务包含了Wlan开启和停止AP/STA服务的脚本。
文件位于:【buildroot_patch/wlan】
将下载的wlan文件夹拷贝至开发板中,进入wlan目录,执行脚本。

# ./add_wlan.sh
文档更新时间: 2021-09-30 16:49   作者:admin