Firefly开源社区

标题: (已解决)FirePrime如何制作update.img [打印本页]

作者: feng3327    时间: 2016-7-5 16:09
标题: (已解决)FirePrime如何制作update.img
本帖最后由 feng3327 于 2016-7-8 16:05 编辑

看官方的wiki,执行了mkupdate.bat,结果出现:
  1. D:\lw\FirePrime\AndroidTool_Release_v2.35\rockdev>Afptool -pack .\backupimage backupimage\backup.img
  2. Android Firmware Package Tool v1.62
  3. ------ PACKAGE ------
  4. Add file: .\backupimage\package-file
  5. Add file: .\backupimage\package-file done,offset=0x800,size=0x296,userspace=0x1
  6. Add file: .\backupimage\rk3126MiniLoaderAll(L)_V2.19.bin
  7. Add file: .\backupimage\rk3126MiniLoaderAll(L)_V2.19.bin done,offset=0x1000,size=0x1c94e,userspace=0x3a
  8. Add file: .\backupimage\rk312x.parameter.txt
  9. Add file: .\backupimage\rk312x.parameter.txt.tmp done,offset=0x1e000,size=0x2e1,userspace=0x1
  10. Add file: .\backupimage\Image/uboot.img
  11. AddFile:open file failed: .\backupimage\Image/uboot.img
  12. ------ FAILED ------

  13. D:\lw\FirePrime\AndroidTool_Release_v2.35\rockdev>Afptool -pack ./ Image\update.img
  14. Android Firmware Package Tool v1.62
  15. ------ PACKAGE ------
  16. Add file: .\package-file
  17. Add file: .\package-file done,offset=0x800,size=0x295,userspace=0x1
  18. Add file: .\rk3126MiniLoaderAll(L)_V2.20.bin
  19. Add file: .\rk3126MiniLoaderAll(L)_V2.20.bin done,offset=0x1000,size=0x1b94e,userspace=0x38
  20. Add file: .\rk312x.parameter.txt
  21. Add file: .\rk312x.parameter.txt.tmp done,offset=0x1d000,size=0x33f,userspace=0x1
  22. Add file: .\Image/uboot.img
  23. AddFile:open file failed: .\Image/uboot.img
  24. ------ FAILED ------

  25. D:\lw\FirePrime\AndroidTool_Release_v2.35\rockdev>RKImageMaker.exe -RK312A rk3128MiniLoaderAll(L)_V2.20.bin  Image\update.img update.img -os_type:androidos
  26. ********RKImageMaker ver 1.62 ********
  27. Generating new image, please wait...
  28. Error:Get image version failed!

  29. D:\lw\FirePrime\AndroidTool_Release_v2.35\rockdev>rem update.img is new format, Image\update.img is old format, so delete older format

  30. D:\lw\FirePrime\AndroidTool_Release_v2.35\rockdev>del  Image\update.img

  31. D:\lw\FirePrime\AndroidTool_Release_v2.35\rockdev>pause
复制代码

之前里面是RKImageMaker.exe -RK312A rk3126MiniLoaderAll(L)_V2.20.bin,已修改成 rk3128MiniLoaderAll(L)_V2.20.bin

作者: feng3327    时间: 2016-7-5 16:35
loader的版本也不一致,应该是firefly没有集成update的脚本吧

QQ截图20160705163417.png (2.09 KB, 下载次数: 557)

QQ截图20160705163417.png

作者: brian0218    时间: 2016-7-5 17:28
你可以检查一下目录中的package-file文件和mkupdate.bat中的配置是否正确。
作者: feng3327    时间: 2016-7-5 18:30
brian0218 发表于 2016-7-5 17:28
你可以检查一下目录中的package-file文件和mkupdate.bat中的配置是否正确。

我查看了linux的脚本,
./rkImageMaker -RK312A RK3128MiniLoaderAll_V2.25.bin Image/update.img update.img -os_type:androidos || pause
这个V2.25和官方给的固件的loader一致,但是在源码中,找不到该bin
作者: brian0218    时间: 2016-7-5 18:39
你可以把package-file文件给我看看吗?
作者: feng3327    时间: 2016-7-5 18:51
brian0218 发表于 2016-7-5 18:39
你可以把package-file文件给我看看吗?

