Chinaunix首页 | 论坛 | 博客
  • 博客访问: 260000
  • 博文数量: 70
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 173
  • 用 户 组: 普通用户
  • 注册时间: 2014-06-09 13:47
文章存档

2023年(1)

2018年(7)

2017年(4)

2016年(1)

2015年(25)

2014年(32)

我的朋友

分类:

2014-09-22 10:31:34

busybox已经提供了fdsik和mkfs.vfat工具,可以使用busybox提供的fdisk和mkfs.vfat来格式化开发板上分区,当然如果非要使用纯正原始版本的mkfs.vfat也可以,需要从源码交叉编译,
mkfs.vfat就是mkdosfs,
通过如下信息可以看到
luther@gliethttp:~$ mkfs.vfat
mkfs.vfat 2.11 (12 Mar 2005)
No device specified!
// 这里可以看到为mkdosfs程序,只是程序名变为了mkfs.vfat而已.
Usage: mkdosfs [-A] [-c] [-C] [-v] [-I] [-l bad-block-file] [-b backup-boot-sector]
       [-m boot-msg-file] [-n volume-name] [-i volume-id] [-B bootcode]
       [-s sectors-per-cluster] [-S logical-sector-size] [-f number-of-FATs]
       [-h hidden-sectors] [-F fat-size] [-r root-dir-entries] [-R reserved-sectors]
       /dev/name [blocks]

luther@gliethttp:~$ wget
luther@gliethttp:~/dosfstools-3.0.5$ make -j4  // 就可以生成mkdosfs了
如果需要交叉编译到arm开发板上格式化来一个存储区作为fat文件系统,只需要提供一个CC选项即可.

luther@gliethttp:~/dosfstools-3.0.5$ make CC=arm-linux-gcc
luther@gliethttp:~/dosfstools-3.0.5$ file mkdosfs
mkdosfs: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.6.14, dynamically linked (uses shared libs), not stripped
===================================================================================

名称: mkdosfs
使用权限: 所有使用者
使用方式: mkdosfs [ -c | -l filename ]
[ -f number_of_FATs ]
[ -F FAT_size ]
[ -i volume_id ]
[ -m message_file ]
[ -n volume_name ]
[ -r root_dir_entry ]
[ -s sector_per_cluster ]
[ -v ]
device
[ block_count ]

说明: 建立 DOS 档案系统。 device 指你想要建立 DOS 档案系统的装置代号。像是 /dev/hda1 等等。 block_count 则是你希望配置的区块数。如果 block_count 没有指定则系统会自动替你计算符合该装置大小的区块数。
参数:

-c 建立档案系统之前先检查是否有坏轨。
-l 从得定的档案中读取坏轨记录。
-f 指定档案配置表(FAT , File Allocation Table)的数量。预设值为 2 。目前 Linux 的 FAT 档案系统不支援超过 2 个 FAT 表。通常这个不需要改。
-F 指定 FAT 表的大小,通常是 12 或是 16 个位元组。12 位元组通常用于磁碟片,16 位元组用于一般硬碟的分割区,也就是所谓的 FAT16 格式。这个值通常系统会自己选定适当的值。在磁碟片上用 FAT16 通常不会发生作用,反之在硬碟上用 FAT12 亦然。
-i 指定 Volume ID。一般是一个 4 个位元组的数字,像是 2e203a47 。如果不给系统会自己产生。
-m 当使用者试图用这片磁片或是分割区开机,而上面没有作业系统时,系统会给使用者一段警告讯息。这个参数就是用来变更这个讯息的。你可以先用档案编辑好,然后用这个参数指定,或是用
-m -
这样系统会要求你直接输入这段文字。要特别注意的是,档案里的字串长度不要超过 418 个字,包括展开的跳栏符号(TAB)和换行符号(换行符号在 DOS 底下算两个字元!)
-n 指定 Volume Name,就是磁碟标签。如同在 DOS 底下的 format 指令一样,给不给都可以。没有预设值。
-r 指定根目录底下的最大档案数。这里所谓的档案数包括目录。预设值是在软碟上是 112 或是 224 ,在硬碟上是 512。没事不要改这个数字。
-s 每一个磁丛(cluster)的磁区数。必须是 2 的次方数。不过除非你知道你在作什么,这个值不要乱给。
-v 提供额外的讯息
范例:
mkdosfs -n Tester /dev/fd0 将 A 槽里的磁碟片格式化为 DOS 格式,并将标签设为 Tester
阅读(2791) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~