ERROR: update_mbr failed
(1)开发环境:“OKA40i、T3-C用户资料发布记录-20191113.pdf”文件中的百度网盘下载的ubuntu12.04虚拟机。
(2)问题描述:
"OKA40i-C&OKT3-C-Linux-软件用户手册-V1.0-20191011.pdf“中的方法,
执行setup_env.sh安装依赖的包,后把
OKA40i-C、OKT3-C-Linux-用户资料-2019.10.09\linux\源码\中的
xaa, xab, xac cat成lichee.tar.gz
解压到/root/workspace/allwinner/A40i/bsp/,并cd进入,
执行: ./build.sh, 即使用上述lichee.tar.gz包中自带的 .buildconfig,成功
执行打包:./build.sh pack, 失败
(3)对比:
上述虚拟机中相应目录下,自带了个lichee的目录(经对比pack文件,应该比上面(2)中的版本
其./build.sh 失败,但
./build.sh pack 成功
(4)问题:
A. 上述(2)中使用lichee.tar.gz自带的 .buildconfig, ./build.sh成功, ./build.sh pack失败,我还没有用自己的conifg,也没有修改任何代码,
请官方技术人员,确定一下是否用这个lichee.tar.gz有问题。
B.我把pack中的对应脚本
fsbuild usr-resource.inisplit_**x.fex > /dev/null
中的> /dev/null去掉
则报:
cant open dir /root/workspace/allwinner/A40i/bsp/lichee/tools/pack/out/usr-resourcefsbuild failed 338
做为对比,我把./build.sh pack成功的那个也这样处理,
也报 cant open dir /root/workspace/allwinner/A40i/bsp/lichee/tools/pack/out/usr-resource
即,失败,不是目录打不开的问题,而是这个fsbuild failed 338的错误,但fsbuild 不开源,无法知道它的具体原因。
请飞凌官方技术人员,帮忙查一下。
没有修改任何代码的话,可能是您环境中缺少一些库导致的,您可以看一下这个链接http://www.huangea.com/?p=979
开发环境中自带的源码文件应该是不能用, zhichao 发表于 2019-12-21 16:21
没有修改任何代码的话,可能是您环境中缺少一些库导致的,您可以看一下这个链接http://www.huangea.com/?p= ...
谢谢!那个网页我也搜索到了,已经安装。不行。
且,官方虚拟机中自带的那个lichee(对应:底板版本号:OKA40i-C v1.1 2019-06-28, 核心板版本号:FETA40i-C V1.1)可以 ./build.sh pack成功。
但,同样使用上面这个ubuntun虚拟机(来自飞凌百度网盘),最新的lichee(20191014发布的那个)./build.sh pack却不行。 您再确定一下操作步骤有没有错,您是否用md5sum lichee.tar.gz命令检验文件是否和资料中的一致,一致的话试试重下载一个开发环境,我试了一下,编译和打包都没问题 zhichao 发表于 2019-12-23 14:25
您再确定一下操作步骤有没有错,您是否用md5sum lichee.tar.gz命令检验文件是否和资料中的一致,一致的话试 ...
lichee的md5sum正确;虚拟机应该正确,否则VMware应该打开失败。我再测试下,看看能不能发现新的线索。 本帖最后由 programmerhz 于 2019-12-24 11:39 编辑
我现在定位到问题为:
./build.sh pack 时 usr-resource.fex生成失败(/root/workspace/allwinner/A40i/bsp/lichee/tools/pack/pack文件的553行):
fsbuild usr-resource.inisplit_**x.fex > /dev/null
出错时,报:fsbuild failed 338
则,usr-resource.fex生成失败,导致后面update_mbr时打开失败,报:unable to open file usr-resource.fex
即原因是usr-resource.fex生成失败,出错的信息为: fsbuild failed 338。
zhichao 发表于 2019-12-23 14:25
您再确定一下操作步骤有没有错,您是否用md5sum lichee.tar.gz命令检验文件是否和资料中的一致,一致的话试 ...
我现在定位到问题为:
./build.sh pack 时 usr-resource.fex生成失败(/root/workspace/allwinner/A40i/bsp/lichee/tools/pack/pack文件的553行):
fsbuild usr-resource.inisplit_**x.fex > /dev/null
出错时,报:fsbuild failed 338
则,usr-resource.fex生成失败,导致后面update_mbr时打开失败,报:unable to open file usr-resource.fex
即原因是usr-resource.fex生成失败,出错的信息为: fsbuild failed 338。 您看下usr-resource.ini里的是size=6810624吗,tools/pack/chips/sun8iw11p1/configs/default/sys_partition_linux.fex里最后是
name = usr
size = 13621248
downloadfile = "usr-resource.fex"
user_type = 0x8000
吗 本帖最后由 programmerhz 于 2019-12-25 15:04 编辑
zhichao 发表于 2019-12-24 16:15
您看下usr-resource.ini里的是size=6810624吗,tools/pack/chips/sun8iw11p1/configs/default/sys_partitio ...
是:
name = usr
size = 13621248
downloadfile = "usr-resource.fex"
user_type = 0x8000
把size=6810624,也不行。
新测试:
gdb跟踪fsbuild usr-resource.inisplit_**x.fex,发现BuildFileSystemOnly返回的指针为0,
对比行552
fsbuild boot-resource.inisplit_**x.fex > /dev/null
这个成功,BuildFileSystemOnly返回的指针不为0。