制作一张SD启动卡,可以有两种选择,第一,利用TI-SDK的脚本来制作,该脚本功能较多,可以制作2分区的也可以制作3分区的启动卡,而且写入的相关启动文件比如MLO、u-boot.img、根文件系统(包括了内核)既可以是TI-SDK包里面自带的预编译好的,也可以是自己做的放在其他地方的文件;第二,完全自己手动制作,定制一张自己想要的大小、分区数、写入自己编译的MLO、u-boot.img、根文件系统,这样也算是DIY了。TI-SDK包的使用不做说明,非常简单好用,运行脚本creat-sdcard.sh即可。下面介绍手动制作启动卡的步骤。1、关于SD卡启动模式当按住BBB板子上的boot按键,板子便从SD卡(也就是mmc0)启动,此时ROM-Code从SD卡的一个活动主分区(boot分区)寻找SPL文件,将其加载到片内SRAM,控制权移交SRAM,之后SPL运行后又以和寻找SPL相同的方式开始寻找u-boot.img文件,于是从boot分区找到u-boot.img文件,并将其加载到片外SDRAM,之后u-boot加载内核,挂载根分区的根文件系统(rootfs分区)。系统启动!由此得出结论,一张SD必须具备一个活动主分区,而且分区格式为FAT32(LBA),暂时把这个分区的名字叫做boot,boot分区中必须要有MLO、u-boot.img,以及一个根分区,分区格式为ext3/4,叫做rootfs,rootfs分区中必须有根文件系统,其他的就无所谓了。也就是说其他的文件可以和这些文件共存,只要保证这些文件以及目录完好即可。既然现在大小、分区数都有自己来定了,那么我手上一张8GB的内存卡microSD,我希望除了这两个用于启动系统的分区外还有第三个分区用于存放自己的文件,这样以后操作另外两个分区不会影响第三个分区,也不用像以前老是要把U盘的东西复制出来腾出空间做启动盘。在linux可系统中对于一个移动设备它可以识别上面所有的分区,包括ext2/3/4以及FAT32(LBA),而windows系统对于一个移动设备,他仅仅识别上面第一个主分区,如果没有主分区就识别第一个逻辑分区,仅仅支持FAT32(LBA)格式。另外,对于BBB开发板,活动主分区一定要在第一个,否则启动系统时找不到文件。那么,有两种选择,1)分区为boot分区,活动主分区,格式FAT32(LBA),大小50M即可2)分区为rootfs分区,主分区,格式ext3/4,大小2GB3)分区为store分区,主分区,格式ext3/4,剩余全部空间或者1)分区为boot分区,活动主分区,格式FAT32(LBA),大小5GB2)分区为rootfs分区,主分区,格式ext3/4,剩余全部两种分区方法各有好处缺点。也可以有其他选择。Note:一个硬盘或者移动存储设备,上面最多可以有四个分区,其中包括主分区和扩展分区,并且扩展分区最多一个,当然也可以没有扩展分区。扩展分区之下可以有若干个逻辑分区。所以总容量=主分区+扩展分区,而扩展分区=逻辑分区之和。2、制作SD卡选择第二种方案进行分区。操作环境,虚拟机ubuntu12.04,microSD卡8GB,BBB开发板。step1:设置SD卡的磁头数、扇区数、柱面数,即H、S、C,这样设置是为了向SD卡读写数据是达到较高性能,其中C=SD卡bytes/H*S*512,我的SD卡的C=966,。相关参考资料http://omappedia.org/wiki/SD_Configuration#Alternative_Script_to_format_SD_Cards_for_3_partitionshttp://bbs.mydigit.cn/read.php?tid=331754http://bbs.mydigit.cn/read.php?tid=152497zhouyu@zhouyu-virtual-machine:~$ ls /dev | grep sdsdasda1sda2sda5sda6sdbsdb1sdcsdc1sddsdd1sdd2sdd3sdd5zhouyu@zhouyu-virtual-machine:~$ sudo umount /dev/sdd5zhouyu@zhouyu-virtual-machine:~$ sudo umount /dev/sdd2zhouyu@zhouyu-virtual-machine:~$ sudo umount /dev/sdd3zhouyu@zhouyu-virtual-machine:~$ sudo fdisk /dev/sdd命令(输入 m 获取帮助): pDisk /dev/sdd: 7948 MB, 7948206080 bytes245 heads, 62 sectors/track, 1021 cylinders, total 15523840 sectorsUnits = 扇区 of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000设备 启动      起点          终点     块数   Id  系统/dev/sdd1            2048    10487807     5242880    5  扩展/dev/sdd2   *    10487808    10569727       40960    c  W95 FAT32 (LBA)/dev/sdd3        10569728    15523839     2477056   83  Linux/dev/sdd5            4096    10487806     5241855+   c  W95 FAT32 (LBA)命令(输入 m 获取帮助):插入SD卡后用命令查看一下,当前SD卡的标号是sdd,而且里面已经有分区sdd1(扩展分区),sdd2(活动主分区),sdd3(主分区),sdd5(逻辑分区),现将其全部卸载,再用fdisk程序开始进行分区工作。命令(输入 m 获取帮助): d分区号 (1-5): 1命令(输入 m 获取帮助): d分区号 (1-4): 2命令(输入 m 获取帮助): dSelected partition 3命令(输入 m 获取帮助): x专家命令(输入 m 显示帮助): h磁头数 (1-256,默认为 245): 255专家命令(输入 m 显示帮助): s扇区数 (1-63,默认为 62): 63专家命令(输入 m 显示帮助): c柱面数 (1-1048576,默认为 1021): 966专家命令(输入 m 显示帮助): r命令(输入 m 获取帮助):先删除原先的分区,在输入指令X进入专家模式,分别设置H、S、C。C=SD卡bytes/H*S*512,取整数。设置完后输入R返回,继续。step2:分区设置命令(输入 m 获取帮助): pDisk /dev/sdd: 7948 MB, 7948206080 bytes255 heads, 63 sectors/track, 966 cylinders, total 15523840 sectorsUnits = 扇区 of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000设备 启动      起点          终点     块数   Id  系统命令(输入 m 获取帮助): nPartition type:p   primary (0 primary, 0 extended, 4 free)e   extendedSelect (default p): p分区号 (1-4,默认为 1): 1起始 sector (2048-15523839,默认为 2048): 2048Last sector, +扇区 or +size{K,M,G} (2048-15523839,默认为 15523839): +6G命令(输入 m 获取帮助): nPartition type:p   primary (1 primary, 0 extended, 3 free)e   extendedSelect (default p): p分区号 (1-4,默认为 2): 2起始 sector (12584960-15523839,默认为 12584960):将使用默认值 12584960Last sector, +扇区 or +size{K,M,G} (12584960-15523839,默认为 15523839):将使用默认值 15523839命令(输入 m 获取帮助): pDisk /dev/sdd: 7948 MB, 7948206080 bytes255 heads, 63 sectors/track, 966 cylinders, total 15523840 sectorsUnits = 扇区 of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000设备 启动      起点          终点     块数   Id  系统/dev/sdd1            2048    12584959     6291456   83  Linux/dev/sdd2        12584960    15523839     1469440   83  Linux命令(输入 m 获取帮助):可以看到新建分区前指令p的输出显示没有任何分区,再按照前面说的方案进行分区后在输入指令p查看新建的分区。step3:改变boot分区的系统id和设置boot分区为活动主分区命令(输入 m 获取帮助): t分区号 (1-4): 1Hex code (type L to list codes): cChanged system type of partition 1 to c (W95 FAT32 (LBA))命令(输入 m 获取帮助): a分区号 (1-4): 1命令(输入 m 获取帮助): pDisk /dev/sdd: 7948 MB, 7948206080 bytes255 heads, 63 sectors/track, 966 cylinders, total 15523840 sectorsUnits = 扇区 of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000设备 启动      起点          终点     块数   Id  系统/dev/sdd1   *        2048    12584959     6291456    c  W95 FAT32 (LBA)/dev/sdd2        12584960    15523839     1469440   83  Linux命令(输入 m 获取帮助): wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: If you have created or modified any DOS 6.xpartitions, please see the fdisk manual page for additionalinformation.Syncing disks.通过指令x,将分区表写入SD卡,分区完成!step4:分区格式化zhouyu@zhouyu-virtual-machine:~$ sudo mkfs.vfat -F 32 -n boot /dev/sdd1[sudo] password for zhouyu:mkfs.vfat 3.0.12 (29 Oct 2011)zhouyu@zhouyu-virtual-machine:~$ sudo mkfs.ext3 -L rootfs /dev/sdd2mke2fs 1.42 (29-Nov-2011)文件系统标签=rootfsOS type: Linux块大小=4096 (log=2)分块大小=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks91968 inodes, 367360 blocks18368 blocks (5.00%) reserved for the super user第一个数据块=0Maximum filesystem blocks=37748736012 block groups32768 blocks per group, 32768 fragments per group7664 inodes per groupSuperblock backups stored on blocks:32768, 98304, 163840, 229376, 294912Allocating group tables: 完成正在写入inode表: 完成Creating journal (8192 blocks): 完成第一个分区被格式化成FAT32(LBA),分区名称boot。第二个分区被格式化成ext3,分区名称rootfs。step5:拷贝MLO、u-boot.img、rootfilesystem<pre class="plain" name="code">zhouyu@zhouyu-virtual-machine:/opt/ti-sdk-am335x-evm-07.00.00.00/board-support/prebuilt-images$ sudo cp MLO-am335x-evm /media/boot/MLOzhouyu@zhouyu-virtual-machine:/opt/ti-sdk-am335x-evm-07.00.00.00/board-support/prebuilt-images$ sudo cp u-boot-am335x-evm.img /media/boot/u-boot.imgzhouyu@zhouyu-virtual-machine:/opt/ti-sdk-am335x-evm-07.00.00.00/board-support/prebuilt-images$ synczhouyu@zhouyu-virtual-machine:/opt/ti-sdk-am335x-evm-07.00.00.00/filesystem$ sudo tar -zxvf tisdk-rootfs-image-am335x-evm.tar.gz -C /media/rootfs/zhouyu@zhouyu-virtual-machine:/opt/ti-sdk-am335x-evm-07.00.00.00/filesystem$ sync对于硬盘、优盘这类块设备,每次拷贝完文件其实文件只是写入了缓冲区,所以CP完后都要执行sync,将读写操作真正完成。

