嵌入式爱好者

查看: 11752|回复: 2

[Linux] 脚本打包镜像失败,只提示“ERROR: update_mbr failed”

[复制链接]

2

主题

4

帖子

18

积分

A40i/T3/T507/T527通行证i.MX RT通行证

扫一扫,手机访问本帖
发表于 2021-11-4 22:25:20 | 显示全部楼层 |阅读模式

使用脚本打包镜像出现“ERROR: update_mbr failed”,在打印输出中没有看到其他小伙伴提示分区太小的问题,也没有看到有其他错误输出,麻烦哪位大佬帮忙看看是啥问题,谢谢~!

  1. ➜  lichee ./build.sh pack
  2. build buidroot-201611...
  3. xgnueabihf
  4. sun8iw11p1_hf_defconfig
  5. INFO: packing firmware ...
  6. copying tools file
  7. copying configs file
  8. ./out/aultls32.fex
  9. ./out/aultools.fex
  10. ./out/boot_package.cfg
  11. ./out/boot_package.fex
  12. ./out/boot_package_nor.cfg
  13. ./out/cardscript.fex
  14. ./out/cardscript_secure.fex
  15. ./out/cardtool.fex
  16. ./out/diskfs.fex
  17. ./out/env.cfg
  18. ./out/env_burn.cfg
  19. ./out/image.cfg
  20. renamed './out/image_linux.cfg' -> './out/image.cfg'
  21. ./out/split_**x.fex
  22. ./out/sunxi.fex
  23. ./out/sys_config.fex
  24. ./out/sys_config1024x600.fex
  25. ./out/sys_config1024x600_v1.fex
  26. ./out/sys_config1024x600mipi.fex
  27. ./out/sys_config1024x600mipi_v1.fex
  28. ./out/sys_config1080p.fex
  29. ./out/sys_config1080p_v1.fex
  30. ./out/sys_config1280x800.fex
  31. ./out/sys_config1280x800_v1.fex
  32. ./out/sys_config800x480.fex
  33. ./out/sys_config800x480_v1.fex
  34. ./out/sys_configFCU2401.fex
  35. ./out/sys_config_new_evb_lvds1024600.fex
  36. ./out/sys_partition_dump.fex
  37. renamed './out/sys_partition_linux.fex' -> './out/sys_partition.fex'
  38. ./out/sys_partition_linux_128M.fex
  39. ./out/sys_partition_linux_256M.fex
  40. ./out/sys_partition_linux_mmc.fex
  41. ./out/sys_partition_private.fex
  42. ./out/toc0.fex
  43. ./out/toc1.fex
  44. ./out/usbtool.fex
  45. ./out/usbtool_test.fex
  46. copying boot resource
  47. copying usr resource
  48. copying boot file
  49. p=soc c=product state=0
  50. p=soc c=platform state=0
  51. p=soc c=target state=0
  52. p=soc c=norflash state=0
  53. p=soc c=power_sply state=0
  54. p=soc c=card_boot state=0
  55. p=soc c=pm_para state=0
  56. p=soc c=card0_boot_para state=0
  57. p=soc c=card2_boot_para state=0
  58. p=soc c=twi_para state=0
  59. p=soc c=uart_para state=0
  60. p=soc c=jtag_para state=0
  61. p=soc c=clock state=0
  62. p=soc c=dram state=0
  63. p=soc c=emac0 state=0
  64. p=soc c=gmac0 state=0
  65. p=soc c=can0 state=0
  66. p=soc c=can0 state=1
  67. p=soc c=twi0 state=0
  68. p=soc c=twi1 state=0
  69. p=soc c=twi2 state=0
  70. p=soc c=twi3 state=0
  71. p=soc c=twi4 state=0
  72. p=twi2 c=rx8010 state=0
  73. p=twi4 c=at24 state=0
  74. p=soc c=ir0 state=0
  75. p=soc c=uart0 state=0
  76. p=soc c=uart0 state=1
  77. p=soc c=uart1 state=0
  78. p=soc c=uart1 state=1
  79. p=soc c=uart2 state=0
  80. p=soc c=uart2 state=1
  81. p=soc c=uart3 state=0
  82. p=soc c=uart3 state=1
  83. p=soc c=uart4 state=0
  84. p=soc c=uart4 state=1
  85. p=soc c=uart5 state=0
  86. p=soc c=uart5 state=1
  87. p=soc c=uart6 state=0
  88. p=soc c=uart6 state=1
  89. p=soc c=uart7 state=0
  90. p=soc c=uart7 state=1
  91. p=soc c=spi0 state=0
  92. p=soc c=spi1 state=0
  93. p=soc c=spi2 state=0
  94. p=soc c=spi3 state=0
  95. p=soc c=rtp_para state=0
  96. p=soc c=ctp state=0
  97. p=soc c=ctp_list state=0
  98. p=soc c=tkey_para state=0
  99. p=soc c=motor_para state=0
  100. p=soc c=nand0 state=0
  101. p=soc c=sata state=0
  102. p=soc c=disp state=0
  103. p=soc c=tv0 state=0
  104. p=soc c=tv1 state=0
  105. p=soc c=tvd state=0
  106. p=soc c=tvd0 state=0
  107. p=soc c=tvd1 state=0
  108. p=soc c=tvd2 state=0
  109. p=soc c=tvd3 state=0
  110. p=soc c=lcd0 state=0
  111. p=soc c=lcd0 state=1
  112. p=soc c=pwm0 state=0
  113. p=soc c=pwm0 state=1
  114. p=soc c=car_reverse state=0
  115. p=soc c=Transmit_fm state=0
  116. p=soc c=hdmi state=0
  117. p=soc c=ak7601 state=0
  118. p=soc c=csi0 state=0
  119. p=csi0 c=csi0_dev0 state=0
  120. p=soc c=csi1 state=0
  121. p=csi1 c=csi1_dev0 state=0
  122. p=soc c=tvout_para state=0
  123. p=soc c=tvin_para state=0
  124. p=soc c=di state=0
  125. p=soc c=sdc0 state=0
  126. p=soc c=sdc1 state=0
  127. p=soc c=sdc2 state=0
  128. p=soc c=sdc3 state=0
  129. p=soc c=smc state=0
  130. p=soc c=gpio_para state=0
  131. p=soc c=usbc0 state=0
  132. p=soc c=usbc1 state=0
  133. p=soc c=usbc2 state=0
  134. p=soc c=gsensor_para state=0
  135. p=soc c=gps_para state=0
  136. p=soc c=ril_para state=0
  137. p=soc c=wlan state=0
  138. p=soc c=bt state=0
  139. p=soc c=btlpm state=0
  140. p=soc c=gy_para state=0
  141. p=soc c=ls_para state=0
  142. p=soc c=compass_para state=0
  143. p=soc c=spdif state=0
  144. p=soc c=sndspdif state=0
  145. p=soc c=audiohdmi state=0
  146. p=soc c=sndhdmi state=0
  147. p=soc c=snddaudio0 state=0
  148. p=soc c=daudio0 state=0
  149. p=soc c=snddaudio1 state=0
  150. p=soc c=daudio1 state=0
  151. p=soc c=sndcodec state=0
  152. p=soc c=codec state=0
  153. p=soc c=pmu0 state=0
  154. p=soc c=charger0 state=0
  155. p=soc c=powerkey0 state=0
  156. p=soc c=regulator0 state=0
  157. p=soc c=axp_gpio0 state=0
  158. p=soc c=dvfs_table state=0
  159. p=soc c=Vdevice state=0
  160. p=soc c=gpu_mali400_0 state=0
  161. Conver script to dts ok.
  162. dtbpath=/root/workspace/allwinner/A40i/bsp/lichee/tools/pack/out/sunxi.fex
  163. update_fdt: u-boot.fex will merage sunxi.fex, generate u-boot.fex
  164. ---0xd0, 0xd
  165. update_fdt: num 843672 randto1k
  166. update_fdt: num 155488 randto1k
  167. file1_len = ce000, file2_len = 28000
  168. dtb offset ce000,size 28000
  169. update_fdt:genrate /root/workspace/allwinner/A40i/bsp/lichee/tools/pack/out/u-boot.fex ok
  170. pack boot package
  171. GetPrivateProfileSection read to end
  172. content_count=1
  173. packing for linux
  174. normal
  175. ERROR: update_mbr failed
