当前位置: 首页 > backend >正文

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

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

目录

  1. 功能概述
  2. 跨平台实现方案
    • WSL/Ubuntu 方案
    • Windows 原生方案
  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.binLinux生成的FAT32镜像
fat16.binWindows生成的FAT16镜像
res.bin最终设备资源文件
packres.exe资源打包工具

五、文件系统参数对比

特性FAT32FAT16
最大文件大小4GB2GB
最大文件数268,435,43765,536
簇大小4KB-32KB2KB-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 vdiskset 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
http://www.xdnf.cn/news/20382.html

相关文章:

  • 【FastDDS】XTypes Extensions
  • 没有深度学习
  • 笔记:ubuntu安装matlab
  • 机械硬盘的工作原理
  • 接口权限验证有哪些方式
  • B.50.10.08-Nacos架构与电商应用
  • 容器镜像:运行容器的静态蓝图
  • 基于SpringBoot+JSP开发的潮鞋网络商城
  • ISO/IEC 27001 第八章 运行
  • MIMO-OFDM ISAC Waveform Design for Range-Doppler Sidelobe Suppression
  • 【C++ 双指针技巧】
  • 嵌入式学习笔记--Linux系统编程阶段--DAY06进程间通信-消息队列
  • Linux知识回顾总结----文件系统
  • 南科大适应、协同与规划的完美融合!P³:迈向多功能的具身智能体
  • 【基础-单选】下面哪一个事件方法可以获取到List滑动的偏移量
  • Flicking单图轮播无法拖动的问题
  • c++primer 个人学习总结-模板和泛型编程
  • 《QDebug 2025年8月》
  • 前端开发学习路径
  • LeetCode 468. 验证IP地址 - 详细解析
  • 嵌入式学习笔记--Linux系统编程阶段--DAY07进程间通信--存储映射和共享内存
  • 区块链技术
  • 如何减少微型导轨表面破损情况?
  • JWT概念及使用详解
  • Dart语言基础 关键字 var与dynamic
  • 整车无线布置的综述
  • 【完整源码+数据集+部署教程】室内场景分割系统源码和数据集:改进yolo11-DWR
  • 算法题(200):最大子段和(动态规划)
  • 责任链框架 03:处理器实现
  • 《Science》神经炎症综述思路套用:从机制到跨领域研究范式