我在源码里面找的,https://bitbucket.org/T-Firefly/ ... dTool/?at=fireprime
作者: brian0218    时间: 2016-7-5 18:55
你的本地sdk目录没有吗?
作者: feng3327    时间: 2016-7-5 19:23
brian0218 发表于 2016-7-5 18:55
你的本地sdk目录没有吗?
  1. # NAME                Relative path
  2. #
  3. #HWDEF                HWDEF
  4. package-file        package-file
  5. bootloader        rk3126MiniLoaderAll(L)_V2.20.bin
  6. parameter        rk312x.parameter.txt
  7. uboot                Image/uboot.img
  8. misc                Image/misc.img
  9. resource        Image/resource.img
  10. kernel                Image/kernel.img
  11. boot            Image/boot.img
  12. recovery        Image/recovery.img
  13. system                Image/system.img
  14. # 要写入backup分区的文件就是自身(update.img)
  15. # SELF 是关键字,表示升级文件(update.img)自身
  16. # 在生成升级文件时,不加入SELF文件的内容,但在头部信息中有记录
  17. # 在解包升级文件时,不解包SELF文件的内容。
  18. # RESERVED不打包backup
  19. backup                backupimage/backup.img
  20. update-script        update-script
  21. recover-script        recover-script
复制代码

我已将rk3126MiniLoaderAll(L)_V2.20.bin替换成rk3128MiniLoaderAll(L)_V2.20.bin,打包依旧报错
作者: brian0218    时间: 2016-7-5 19:27
明确的告诉我,你要使用的loader是啥版本
作者: feng3327    时间: 2016-7-5 19:38
brian0218 发表于 2016-7-5 19:27
明确的告诉我,你要使用的loader是啥版本

RK3128MiniLoaderAll_V2.25.bin 官方固件版本,如果你能编译成功,麻烦告诉下,实在windows下还是linux
作者: feng3327    时间: 2016-7-5 19:46
feng3327 发表于 2016-7-5 19:38
RK3128MiniLoaderAll_V2.25.bin 官方固件版本,如果你能编译成功,麻烦告诉下,实在windows下还是linux

或者你把你编译成功的文件夹发给我都行,谢谢了
作者: brian0218    时间: 2016-7-5 19:51
用这个试试看。

feng3327.zip

951 Bytes, 下载次数: 9, 下载积分: 灯泡 -1 , 经验 -1


作者: feng3327    时间: 2016-7-5 19:56
brian0218 发表于 2016-7-5 19:51
用这个试试看。

这个文件没有RK3128MiniLoaderAll_V2.25.bin
作者: brian0218    时间: 2016-7-5 19:59
这个只是两个 windows脚本
作者: feng3327    时间: 2016-7-5 20:01
brian0218 发表于 2016-7-5 19:59
这个只是两个 windows脚本

我知道,但是打包的依赖RK3128MiniLoaderAll_V2.25.bin这个文件才能打包成功吧
作者: brian0218    时间: 2016-7-5 20:02
你那裡没有吗?
作者: brian0218    时间: 2016-7-5 20:03
如果有的话,直接用就可以了.
作者: linjc    时间: 2016-7-6 09:55
本帖最后由 linjc 于 2016-7-6 09:58 编辑

编译完用“./FFTools/rarimg.sh firmware_name”打包成rar格式的固件,修改AndroidTools如下:
rockdev/package-file(注意:uboot路径):
  1. # NAME                Relative path
  2. #
  3. #HWDEF                HWDEF
  4. package-file        package-file
  5. bootloader        RK3128MiniLoaderAll_V2.25.bin
  6. parameter        rk312x.parameter.txt
  7. uboot                uboot.img
  8. misc                Image/misc.img
  9. resource        Image/resource.img
  10. kernel                Image/kernel.img
  11. boot            Image/boot.img
  12. recovery        Image/recovery.img
  13. system                Image/system.img
  14. # 要写入backup分区的文件就是自身(update.img)
  15. # SELF 是关键字,表示升级文件(update.img)自身
  16. # 在生成升级文件时,不加入SELF文件的内容,但在头部信息中有记录
  17. # 在解包升级文件时,不解包SELF文件的内容。
  18. # RESERVED不打包backup
  19. backup                backupimage/backup.img
  20. update-script        update-script
  21. recover-script        recover-script
复制代码

rockdev/mkupdate.bat(注意第一行的路径):
  1. Afptool -pack .\ backupimage\backup.img
  2. Afptool -pack ./ Image\update.img


  3. RKImageMaker.exe -RK312A RK3128MiniLoaderAll_V2.25.bin  Image\update.img update.img -os_type:androidos

  4. rem update.img is new format, Image\update.img is old format, so delete older format
  5. del  Image\update.img

  6. pause
复制代码

再运行mkupdate.bat应该可以生成update.img






作者: feng3327    时间: 2016-7-6 10:48
linjc 发表于 2016-7-6 09:55
编译完用“./FFTools/rarimg.sh firmware_name”打包成rar格式的固件,修改AndroidTools如下:
rockdev/pa ...

非常感谢,已成功生成,建议把Bitbucket 里面的RKTools 里面的windows删除,把这个教程,可以写入到wiki里面,之后的人少走些弯路
作者: yly123ycyn    时间: 2016-7-6 14:01
GOOD




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1