am335x sd卡分区制作文档相关推荐

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

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

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

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

  3. link2sd或者app2sd前的分区——SD卡分区教程 link2sd教程 app2sd教程

    link2sd或者app2sd前的分区--SD卡分区教程 link2sd教程 app2sd教程 2011年03月25日 星期五 上午 10:59 索爱官方2.33系统ROOT.备份.刷MIUI等和强刷 ...

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

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

  5. SD卡分区教程 安卓手机SD卡分区

    教程来自安智论坛 PS:对SD卡进行分区的软件和方法很多.本贴只举一例.另外.分区会导致卡里的内容全部丢失,所以请提前将卡里的内容复制出来备份好 SD卡分区软件WinPM.rar下载 安卓系统SD卡分 ...

  6. LINUX下的SD卡分区

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

  7. sd卡分区 提示sd卡损坏_如何从损坏的SD卡中恢复图像

    sd卡分区 提示sd卡损坏 Just because your SD card is spitting out file errors and gibberish file names doesn't ...

  8. linux sd卡 分区变大,Linux下使用fdisk命令将高容量SD卡(SDHC)格成两个分区

    刚买了一个4G的TF卡,居然在我的智能山寨机coolo818上不能使用,因为coolo818最大支持2G的卡.于是,就想把高容量的SD卡格成两个2G的盘片来用. 在 Fedora 8下,将一张4G的T ...

  9. linux命令sd卡分区及格式化sd卡

    写一个命令如果sd卡已分区,就格式化sd卡,如果没有分区先分区再格式化,最后重启系统. if [ -e /dev/mmcblk0p1 ]; thenecho "partition /dev/ ...

