1、ubuntu实现SD-Flasher.exe原理
友善官方给出的烧录uboot的工具是SD-Flasher.exe,这个工具只能在windows下使用。由于本人电脑无法打开这个工具,所以在windows下无法制作sd启动卡。

看了官方文档介绍,SD-Flasher.exe原理是在sd卡前面预留130M,然后在这个空白的130M区域内烧入uboot,在ubuntu下可以使用fdisk和dd命令实现同样的操作。

2、格式化sd卡
在进行该操作前,需要先将sd卡分区,使用fdisk命令进行分区。
插入sd卡,先对sd卡进行格式化。查看sd卡在/dev下的设备名称,一般名称为/dev/sdb或者/dev/sdc等

查看sd卡挂载情况

mount -l | grep sdb/dev/sdb1 on /media/chen/5B69-318F type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)
/dev/sdb3 on /media/chen/5BA3-8E79 type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)

可以看到我的sd卡分别挂载了1和3分区,现将这两个分区卸载

umount /media/chen/5B69-318F
umount /media/chen/5BA3-8E79

格式化sd卡成fat32格式

sudo mkfs.vfat -I /dev/sdb

清空sd卡的分区表

sudo dd if=/dev/zero of=/dev/sdb bs=512 count=1

3、制作sd启动盘:
sudo dd iflag=dsync oflag=dsync if=tiny210v2-uboot.bin of=/dev/sdb seek=1
这里seek=1,跳过sd卡第一个block,因为sd卡开始的512个字节用来存放分区表。其中tiny210v2-uboot.bin来自http://blog.csdn.net/liukun321/article/details/7438880

4、创建uboot和kernel分区

在sd卡起始130M的地方创建第一个分区,前面按照友善文档预留130M,其实可以不需要预留这么大空间。
这里我们设定第一个分区的大小为100M。

sudo fdisk /dev/sdbDevice contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xc3f695a7.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)命令(输入 m 获取帮助): pDisk /dev/sdb: 7948 MB, 7948206080 bytes
245 heads, 62 sectors/track, 1021 cylinders, total 15523840 sectors
Units = 扇区 of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc3f695a7设备 启动      起点          终点     块数   Id  系统命令(输入 m 获取帮助): n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): p
分区号 (1-4,默认为 1): 1
起始 sector (2048-15523839,默认为 2048): 268288
Last sector, +扇区 or +size{K,M,G} (268288-15523839,默认为 15523839): +100M命令(输入 m 获取帮助): pDisk /dev/sdb: 7948 MB, 7948206080 bytes
245 heads, 62 sectors/track, 1021 cylinders, total 15523840 sectors
Units = 扇区 of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc3f695a7设备 启动      起点          终点     块数   Id  系统
/dev/sdb1          268288      473087      102400   83  Linux指定分区格式为fat32,因为uboot支持fat32的文件系统,所以可以在uboot启动后通过fatload mmc命令把分区中的uboot文件和kernel文件读取出来。命令(输入 m 获取帮助): t
Selected partition 1
Hex code (type L to list codes): b
Changed system type of partition 1 to b (W95 FAT32)命令(输入 m 获取帮助): pDisk /dev/sdb: 7948 MB, 7948206080 bytes
245 heads, 62 sectors/track, 1021 cylinders, total 15523840 sectors
Units = 扇区 of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc3f695a7设备 启动      起点          终点     块数   Id  系统
/dev/sdb1          268288      473087      102400    b  W95 FAT32命令(输入 m 获取帮助): w
The partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.

然后对分区进行格式化,格式化成fat32

sudo mkfs -t vfat /dev/sdb1
mkfs.fat 3.0.26 (2014-03-07)

5、增加文件系统分区
第二个分区用于存放文件系统,格式为ext3,创建过程和第一个分区类似

sudo fdisk /dev/sdb命令(输入 m 获取帮助): pDisk /dev/sdb: 7948 MB, 7948206080 bytes
36 heads, 28 sectors/track, 15400 cylinders, total 15523840 sectors
Units = 扇区 of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc3f695a7设备 启动      起点          终点     块数   Id  系统
/dev/sdb1          268288      473087      102400    b  W95 FAT32命令(输入 m 获取帮助): n
Partition type:p   primary (1 primary, 0 extended, 3 free)e   extended
Select (default p): p
分区号 (1-4,默认为 2): 2
起始 sector (2048-15523839,默认为 2048): 473088
Last sector, +扇区 or +size{K,M,G} (473088-15523839,默认为 15523839): +2G命令(输入 m 获取帮助): t
分区号 (1-4): 2
Hex code (type L to list codes): 83命令(输入 m 获取帮助): pDisk /dev/sdb: 7948 MB, 7948206080 bytes
36 heads, 28 sectors/track, 15400 cylinders, total 15523840 sectors
Units = 扇区 of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc3f695a7设备 启动      起点          终点     块数   Id  系统
/dev/sdb1          268288      473087      102400    b  W95 FAT32
/dev/sdb2          473088     4667391     2097152   83  Linux命令(输入 m 获取帮助): w
The partition table has been altered!Calling ioctl() to re-read partition table.
Syncing disks.

格式化成ext4格式

sudo mkfs -t ext4 /dev/sdb2
mke2fs 1.42.9 (4-Feb-2014)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 

这样就创建好了二个分区,第一个分区用来分别存放uboot、kernel,第二个分区用来存放filesystem。如果后面还要增加分区的话,则第四个分区必须是扩展分区,因为主分区和扩展分区最多只能4个。

