最近维护公司的一款产品,在开机脚本中需要将emmc格式化为ext4的文件系统,发现在方案厂商提供的根文件系统中不存在mkfs.ext4工具。这里想到一种快速的临时解决办法,使用buildroot将mke2fs编译出来,然后移植到产品的根文件系统镜像中。
1、编译buildroot
进入buildroot的根目录,执行:
make menuconfig
其他菜单的配置可以参考我的博客 二、buildroot菜单配置,这里只关注 Target package 选项。
进入 Target package 菜单:
再进入Filesystem and flash utilities 菜单:
选择配置如下:
保存菜单配置并退出。执行
sudo make
等待编译完成。
2、移植mke2fs
进入output/target/sbin目录,将mke2fs、mkfs.ext2、mkfs.ext3、mkfs.ext4复制到目标文件系统的 /sbin 或者 /bin目录下,根据个人习惯或者公司习惯来决定。我将其放在 /bin 目录下。
查看 mke2fs 所依赖的动态库有哪些:
objdump -p mke2fs | grep NEEDED
这些依赖的动态库也一并复制到目标 根文件系统 的 /lib 或者 /usr/lib 中去。文章来源:https://www.toymoban.com/news/detail-541188.html
3、mke2fs的使用方法
mke2fs -t <文件系统格式> <块设备>
实例:
mke2fs -t ext4 /dev/mmcblck1
mkfs.ext2、mkfs.ext3、mkfs.ext4都是mke2fs的软连接,使用它们可以省略文件系统格式的参数。
文章来源地址https://www.toymoban.com/news/detail-541188.html
mke2fs -t ext4 /dev/mmcblck1
可以简写为:
mkfs.ext4 /dev/mmcblck1
到了这里,关于三、使用buildroot制作mke2fs (mkfs.ext2、mkfs.ext3、mkfs.ext4)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!