tiny210V2 Uboot kernel filesystem 烧写和启动

1.sd启动

将u-boot镜像写入SD卡
将SD卡通过读卡器接上电脑(或直接插入笔记本卡槽),通过"cat /proc/partitions"找出SD卡对应的设备,我的设备节点是/dev/sdb.

执行下面的命令
$sudo dd iflag=dsync oflag=dsync if=tiny210-uboot.bin of=/dev/sdb seek=1

设置环境变量:

setenv gatewayip 192.168.1.1
setenv ipaddr 192.168.1.102
setenv netmask 255.255.255.0
setenv serverip 192.168.1.10

saveenv

2.nand启动

烧写Uboot:
方法1:
通过SD卡启动的u-boot for tiny210 将u-boot镜像写入nandflash
开发板终端下执行下面的命令
[FriendlyLEG-TINY210]# tftp 21000000 tiny210-uboot.bin
[FriendlyLEG-TINY210]# nand erase.chip
[FriendlyLEG-TINY210]# nand write 21000000 0 3c1f4 
方法2:
minicom + 串口
loadb 21000000
ctrl + A; Z; S; kermit; 选择自己的Uboot
[FriendlyLEG-TINY210]# nand erase.chip
[FriendlyLEG-TINY210]# nand write 21000000 0 3c1f4
注意:大小为自己Uboot
3.烧写内核和跟文件系统
内核的烧写位置是0x600000开始的区域,文件系统烧写位置为0xe00000开始的区域。
命令如下:
[FriendlyLEG-TINY210]#tftp 21000000 rootfs_android.img           //下载文件到内存
[FriendlyLEG-TINY210]#nand erase e00000 f200000              //擦写相应的nand
[FriendlyLEG-TINY210]#nand write.yaffs 21000000 e00000 b03c280       //写到nand
 
记住yaffs镜像是包含OOB数据的,所以写入NAND Flash的数据应该是2112(=2048 + 64)字节的整数倍。
 
4.启动参数
设置bootargs参数
1:如果用yaffs2文件系统
setenv bootargs noinitrd root=/dev/mtdblock4 rootfstype=yaffs2 rw console=ttySAC0,115200 init=/linuxrc mem=64M
2:如果用NFS文件系统
setenv bootargs noinitrd root=/dev/nfs rw nfsroot= 192.168.0.100 :/ home/lq/rootfs ip=192.168.0.10 console=ttySAC0 mem=64M
 
设置自启动参数bootcmd    //暂时不确定使用那种方法。
我刚开始时 是这样写的:
setenv bootcmd  nand read 20008000 80000 22e800 ; bootm 20008000
按确定后 直接执行了bootm这个命令 于是改了:
setenv  bootcmd  nand read 20008000 80000 22e800 ; bootm 20008000 就OK了
 
setenv bootargs root=/dev/nfs rw nfsroot=192.168.1.10:/home/xyp/nfsroot/rootfs ip=192.168.1.102:192.168.1.10:192.168.1.1:255.255.255.0::eth0:off console=ttySAC0,115200 init=/linuxrc
希望今晚测试顺利!
原文地址:https://www.cnblogs.com/hei-da-mi/p/4763579.html