可能大家都非常熟悉jffs2和yaffs2文件系统在flash上的搭建,当然对于存储系统必须文件,比如配置文件,可执行文件和数据文件等,他们是非常棒的,但是如果需要将开发板模拟成u盘来让操作系统通过usb识别的话,还需要从flash中事先保留一块分区给fat才行,下面就着重介绍如何将flash预留的6M空间做成fat32分区[luther.gliethttp].

RedBoot> fis create -l 0x600000 gliethttp.vfat      // 创建一个6M的空分区,用来格式化成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分区中[luther.gliethttp].

(PS:不知道为什么

# fdisk /dev/mtd4

# fdisk /dev/mtdblock4 都不能正常创建fat分区[luther.gliethttp].

)

阅读(4980) | 评论(0) | 转发(0) |

linux添加vfat分区,浅析mkfs.vfat如何在arm开发板上创建fat32独立分区相关推荐

  1. 【linux】ARM开发板上设置RTC时间,断电重启后,设置失效的原因分析

    问题描述 linux中使用date设置时间后用hwclock -w同步到RTC,断电重启后,有时会失效 原因分析 保存时间戳 1.使用命令关机(halt)会调用rc0.d中的脚本: 2.使用命令重启( ...

  2. linux usb视频开发板,ARM开发板上USB 摄像头图像采集实现

    开发板上的arm是AT91RM9200,摄像头选用的是网眼的pc350,主控芯片是ov511+.系统内核是2.4,宿主机是fedora core 6,交叉编译器是2.95.3.就是这些家底了,:-). ...

  3. qemu图形界面linux,QEMU 简单几步搭建一个虚拟的ARM开发板

    1.安装QEMU 先在Ubuntu中安装QEMU sudo apt-get install qemu 1 安装几个QEMU需要的软件包: sudo apt-get install zlib1g-dev ...

  4. arm linux内核调试,kgdb在ARM开发板上调试kernel成功

    大概几个注意点: 1.公版的Linux需要打kgdb补丁的,kgdb官方那边可能不支持新版本的内核(我的是2.6.18),可以在下面的网址找到,但是ARM上调试需要打哪些补丁,不是很清楚,网上的几篇中 ...

  5. 将linux内核烧进arm板,ARM开发板上uClinux内核移植

    <ARM开发板上uClinux内核移植>由会员分享,可在线阅读,更多相关<ARM开发板上uClinux内核移植(19页珍藏版)>请在人人文库网上搜索. 1.纷傲掌秀悸篷益哑檀扬 ...

  6. [2021]Linux下C语言qrencode二维码生成库的基本使用和ARM开发板移植

    文章目录 一.前言 二.准备所用到的环境以及版本信息 1.Ubuntu和内核版本 2.gcc和g++版本 3.交叉编译gcc和g++版本 4.开发板信息 三.开发环境编译&安装qrencode ...

  7. linux内核添加usb键盘驱动,配置USB外设 - linux-2.6.32在mini2440开发板上移植_Linux编程_Linux公社-Linux系统门户网站...

    linux-2.6.32在mini2440开发板上移植 配置USB外设 [日期:2013-04-08] 来源:Linux社区 作者:ssdsafsdsd [字体:大 中 小] 编者:因为LINUX内核 ...

  8. #内存不够,swap来凑# Linux上创建SWAP文件/分区

    转自:https://www.vmvps.com/how-to-create-a-swap-file-on-the-linux-os.html 很久很久以前,电脑的内存是个珍贵东西,于是乎就有了swa ...

  9. 让kaldi在Linux开发板上运行起来~ (测试运行篇)

    [kaldi各文件解释] /egs:不同语料例子的执行脚本文件 /tools:存放asr过程中用到的库 /src:存放实际执行的c++算法 解码工具(src/onlinebin中): online-g ...

最新文章

  1. ios xib 四等分_ios Xib的几种用法[转]
  2. 【kuangbin专题】计算几何_半平面交
  3. ASP.NET: 简要分析Table类的使用
  4. nodejs Yarn替代npm的包管理——快速、安全、可靠性高的依赖管理
  5. c++经典书籍--深度探索C++对象模型
  6. wps 选择 高亮_WPS的这些功能,竟然如此好用
  7. ArcEngine判断要素(feature)是否为multipart feature及分解(炸开)代码
  8. CICD流程设计及openshift与k8s的命令对比
  9. python2.x和3.x的区别 print_Python2.x和Python3.x的区别
  10. LeetCode 其他部分 简单 Python实现
  11. 数据统一管理--企业决策分析之刚需
  12. Android程序中回调的讲解和使用
  13. 【TWVRP】基于matlab A_star算法求解带时间窗和任务软时间窗多车场多车型车辆路径问题【含Matlab源码 1561期】
  14. [转] 在ASP.NET MVC3中使用EFCodeFirst 1.0
  15. window 搜索占用进程 资源监视器
  16. oracle 简版客户端instantclient使用 oledb ODAC组件使用
  17. 闪迪u盘量产工具万能版_加密保护,更高性能!闪迪酷奂CZ74 U盘新品果然够惊艳...
  18. 阿里云首席安全科学家吴翰清的思考:弹性安全网络,构建下一代安全的互联网
  19. 辽宁高考成绩查询电话2021,2021年辽宁高考成绩查询电话,辽宁高考成绩查询短信和电话号码...
  20. JVM--Jit学习

热门文章

  1. NWBC连接配置及使用
  2. S/4 HANA – 是ERP皇帝的新装,还是SAP王国的新基石
  3. sap信贷管理的操作流程
  4. SAP中事务代码ME2N中引出的表格里,仍要Invoice数量是什么含义?
  5. Google Play
  6. SAP中如何实现<生产订单>的批量删除方法!
  7. ALV DataChange EVENT
  8. 在选择屏幕的标准应用工具条上增加自定义按钮
  9. SD--订单最小量限制的增强
  10. oracle管理用户安全,oracle中管理用户的安全