使用Buildroot为I.MX6制作根文件系统(下)

简介: 使用Buildroot为I.MX6制作根文件系统
  • 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这种工具真是方便的太多了,实践出真知啊。


如果有对我这里使用的开发板有兴趣购买的

相关文章
|
Ubuntu Linux 虚拟化
Linux下的IMX6ULL——构建bootloader、内核、文件系统(四)
Linux下的IMX6ULL——构建bootloader、内核、文件系统(四)
1335 0
Linux下的IMX6ULL——构建bootloader、内核、文件系统(四)
|
存储 前端开发 安全
前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
本文全面解析前端三种数据存储方式:Cookie、LocalStorage与SessionStorage。涵盖其定义、使用方法、生命周期、优缺点及典型应用场景,帮助开发者根据登录状态、用户偏好、会话控制等需求,选择合适的存储方案,提升Web应用的性能与安全性。(238字)
1377 0
|
存储 安全 区块链
如何使用Crypto++库?
【10月更文挑战第29天】如何使用Crypto++库?
918 4
|
11月前
|
存储 数据可视化 安全
基于AR技术交互式设备维修的技术方案剖析|阿法龙XR云平台
本方案以AR技术为核心,融合穿戴设备与软件系统,实现维修导引、远程协作与数据管理。通过“硬件+软件+数据”协同,提升维修效率30%以上,降低人为差错,适用于电力、能源等高复杂度设备维护。(239字)
|
算法 Linux C++
【Linux系统编程】深入理解Linux中的chmod函数和mode_t类型
【Linux系统编程】深入理解Linux中的chmod函数和mode_t类型
845 0
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
1026 15
|
Ubuntu Linux 编译器
根文件系统移植:bulidroot根文件系统搭建详细步骤
根文件系统移植:bulidroot根文件系统搭建详细步骤
2475 1
|
Ubuntu Linux 网络安全
使用Buildroot为I.MX6制作根文件系统(上)
使用Buildroot为I.MX6制作根文件系统
Linux 命令 `chown`:改变文件或目录的所有者
`chown` 是 Linux 中用于改变文件或目录所有者的命令。基本语法是 `chown [选项] 新所有者 文件或目录...`。常用选项包括 `-R` 递归更改、`-c` 显示详细信息和 `-v` 显示详细处理。示例:将 `example.txt` 所有者改为 `user2` 使用 `chown user2 example.txt`;更改目录 `mydir` 及其内容所有者为 `user2` 使用 `chown -R user2 mydir`。注意,通常只有 root 或当前所有者能更改所有者,且需谨慎操作以避免影响权限。
|
安全 Shell Linux
【Shell 命令集合 文件传输 】Linux tftp命令使用指南
【Shell 命令集合 文件传输 】Linux tftp命令使用指南
1126 0