Linux的启动SD卡的格式化方法

发布时间:2013-12-19 17:15:10

要在OMAP3530上运行Linux,首先要知道如何启动OMAP3530,并且将MLOXDLRUBOOTUImage以及文件系统等镜像程序下载到OMAP3530的芯片中去。

    OMAP3530提供了两种启动方式,NAND FLASH启动和SD卡启动。对于第一次烧写程序,在没有JTAG的情况下,我们采用了SD卡启动的方式较为方便。

    Linux下的SD启动和WINCE下的SD卡启动大为不同。启动WINCESD卡直接用FAT32格式化就可以了,而启动LinuxSD卡需要格式化分区成两个区:FAT32区和EXT3文件系统区(Linux)。第一个分区作为系统引导区,包含了MLO(引导XDLR,XLDR(引导UBOOT,UBOOT(引导UImage  Linux系统镜像)UImage,RamDisk;第二个分区用于存放文件系统。所以不仅要在Windows下格式化,还要在Linux下格式化分区。

    1)言归正传,首先在Windows下使用FAT32格式化整个SD卡,SD卡的大小尽量大些,我用的512MB。(请不要使用快速格式化)

    2)启动Linux,卸载掉Windows下的SD卡。在Linux下加载,最好是用读卡器(虚拟机下)

加载成功后,可以看到你的SD卡。





   3)查看文件系统信息和SD卡的挂载点

输入命令:dmesg|tail



输入命令:df -h



从上面的信息来看,该SD的文件系统是 /dev/sdb1/dev/sdb2,挂载点为/media/LABEL1/media/LABEL2

这里的参数会根据你的自身系统环境而定,产生细节的不同。比如你的显示是 /dev/sdc1, 挂载点位 /media/disk等等。

   4)卸载SD

在格式化SD卡之前需要卸载SD卡,输入命令:umount /media/LABEL1umount /media/LABEL2,或者直接在图形化界面中卸载。



   5)格式化SD

输入命令:sudofdisk /dev/sdb(如果你的文件系统显示为 /dev/sdc,就替换为/dev/sdc)。



   6)输入选项m,列出命令列表

   7) 输入命令p,参看SD卡的具体信息

从上面的信息看,当前的SD卡总共有501MB501219328bytes255heads63sectors/track,60cylindes

并且有两个分区(这是我之前分好的,这些信息会根据自己的情况而定)。

   8) 删除所有的SD卡分区

输入命令 d





   9) 如果SD卡不是255 heads,63 sectors/track,按照以下步骤建立扇区。

输入命令扩展命令x,然后输入m,输出扩展命令列表。





然后输入命令 h,改变heads = 255



接着输入命令 s,改变sectors/track = 63



输入命令 c,计算出cylinders =  (SD卡的字节数目)/255/63/512 = 501219328bytes/255/63/512 = 60.936445689,这里取整数60.



输入命令 r,返回普通命令页面。



输入命令 p,显示SD卡信息



  

   10)建立两个分区FAT32EXT3,按照如下图示输入,首先建立第一个分区,其中空白区命令表示ENTER





改变分区的系统ID,输入命令t,并且选择第一分区,输入分区类型码c(FAT32)



激活第一分区的bootable标志,输入命令a,选择第一分区

建立第二个分区,按照如下图示:



到此,FAT32EXT3分区建立完毕,输入命令p,输出分区信息:



   11输入命令w,将分区信息写入到SD卡并推出格式化菜单





   12)按照图示输入以下命令格式化两个分区









到此创建Linux的启动SD卡完成,需要注意的一点是,有时需要重新再Windows下再次使用FAT32格式化第一个引导分区LABEL1,才能成功引导Linux。(请不要使用快速格式化)

Linux的启动SD卡的格式化方法

相关推荐