热度 30
2014-10-16 13:58
4411 次阅读|
11 个评论
执行 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 卡就能够执行烧写功能了。