利⽤dosfstools编译mkfs.fatmkfs.vfat程序
利⽤dosfstools-4.1编译mkfs.fat/mkfs.vfat程序
前⾔
由于⼯作需要,经常在⼀些嵌⼊式平台⽤到mkfs.vfat命令来格式化u盘、存储卡等存储介质。在使⽤zedboard平台进⾏编译时,发现在⽤根⽂件系统中不含mkfs.vfat命令,给⼯作带来很多不便。故计划编译mkfs.vfat命令移植进平台。
可⽤⽅案
1、集成⾄busybox移植;
2、利⽤dosfstools编译移植;
对于⽅案1,已有诸多⽂章给出详细介绍。考虑到本⼈所⽤zedboard平台根⽂件系统放在nor flash,存储空间受限,编译出的busybox⽂件较⼤,⽆法存放⾄nor flash,故放弃此⽅案。
实现步骤
zedboard平台的交叉编译链为arm-xilinx-linux-gnueabi-, 故CC=arm-xilinx-linux-gnueabi-gcc,–host=arm-xilinx-linux。这⾥我指定程序存放路径为当前路径,故–prefix=$PWD;
5、编译,make;
6、安装,make install;
8、确认编出的可执⾏程序mkfs.fat的⽂件格式, file sbin/mkfs.fat;
本⼈编出的mkfs.fat在$PWD/sbin/路径下,实际路径根据上⽂“–prefix=”配置查;
9、复制可执⾏程序mkfs.fat⾄所⽤平台(zedboard);
10、在所⽤平台(zedboard)将复制的可执⾏程序mkfs.fat放⾄/usr/sbin/路径:
mv mkfs.fat /usr/sbin/
11、到/usr/sbin路径,建⽴mkfs.vfat软链接:
cd /usr/sbin/
ln -s mkfs.vfat mkfs.fat存储卡无法格式化
12、⼤功告成,可以在平台使⽤mkfs.vfat⼯具啦。
其他说明
本⼈最初采⽤了dosfstools_3.版本编译⽣成mkfs.fat,但使⽤过程中发现该版本对⼤容量存储卡强制格式化为F32格式,存储卡可见容量只有2G,故尝试采⽤了更新版本的dosfstools_编译mkfs.fat,这样格式化⼤容量存储设备,可见容量更符合实际。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论