使用buildroot构建imx6ull的构建文件系统

使用buildroot构建imx6ull的构建文件系统

官方原版的Yocto过于复杂,并且我构建了几回都没有成功。因此我换成了用buildroot来为imx6ull构建文件系统。
我使用的操做系统是ubuntu1604,使用的开发版是米尔科技的imx6ull。git

安装须要的软件

在编译源码前须要先安装一些软件web

sudo apt-get install libncurses5-dev

安装交叉编译链

这里不赘述,能够根据我本身写的教程去搭建,个人安装目录是~/work/tool/ubuntu

搭建IMX6ull环境svg

获取源码

咱们先建立一个文件夹用于存放源码ui

mkdir -p ~/work/sources/rootfs/

切换到该目录下下载源码es5

cd ~/work/sources/rootfs/
wget https://buildroot.org/downloads/buildroot-2019.02.tar.gz
tar xvf buildroot-2019.02.tar.gz -C ~/work/sources/rootfs/

配置源码

切换到源码目录下,打开配置清单操作系统

cd ~/work/sources/rootfs/
make menuconfig

下面的选项都是从根页面开始code

配置芯片类型

打开如下选项xml

Target options  --->

将选项修改为
配置芯片类型blog

配置交叉编译链

打开如下选项

Toolchain  --->

将页面修改为
配置交叉编译链

配置系统参数

打开如下选项

System configuration  --->

将页面修改为
配置系统参数
这里我配置了hostname,用户密码,登陆串口与获取ip的网口

生成文件系统

编译源码

配置完成后,输入如下指令开始编译,编译时间有点久

make all

编译完之后会生成一个压缩包

~/work/sources/rootfs/buildroot-2019.02/output/images/rootfs.tar

修改文件系统

咱们在文件系统生成之后可能须要在文件系统内加入咱们本身的可执行文件,或者修改文件系统的环境变量。buildroot会先生成一个模板供咱们修改,这个模板存放在 ~/work/sources/rootfs/buildroot-2019.02/output/target,修改完之后再从新生成一边文件系统就能够了。

设置用户提示符

打开 ~/work/sources/rootfs/buildroot-2019.02/output/target/etc/profile,将其中的

if [ "$PS1" ]; then
    if [ "`id -u`" -eq 0 ]; then
        export PS1='# '
    else
        export PS1='$ '
    fi
fi

修改成

if [ "$PS1" ]; then
    if [ "`id -u`" -eq 0 ]; then
        export PS1='\u@\h:\w\# '
    else
        export PS1='\u@\h:\w\$ '
    fi
fi