日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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.vfat

android 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 exit

android 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文件系统制作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。