如何使用Buildroot为I.MX6制作根文件系统?

TopSemic嵌入式
关注


这里需要核对一下登录的串口号是否配置正确,

Kernel

配置嵌入式系统的内核.因为我们不在Buildroot里编译内核,所以我们不需要选中内核相关配置。默认的是选择的,需要取消掉。

Target packages

文件系统运用程序以及库安装包。包含 1800 多种 buildroot package,供我们选择性的安装。

这里我要使用dropbear来实现ssh和scp的功能,只要到Networking application里选中就行了。

你可能会好奇的问,你是怎么知道在这个路径下的,告诉你一个方法,使用/ 搜索dropbear

得到的提示信息如下,里面告诉了你具体位置在哪。

Filesystem images

文件系统镜像文件。生成各种类型的根文件系统,例如 BUIFS、EXT2/3/4、jffs2 等。

这里使用如下的默认配置:

Bootloaders

系统引导程序。包括 Barebox、mxs-bootlets、U-boot等。因为这里我不在Buildroot里编译Uboot,所以不做配置。默认是选择了Uboot的,这里把它取消掉。

Host utilities

嵌入式系统的主机工具。选择一些需要的工具。

Legacy config options

历史遗留的配置。该版本的 buildroot 已经删除或者不支持的内容。

4)make all编译

sudo make all

会编译一段时间,不是很长,编译完之后,输出结果位于output/images 下,会生成rootfs.tar格式文件。

5)将rootfs.tar转成成bz2格式文件

cd output/images/
sudo mkdir rootfs
sudo tar xvf rootfs.tar -C ./rootfs/
cd rootfs/
sudo tar -cjf core-image-base-myd-y6ull14x14.rootfs.tar.bz2 *

因为Mfgtool里面的rootfs文件格式bz2格式,所以这里先解压,再压缩成bz2格式文件,最后放到Mfgtool对应目录里,通过USB烧写到板子里就行了。

4.结果查看

烧录到板子里正常启动后,使用USB转TTL串口,连接PC和板子,可以看到系统可以正常起来,host name是buildroot,和我们上面的配置一致。

ls/cd等命令也可以正常使用,

再看看我们上面添加的dropbear,执行以下步骤:

1)先查看dropbear的版本

dropbear –V

提示如下信息:

说明我们的dropbear已经成功弄进去了。

2)Linux内核启动后,dropbear会自动启动。通过键入以下命令验证dropbear是否正在侦听端口22

netstat -tln

3)使用cd命令先进入到 /etc/dropbear目录,并使用以下命令生成dropbear密钥

dropbearkey -t ecdsa -f dropbear_ecdsa_host_key

提示如下:

4)使用passwd给板子root用户设置一个密码

passwd

5) 插上网线连接PC和板子,ifconfig 配置网卡,电脑IP网段要和板子一致。

ifconfig eth1 192.168.20.224

5)之后就可以正常使用ssh和scp了

ssh登录成功如下:

scp也可以使用,用来方便的和windows主机进行上传下载文件。

5.结束语

使用Buildroot相比Yocto环境的搭建和具体使用要简单的多,它的整体使用和编译uboot、kernel差不多,同时生成的根文件系统也比较精简,建议大家尝试尝试。另外通过这次Buildroot我深刻的体会到利用第三方工具来构建系统的便捷之处,之前我还不理解为什么有这种东西的存在,对比我之前手动用busybox去构建根文件系统,以及自己编译移植dropbear到文件系统里,使用Buildroot这种工具真是方便的太多了,实践出真知啊。

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存