首先把我们编译的u-boot.bin文件烧写到sd卡的0地址处。
dd if=./u-boot.bin of=/dev/sdb
然后把uImage烧写到0x100000(即1MB)地址处,因为MBR+u-boot.bin <= 1M,u-boot。bin大约250KB,我们这里给u-boot留够空间。
dd if=./uImage of=/dev/sdb bs=1024 seek=1024 count=3072
然后再给SD卡分区,分区信息保存在MBR中:
MBR大小为512字节。
由于mx51数据手册中明确写了sd卡的0地址处要为MBR,所以我们把MBR信息覆盖掉u-boot.bin的前512字节部分。
命令:fdisk /dev/sdb
要求给第一个主分区起始地址至少4M以后,为了给前面的MBR+bootloader+kernel留足够的空间。分区格式可以任意,只要在kernel配置里面添加相应的文件系统格式支持就可以了,然后把根文件系统放到第一个分区,用cp -rpa [A-z]* /home/user/rootfs /tftpboot/mx51实现递归目录拷贝,这样板子一上电就可以跑起来了。
下面说一下在u-boot模式下烧写kernel的方法。
命令:(1)tftpboot 0x90800000 192.168.2.104:/tftpboot/uImage
(2)mmc write 0 0x90800000 0x800 0x2000
阅读(3960) | 评论(0) | 转发(0) |