linux添加vfat分区,浅析mkfs.vfat如何在arm开发板上创建fat32独立分区
可能大家都非常熟悉jffs2和yaffs2文件系統(tǒng)在flash上的搭建,當然對于存儲系統(tǒng)必須文件,比如配置文件,可執(zhí)行文件和數(shù)據(jù)文件等,他們是非常棒的,但是如果需要將開發(fā)板模擬成u盤來讓操作系統(tǒng)通過usb識別的話,還需要從flash中事先保留一塊分區(qū)給fat才行,下面就著重介紹如何將flash預(yù)留的6M空間做成fat32分區(qū)[luther.gliethttp].
RedBoot> fis create -l 0x600000 gliethttp.vfat????? // 創(chuàng)建一個6M的空分區(qū),用來格式化成fat32
... Erase from 0x60c00000-0x61200000: ........................
... Program from 0x00000000-0x00000000 at 0x60c00000:
... Erase from 0x61fc0000-0x62000000: .
... Program from 0x03fbf000-0x03fff000 at 0x61fc0000: .
RedBoot> fis list
Name????????????? FLASH addr? Mem addr??? Length????? Entry point
RedBoot?????????? 0x60000000? 0x60000000? 0x00040000? 0x00000000
RedBoot config??? 0x61F80000? 0x61F80000? 0x00001000? 0x00000000
FIS directory???? 0x61FC0000? 0x61FC0000? 0x00040000? 0x00000000
initramfs???????? 0x60900000? 0x00800000? 0x00300000? 0x00800000
zImage??????????? 0x60040000? 0x00080000? 0x00200000? 0x00080000
gliethttp.jffs2?? 0x60400000? 0x60400000? 0x00500000? 0x00080000
gliethttp.vfat??? 0x60C00000? 0x00000000? 0x00600000? 0x00000000
進入busybox的shell
# cat /proc/mtd
dev:??? size?? erasesize? name
mtd0: 00040000 00040000 "RedBoot"
mtd1: 00200000 00040000 "zImage"
mtd2: 00500000 00040000 "gliethttp.jffs2"
mtd3: 00300000 00040000 "initramfs"
mtd4: 00600000 00040000 "gliethttp.vfat"
mtd5: 00001000 00040000 "RedBoot config"
mtd6: 00040000 00040000 "FIS directory"
# mtd_debug read /dev/mtd4 0 512 gliethttp.bin;hexdump gliethttp.bin -Cv
Copied 512 bytes from address 0x00000000 in flash to gliethttp.bin
00000000? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000010? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000020? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000030? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000040? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000050? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000060? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000070? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000080? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000090? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
000000a0? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
000000b0? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
000000c0? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
000000d0? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
000000e0? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
000000f0? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000100? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000110? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000120? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000130? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000140? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000150? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000160? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000170? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000180? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
00000190? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
000001a0? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
000001b0? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
000001c0? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
000001d0? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
000001e0? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
000001f0? ff ff ff ff ff ff ff ff? ff ff ff ff ff ff ff ff? |................|
# mkfs.vfat /dev/mtd4 6144? // 0x600000/1024=6144K
# mtd_debug read /dev/mtd4 0 512 gliethttp.bin;hexdump gliethttp.bin -Cv
Copied 512 bytes from address 0x00000000 in flash to gliethttp.bin
00000000? eb 58 90 6d 6b 64 6f 73? 66 73 00 00 02 01 06 00? |.X.mkdosfs......|
00000010? 02 00 00 00 30 f8 00 00? 3f 00 ff 00 00 00 00 00? |....0...?.......|
00000020? 00 30 00 00 5f 00 00 00? 00 00 00 00 02 00 00 00? |.0.._...........|
00000030? 01 00 03 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
00000040? 00 00 29 20 04 00 00 00? 00 00 00 00 00 00 00 00? |..) ............|
00000050? 00 00 46 41 54 33 32 20? 20 20 0e 1f be 77 7c ac? |..FAT32?? ...w|.|
00000060? 22 c0 74 0b 56 b4 0e bb? 07 00 cd 10 5e eb f0 32? |".t.V.......^..2|
00000070? e4 cd 16 cd 19 eb fe 54? 68 69 73 20 69 73 20 6e? |.......This is n|
00000080? 6f 74 20 61 20 62 6f 6f? 74 61 62 6c 65 20 64 69? |ot a bootable di|
00000090? 73 6b 0d 0a 00 00 00 00? 00 00 00 00 00 00 00 00? |sk..............|
000000a0? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
000000b0? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
000000c0? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
000000d0? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
000000e0? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
000000f0? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
00000100? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
00000110? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
00000120? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
00000130? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
00000140? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
00000150? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
00000160? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
00000170? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
00000180? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
00000190? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
000001a0? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
000001b0? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
000001c0? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
000001d0? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
000001e0? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 00 00? |................|
000001f0? 00 00 00 00 00 00 00 00? 00 00 00 00 00 00 55 aa? |..............U.|
# mount -t vfat /dev/mtdblock4 /mnt
# df -h
Filesystem??????????????? Size????? Used Available Use% Mounted on
/dev/mtdblock4??????????? 5.9M?????? 512????? 5.9M?? 0% /mnt
# cp /bin/busybox /mnt/
# df -h
Filesystem??????????????? Size????? Used Available Use% Mounted on
/dev/mtdblock4??????????? 5.9M??? 808.0K????? 5.1M? 13% /mnt
# umount /mnt
# reboot開機之后可以看到busybox實實在在的存儲到了fat32分區(qū)中[luther.gliethttp].
(PS:不知道為什么
# fdisk /dev/mtd4
# fdisk /dev/mtdblock4 都不能正常創(chuàng)建fat分區(qū)[luther.gliethttp].
)
閱讀(4980) | 評論(0) | 轉(zhuǎn)發(fā)(0) |
總結(jié)
以上是生活随笔為你收集整理的linux添加vfat分区,浅析mkfs.vfat如何在arm开发板上创建fat32独立分区的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux命令eric,Linux命令行
- 下一篇: linux nat软件,linux下na