因为windows下默认只显示sd卡第一个分区,所以当把sd卡插入到windows下的时候显示的可用容量只有10M,这是因为我们的第一个分区用来存放uboot,大小设置为10M,所以windows下显示只有10M可用。

tiny210 ubuntu下sd卡分区相关推荐

  1. 利用ubuntu对SD卡分区,生成EXT3、EXT4分区

    在虚拟机中,打开ubuntu. 插入SD卡,选择将USB挂载到ubuntu而不是windows. 在GNOME中,search "disks" 找到disks工具后,选择gener ...

  2. ubuntu下对sd卡 分区和格式化 挂载sd卡

    一. sd卡分区和格式化 1.查看自己的设备号 命令:mount 可以看到 最后一行即为sd卡的挂载目录 2. umount 由于sd卡插上之后会自动mount,所以需要unmout 命令:umoun ...

  3. ubuntu挂载sd卡到分区目录+修改docker镜像存储位置

    ubuntu挂载sd卡到分区目录+修改docker镜像存储位置 一. 挂载SD卡到/data 1.查看Linux硬盘信息 lsblk 或 fdisk -l lsblk 新的硬盘,最好删除之前的分区,再 ...

  4. ubuntu14.04系统下对SD卡分区

    在ubuntu14.04系统下对SD卡进行分区分为3步: 注意:进行SD卡分区时,用户操作权限为root权限! (1) umount SD卡 查看SD卡挂载目录,一般在/media目录下: sudo ...

  5. LINUX下的SD卡分区

    LINUX下的SD卡分区     首先在windows下面使用HP格式化工具格式化SD卡,然后将SD卡接入Linux操作系统. 识别SD卡后,打开终端.查看SD卡是否已经挂载,如果已经挂载需要先卸载再 ...

  6. Linux(CentOS、Ubuntu)下,磁盘分区、挂载

    文章目录 Linux(CentOS.Ubuntu)下,磁盘分区.挂载 分区的方式: Linux分区 [lsblk] [fdisk] [mkfs] [mount] [umount] [/etc/fsta ...

  7. Ubuntu中SD卡格式化以及写数据

    备注 主要内容来自于网上视频 使用mount命令 发现sd卡分区被挂载 需要卸载 使用umount命令进行卸载 使用mount命令再一次检查一下 会发现sd卡不挂载情况 直接按d进行删除分区 再一次 ...

  8. Ubuntu下添加新分区并设置挂载点

    Ubuntu下添加新分区并设置挂载点 最近在做Android项目,可是解压根文件系统以后,就报警说硬盘不够.当初设置使用的大小为15G.不过扩展分区还是很方便的.当然首先你得设置添加使用的硬盘大小,这 ...

  9. Android模拟器环境下SD卡内容的管理[转]

    Android模拟器环境下SD卡内容的管理 2010-11-30 22:03 by ·风信子·, 2305 阅读, 0 评论, 收藏, 编辑 本文旨在介绍一些Android模拟器下如何对SD卡内容进行 ...

  10. Android刷机SD卡分区指南 [

    一.查看sd卡设备 在这里sda是我的电脑硬盘,sdb是sd卡的设备文件 二.卸载sd卡分区 三.查看sd卡原有分区 四.删除sd卡原有分区 五.建立新的分区 六.设置文件系统类型 七.格式化新分区 ...

最新文章

  1. linux下安装libsvm_Linux下libsvm的安装及简单练习
  2. 李佳琦一晚卖了100亿,有位“硬汉”在背后默默发力
  3. 我和“限速”之间的纠缠(一)
  4. react-native run-android的输出
  5. 你的元器件为什么会无缘无故地失效了?
  6. java 8 排序反转_Java 8 排序小结
  7. 计算机网络原码反码补码,计算机的原码和反码及补码到底是什么
  8. 如何创建一个特定版本的python虚拟环境
  9. 设计灵感|电商美工,年年都能借鉴的新年
  10. UVA485 Pascal‘s Triangle of Death【大数】
  11. 京东金融创新”ABS云平台” 大数据提升直接融资效率
  12. 大数据Hadoop学习记录(1)----HDFS目录和文件Shell操作
  13. 搜狗词库.scel文件转换为.txt文件(python3)
  14. 联想计算机无线网络设置密码,联想笔记本电脑wifi怎么连接
  15. ORACLE_SID环境变量写错,因未设置系统环境变量ORACLE_SID导致ORA-12162错误
  16. VBA的userform 相关的基本事件,方法和属性,以及 userform.name 使用规范备忘
  17. 看黄天鹅如何下一颗高端鸡蛋?
  18. spark.jars.packages使用镜像源加速
  19. Mobilenet_v2的参数alpha和depth_multiplier
  20. (不打广告)推荐这款永久免费内网穿透软件-神卓互联

热门文章

  1. 胡铸韬担任BCF理事
  2. 系统策略禁止安装此设备。请与系统管理员联系-解决方案
  3. 任正非谈管理--读书笔记
  4. 读 稻盛和夫《干法》
  5. 建立数学模型论文写作
  6. 西雅图亚马逊1个月入职日记,传闻中的“血汗工厂”真实存在吗?
  7. java freemarker jxl excel_freemarker导出定制excel
  8. 数据之美----雪球网股票组合分析
  9. 【清华大学】操作系统 陈渝 Part4 ——物理内存管理 之 非连续内存分配
  10. 北京周边有意境的好去处!!!