执行SD-Flasher操作后的SD卡,被分成两个区,一个是150M的Free Space,一个是剩余空间构成的FAT32分区。Superboot210.bin被放在Free Space里面,而zImage则放在FAT32里面。
只要fdisk/dd能够实现上面的功能,就可以替代SD-Flasher。
NO.1:使用fdisk给SD卡分区
首先要知道SD对应的设备文件(假设是/dev/sdb),然后执行:
fdisk /dev/sdb
使用fdisk的指令,从50M的地址开始(预留空间50M即可),新建一个primary分区,并且将分区ID设置为0x0b(w95分区)。
重启Linux系统,使能磁盘引导区。
NO.2:使用mkdosfs命令创建FAT32文件系统
mkdosfs -F 32 -n MARIA_NAME /dev/sdb1
fdisk是对磁盘的操作,mkdosfs是对磁盘分区的操作。文件系统是对磁盘分区而言。
NO.3:使用dd写入Superboot210.bin
dd iflag=dsync oflag=dsync if=Superboot21.bin of=/dev/sdb seek=1
sync
dsync是指要先把文件写入缓冲区,然后再写入文件;sync是指同步写入,读不到数据就用NULL填充。seek=1是指要跳过第一个block,因为第一个block里面含有磁盘到区信息。
sync是将缓冲区里面的内容写入磁盘。
最后将需要的zImage文件,拷贝进入FAT32分区。此时SD卡就能够执行烧写功能了。
用户377235 2013-10-20 15:22
DiracFatCat 2013-8-19 16:49
345002072_353389109 2013-8-19 15:49
DiracFatCat 2013-8-16 18:57
用户377235 2013-8-16 08:53
用户403664 2013-8-15 16:41
DiracFatCat 2013-8-13 15:37
用户403664 2013-8-13 15:25
DiracFatCat 2013-8-12 21:33
chen_zs2012_704941858 2013-8-12 10:21