复制代码


回复

使用道具 举报

2

主题

4

帖子

18

积分

A40i/T3/T507/T527通行证i.MX RT通行证

 楼主| 发表于 2021-11-5 10:47:30 | 显示全部楼层
本帖最后由 lss1330 于 2021-11-5 10:50 编辑

1.修改“tools/pack/pack”脚本后,指定正确的“update_mbr”文件路劲,屏蔽第622行,新增623(622+1)行的代码。
  1.   
  2.   4     if [ ! -f full_img.fex ]; then
  3.   3         echo "full_img.fex is empty" > full_img.fex
  4.   2     fi
  5.   1
  6. 622     #update_mbr sys_partition.bin 4 > /dev/null
  7.   1     ../pctools/linux/mod_update/update_mbr sys_partition.bin 4
  8.   2     if [ $? -ne 0 ]; then
  9.   3         pack_error "update_mbr failed, ret: $?"
  10.   4         exit 1
  11.   5     fi
  12.   6     dragon image.cfg    sys_partition.fex
  13.   7         if [ $? -eq 0 ]; then
  14.   8         if [ -e ${IMG_NAME} ]; then
  15.   9             mv ${IMG_NAME} ../${IMG_NAME}
  16. 10             echo '----------image is at----------'
  17. 11             echo -e '\033[0;31;1m'
  18. 12             echo ${ROOT_DIR}/${IMG_NAME}
  19. 13             echo -e '\033[0m'
  20. 14         fi
  21. 15         fi
  22. 16     cd ..
  23. 17     printf "pack finish\n"
复制代码

2.重新执行脚本,获得更多错误信息,如下图所示:
2021-11-05_10-47.png



点评回复 支持 反对

使用道具 举报

0

主题

1173

帖子

2194

积分

发表于 2021-11-23 10:38:42 | 显示全部楼层
您是不是全编译源码后又编译内核了,您后来的报错应该就是分区大小修改导致的
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-4-23 17:13

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表