在uboot里烧写系统

需要三个系统文件
  rootfs.img  
  uImage 
  u-boot.bin  
  // 一定要烧写flash的0x0地址
  //u-boot和zimage要配套。要不然可能开不了机
将linux三个系统文件烧写到flash的三个区域
1. 安装windows下的tftp服务
因为uboot里有tftp的客服端
    .打开tftpd32 
      .brower -> 共享的目录
      .serverip -> 本地主机ip
      
2. 网络设置(在开发板上操作)
  1)连接好网络
  2)重启开发板,在3s减到0之前,按下回车,进入到一个交互界面,执行如下操作
  
  # pri //查看当前u-boot的环境变量
  主要是看下ipaddr,serverip,gatewayip?
  
  # set serverip 192.168.1.6    // 主机IP
  # set ipaddr 192.168.1.3    // 开发板IP 
  # set gatewayip 192.168.1.168
  # save 
  # re
  重启完毕
  # ping 192.168.1.6
  如果出现host 192.168.1.6 is alive,说明通了
        
3. 安装Linux系统

  1)安装kernel
  # tftp 40000000 uImage //暂时放到SDRAM内存上
  # nand erase 0x600000 0x500000 //nand flash上先在地址600000擦除500000字节bit大小的空间
  # nand write 40000000 600000 500000 
  //从内存40000000上往nand flash的600000地址写入大小500000的空间
  
  2) 安装rootfs
  # tftp 40000000 rootfs.img  
  # nand erase 0xe00000 0xf200000 
  # nand write.yaffs 0x40000000 0xe00000 0x5e95c0 
  (0x5e95c0指的是tftp下载的实际大小,这里不能是0xf200000大,会报错)

  3) 安装u-boot
  # tftp 40000000 u-boot.bin
  # nand erase 0x0 0x600000  
  # nand write 40000000 0x0 0x600000 
  
4. 设置linux启动参数
  # set bootcmd nand read 40000000 600000 500000 \;bootm 40000000
  # save
  # re
  
  # set bootargs root=/dev/mtdblock4 init=/linuxrc console=ttySAC0,115200 rootfstype = yaffs rw
  # save
  # re
  
  # set machid f9f
  # save
  # re

你可能感兴趣的:(嵌入式)