由于项目的需要,需要对emmc进行分区完成后并格式化操作,思路有三种:第一种在uboot中实现,以前的uboot有一些格式化命令,可是现在新版本的不知道是哪个,之前的版本uboot可能是被移植过去的;第二种是在Linux使用shell脚本实现,先使用mount挂载分区,如果挂载不成功,那么就进行格式化;第三种使用Linux的应用程序,在启动脚本中加载该应用,判断分区是否可以挂载,否则就进行格式化。
之前的u-boot使用的格式化命令是fatformat,如果有网友知道请告知,谢谢了。
这里最简单的方式也就是使用shell脚本的方式了。
首先要获得mount挂载的返回值了,shell提供的方式是$?,然后判断$?是否为0即可。
具体的代码如下:
mount -t ext4 /dev/mmcblk0p3 /mnt/sdcard/p1
ret=$?
echo $ret
if [ $ret -ne 0 ];then
echo "Start format /dev/mmcblk0p3"
mkfs.ext4 /dev/mmcblk0p3
mount -t ext4 /dev/mmcblk0p3 /mnt/sdcard/p1
echo "Format & mount /dev/mmcblk0p3 success"
fi
磁盘设备注意对应自己的系统来设置。该方法可以对多种格式的文件系统进行判断和格式化。
Ubuntu格式化硬盘:http://www.linuxdiyf.com/linux/3086.html
自动分区、格式化、挂载脚本:http://www.linuxdiyf.com/linux/16020.html
Linux添加新硬盘、分区、格式化、自动挂载:http://www.linuxdiyf.com/linux/14202.html
Ubuntu硬盘分区、格式化、自动挂载配置:http://www.linuxdiyf.com/linux/2960.html
CentOS ext4 磁盘分区 格式化 挂载:http://www.linuxdiyf.com/linux/1163.html