最新文章

  1. NLP机器翻译深度学习实战课程基础 | 深度应用
  2. 《Adobe After Effects CS6中文版经典教程》——1.3 创建合成图像与组织图层
  3. 方程的解_NOI导刊2010提高(01) 组合数
  4. creator 跳跃弧线_(转)CocosCreator零基础制作游戏《极限跳跃》四、添加游戏主场景控制脚本...
  5. java实体字节属性定义_Java字节码方法表与属性表详解
  6. 论文学习7-Spam Review Detection with Graph Convolutional Networks(阿里巴巴)
  7. 【报告分享】2022年零售行业消费趋势新主张-京东+罗兰贝格.pdf(附下载链接)...
  8. Ubuntu安装OpenTSDB
  9. DB2 SQL Error: SQLCODE=-668, SQLSTATE=57016错误解决方法
  10. python爬取去哪网数据_Python爬虫入门:使用Python爬取网络数据
  11. 解决keil注册机和编译错误的问题2020-12-28
  12. 单片机c语言fft函数,单片机ADC采样FFT计算试验
  13. 安卓开发3d模型展示源码_Android(安卓)全套开发资料视频+源码
  14. 动漫测试题软件,Flash动画考试试卷
  15. CAN BUS原理理解
  16. android文件管理器,10款优秀的Android文件管理器
  17. 基于java的汽车租赁管理系统的设计与实现(含源文件)
  18. 飞凌OK6410A 多媒体视频编解码 player-qt4 QT视频播放器
  19. html灯箱效果代码,WordPress纯代码实现图片灯箱lightbox效果
  20. target triplets

热门文章

  1. 我国中央商务区(CBD)的空间重构及发展模式
  2. 3.5电子书pc显示
  3. javaScript定时器函数
  4. Smarty教程[3]
  5. CAN在线升级(STM32F103ZE)
  6. Node.js学习笔记一
  7. docker-compose up之Windows named pipe error:(code: 2)
  8. 跑linux主机配置,在 StorSimple Linux 主机上配置 MPIO | Microsoft Docs
  9. 今天没怎么学到东西。。。
  10. C. Felicity is Coming!(灰常考验思维!!)