官方原版的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