带fat32文件系统的bin二进制文件制作教程

发布于:2025-09-07 ⋅ 阅读:(15) ⋅ 点赞:(0)

FAT 文件系统镜像生成与资源打包指南

目录

  1. 功能概述
  2. 跨平台实现方案
  3. 资源打包流程
  4. 关键文件说明
  5. 文件系统参数对比
  6. 使用注意事项
  7. 典型应用场景

一、功能概述

本流程用于创建 FAT 文件系统格式的二进制镜像文件,将指定资源文件添加到镜像中,最终通过资源打包工具生成设备可用的资源文件(res.bin)。

二、跨平台实现方案

方案 A: WSL/Ubuntu 环境实现(推荐)

bash

安装必要组件(首次使用)
sudo apt update && sudo apt install -y dosfstools

创建8MB空白镜像
dd if=/dev/zero of=fat32.bin bs=1M count=8

格式化为FAT32
mkfs.fat -F 32 fat32.bin

挂载镜像文件
mkdir -p /tmp/fatmnt

sudo mount -o loop fat32.bin /tmp/fatmnt

复制资源文件
cp ./fat_nor/MIDI.mdb ./fat_nor/test.mp3 /tmp/fatmnt/

卸载镜像
sudo umount /tmp/fatmnt

方案 B: Windows 原生环境实现

  1. 创建create_disk.txt:
    text

create vdisk file=“C:\fat16.vhd” maximum=8

select vdisk file=“C:\fat16.vhd”

attach vdisk

create partition primary

format fs=fat quick

assign letter=I

exit

  1. 执行命令:
    batch

:: 创建虚拟磁盘

diskpart /s create_disk.txt

:: 复制文件

copy .\fat_nor*I:\

:: 导出二进制镜像

dd_tool\dd.exe if=.\I: of=.\fat16.bin bs=512

:: 卸载磁盘

diskpart /s detach_disk.txt

三、资源打包流程

batch

:: 执行资源打包

packres.exe -n fat_nor -o res.bin fat16.bin 0 -normal

:: 部署资源文件

copy .\res.bin …\res.bin

四、关键文件说明

文件/目录 用途说明
fat_nor/ 资源文件存储目录
fat32.bin Linux生成的FAT32镜像
fat16.bin Windows生成的FAT16镜像
res.bin 最终设备资源文件
packres.exe 资源打包工具

五、文件系统参数对比

特性 FAT32 FAT16
最大文件大小 4GB 2GB
最大文件数 268,435,437 65,536
簇大小 4KB-32KB 2KB-64KB
兼容性 现代设备 旧式设备

六、使用注意事项

  1. 权限要求

    • Linux需要sudo执行挂载操作
    • Windows需要管理员权限运行diskpart
  2. 资源准备
    bash

检查资源文件大小
du -sh fat_nor/

  1. 镜像验证
    bash

检查文件系统完整性
fsck.fat -nv fat32.bin

七、典型应用场景

  • 嵌入式系统资源打包
  • 固件升级包制作
  • 批量生产系统镜像
:: for wsl or ubuntu create fat bin file 
@REM wsl --install -d Ubuntu
@REM wsl -d Ubuntu
@REM sudo apt update
@REM sudo apt install dosfstools
@REM dd if=/dev/zero of=fat32.bin bs=1M count=8
@REM mkfs.fat -F 32 fat32.bin
@REM mkdir /tmp/fatmnt
@REM sudo mount -o loop fat32.bin /tmp/fatmnt
@REM cp yourfile.txt /tmp/fatmnt/
@REM sudo umount /tmp/fatmnt




:: for windows create fat bin file 
@REM diskpart
@REM create vdisk file="C:\fat16.vhd" maximum=8
@REM select vdisk file="C:\fat16.vhd"
@REM attach vdisk
@REM create partition primary
@REM format fs=fat quick
@REM assign letter=I
@REM copy C:\path\to\files\* I:\
@REM dd_tool\dd.exe if=\\.\I: of=.\fat16.bin bs=512
@REM detach vdisk

set RES_FILE=./fat_nor/MIDI.mdb ./fat_nor/test.mp3

.\packres.exe -n fat_nor -o res.bin fat16.bin 0 -normal
copy .\res.bin ..\res.bin

网站公告

今日签到

点亮在社区的每一天
去签到