第一:需要在u-boot的命令行设置参数,并下载内核到内存,同时设置向内核传递的参数(nfs挂在目录等)
$ tftp 0x20008000 zImage //从tftp服务器里下载内核zImage 到内存20008000地址中 ,tftp服务器的ip地址由serverip 变量确定
$ nand erase 100000 300000 //擦除nandflash中,从 100000 开始,长度为300000的内容
$ nand write 20008000 100000 300000 //把内存20008000 中的内容 写入nandflash的100000地址中,长度为300000
$ setenv bootcmd nand read 20008000 100000 300000 \; go 20008000 //u-boot倒数计数时,如果不干预,它会自动加载bootcmd中命令运行。 如果有多个命令 用 \; 分隔开来
//这里是指,自动从nandflash中读入内核, 然后运行内核。
$ saveenv
如果目前我们已经制作好了一个cramfs格式的文件系统,那么我们在向内核传递参数的时候,就用下面红色的参数(我们这里没有考虑内核的情况,先暂时这样理解吧):
//-----下载rootfs
$ tftp 0x20008000 rootfs.cramfs
$ nand erase 400000 400000
$ nand write 20008000 400000 400000
$ setenv bootargs root=/dev/mtdblock2 init=/linuxrc console=ttySAC0,115200 //
$ saveenv
$ reset
上面:我只是想说明,在u-boot过度到linux内核阶段,注意的参数传递,并没有其他的意思