怎样烧盒子(+1)

  既然要烧盒子,那必须要找点东西来烧进去呀,需要烧写什么东西呢。

  具体得看启动一个Android系统都需要些什么东西。

  fastboot:bootloader

  uImage:kernel

  system.img:文件系统

  这是必须要的几个部分,当然有了这几部分还不够还需要启动参数

  怎样把这些东西烧到盒子里面去呢?我是用的工具是hisi提供的fastboot烧写工具,这个工具使用起来很简单我就不多啰嗦了。

  下面我简单的讲一下这几个东东的作用:

  fastboot,相当于windows 的bootloader部分负责各种硬件的初始化和检查工作(网上有很多相关的详细的资料);

  uImage,内核,是一个系统的大脑,负责加载各种驱动什么的还有就是启动文件系统;

  system.img,文件系统;

  要使者3个东东协调工作还需要一个东东就是启动参数:

  setenv bootcmd 'nand read 0x82000000 4C00000 A00000; bootm 0x82000000'

  这是在设置启动参数,setenv为设置关键字;bootcmd是启动选项(这是用来启动内核的);0x82000000这个参数又芯片厂商决定在附加文档中会有说明;4C00000这是内核也就是你烧录uImage的起始地址;A00000是uImage所站的flash大小这里为10M;bootm这个参数和前面的那个0x82000000是同步的必须要一样。

setenv bootargs 'mem=775M console=ttyAMA0,115200  androidboot.console=ttyAMA0 mmz=ddr,0,0xBD600000,42M init=/init root=/dev/mtdblock10 mtdparts=hi_sfc:448K(fastboot),64K(bootargs);hinand:6M(recovery),6M(deviceinfo),6M(baseparam),8M(logo),10M(fastplay),30M(cache),10M(misc),10M(kernel),400M(system),234M(userdata),4M(blackbox),1324M(sdcard)'

  这是用于启动文件系统的”启动参数“  bootargs 是启动选项(这是用来启动文件系统的);mem内存大小; console选择是必须的(开发)用于在串口中显示各种信息的;androidboot.console这个参数是用来让串口具有编辑功能(ctrl+c功能和tab功能);mmz这个选择代表着一类东西,不只是mmz可能还有其他的一些驱动关键字,总之是为驱动分配内存空间(mem+mmz+各种驱动所占内存空间=硬件的物理内存);init启动文件系统第一个要找的文件(默认就是这个);root这个参数非常重要取决于内核是否能成功的找到文件系统,我这里是mtdblock10 说明文件系统处于我的第10个分区(从0开始),具体第一个要看后面的mtdparts参数;mtdparts为系统划分分区,具体划分还需要和硬件相匹配,比如我这里是4M的spi和2G的nandflash,这个分区直接影响root这个参数的内容,fastboot为第0个分区system为第十个分区。

  ok,如果你把上述的3个东东都成功的烧进了盒子且启动参数也是真确的配置(我的每个分区以后都有用,现在可以不烧入任何东西)了,那么重启盒子吧。


  

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值