當前位置:
首頁 >
Android 10上的F2FS文件系统制作
發布時間:2023/12/31
48
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Android 10上的F2FS文件系统制作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文件系統制作工具
mke2fs - create an ext2/ext3/ext4 filesystem e2fsck - check a Linux ext2/ext3/ext4 file system mkfs - build a Linux filesystem 他會調用如下一些工具來制作文件系統: mkfs.f2fs,mkfs.bfs, mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.minix, mkfs.msdos, mkfs.vfat, mkfs.xfs fsck - check and repair a Linux filesystem 支持fsck.f2fs, fsck.ext2 or fsck.ext3, cramfsck, fsck.minix, fsck.msdos, fsck.jfs, fsck.nfs, fsck.vfatandroid f2fs userdata.img制作
Android平臺上使用如下命令:
out/host/linux-x86/bin$ ./make_f2fs --help Usage: mkfs.f2fs [options] device [sectors] [options]:-a heap-based allocation [default:0]-c [device path] up to 7 devices excepts meta device-d debug level [default:0]-e [cold file ext list] e.g. "mp3,gif,mov"-E [hot file ext list] e.g. "db"-f force overwrite the exist filesystem-g add default options-i extended node bitmap, node ratio is 20% by default-l label-m support zoned block device [default:0]-o overprovision ratio [default:5]-O feature1[feature2,feature3,...] e.g. "encrypt"-q quiet mode-R root_owner [default: 0:0]-s # of segments per section [default:1]-S sparse mode-t 0: nodiscard, 1: discard [default:1]-w wanted sector size-z # of sections per zone [default:1]-V print the version number and exit向一個空的f2fs文件鏡像中添加文件:
$ sload_f2fs Usage: sload.f2fs [options] device [options]:-C fs_config-f source directory [path of the source directory]-p product out directory-s file_contexts-S sparse_mode-t mount point [prefix of target fs path, default:/]-T timestamp-d debug level [default:0]-V print the version number and exitandroid userdata.img的生成:
build/make/tools/releasetools/build_image.py \$(TARGET_OUT_DATA) $(userdataimage_intermediates)/userdata_image_info.txt $(INSTALLED_USERDATAIMAGE_TARGET) $(TARGET_OUT)build_image.py會解析userdata_image_info.txt,并最后調用mkf2fsuserimg來制作userdata.img,格式為F2FS文件系統:
elif fs_type.startswith("f2fs"):build_command = ["mkf2fsuserimg.sh"]build_command.extend([out_file, prop_dict["image_size"]])if fs_config:build_command.extend(["-C", fs_config])build_command.extend(["-f", in_dir])if target_out:build_command.extend(["-D", target_out])if "selinux_fc" in prop_dict:build_command.extend(["-s", prop_dict["selinux_fc"]])build_command.extend(["-t", prop_dict["mount_point"]])if "timestamp" in prop_dict:build_command.extend(["-T", str(prop_dict["timestamp"])])build_command.extend(["-L", prop_dict["mount_point"]])實際運行命令,我進行了一下簡化,如下所示:
mkf2fsuserimg.sh IMAGE/userdata.img 8318382080 -f ./input_dir -s META/file_contexts.bin -t data -T 1230768000 -L data它的各個選項的含義如下所示:
Usage: mkf2fsuserimg.sh OUTPUT_FILE SIZE[-C FS_CONFIG] [-f SRC_DIR] [-D PRODUCT_OUT][-s FILE_CONTEXTS] [-t MOUNT_POINT] [-T TIMESTAMP][-L LABEL]最后這個腳本會調用如下的命令,簡化一下的結果如下:
make_f2fs -S 48318382080 -g android -l data IMAGE/userdata.img sload_f2fs -S -f ./input_dir -s META/file_contexts.bin -t /data -T 1230768000 IMAGE/userdata.img這兩個命令分別是用于創建一個f2fs的鏡像,以及向這個鏡像中添加文件。
總結
以上是生活随笔為你收集整理的Android 10上的F2FS文件系统制作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux下安装ansys
- 下一篇: Android 启动模拟器是出现 Fai