RK3288 编译更新包遇到的错误
文件不全,未编译uboot跟kernel以及system
Add file: /home/aosp/rk/x3288_nougat/out/release/package-file Add file: /home/aosp/rk/x3288_nougat/out/release/MiniLoaderAll.bin Add file: /home/aosp/rk/x3288_nougat/out/release/parameter.txt Add file: /home/aosp/rk/x3288_nougat/out/release/trust.img Add file: /home/aosp/rk/x3288_nougat/out/release/uboot.img Add file: /home/aosp/rk/x3288_nougat/out/release/misc.img Error:<AddFile> open file failed,err=2! ------ FAILED ------
解决方法:./mk.sh -h 查看帮助 几个小写的参数都需要进行编译一遍 先编译uboot ./mk.sh -u 再编译内核 ./mk.sh -k 如何编译 system ---》 ./mk.sh -s
问题编译内核时出现 :arch/arm/boot/compressed/Makefile:187: recipe for target 'arch/arm/boot/compressed/piggy.lzo' failed
arch/arm/boot/compressed/Makefile:187: recipe for target 'arch/arm/boot/compressed/piggy.lzo' failed make[2]: *** [arch/arm/boot/compressed/piggy.lzo] Error 1 arch/arm/boot/Makefile:61: recipe for target 'arch/arm/boot/compressed/vmlinux' failed make[1]: *** [arch/arm/boot/compressed/vmlinux] Error 2 arch/arm/Makefile:332: recipe for target 'zImage' failed
//缺少lzo工具,安装lzo工具 https://blog.csdn.net/wuyulanguang/article/details/86220770
1、lzo安装 1)、wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz 2)、 sudo su tar xzvf lzo-2.06.tar.gz 3)、cd lzo-2.06 ./configure --enable-shared 4)、make make install 2、lzop安装: 1)、wget 'http://www.lzop.org/download/lzop-1.03.tar.gz' 2)、tar xzvf lzop-1.03.tar.gz 3)、cd lzop-1.03 ./configure ii)若出现configure: error: cannot compute sizeof (size_t) See `config.log' for more details 这个问题的原因是linux在查找动态链接库时,忽视了/usr/local/lib中一系列*.so,将其添加到配置文件中,就可以解决。
安装工具的时候可能会出现:
lzo安装时出现 Makefile:1367: recipe for target 'install-am' failed
aosp@ubuntu:~/usr/lzo-2.06$ make install make[1]: Entering directory '/home/aosp/usr/lzo-2.06' test -z "/usr/local/lib" || /bin/mkdir -p "/usr/local/lib" /bin/bash ./libtool --mode=install /usr/bin/install -c src/liblzo2.la '/usr/local/lib' libtool: install: /usr/bin/install -c src/.libs/liblzo2.lai /usr/local/lib/liblzo2.la /usr/bin/install: cannot create regular file '/usr/local/lib/liblzo2.la': Permission denied Makefile:508: recipe for target 'install-libLTLIBRARIES' failed make[1]: *** [install-libLTLIBRARIES] Error 1 make[1]: Leaving directory '/home/aosp/usr/lzo-2.06' Makefile:1367: recipe for target 'install-am' failed make: *** [install-am] Error 2
解决方法:
解决办法(有root权限) 1、打开/etc/ld.so.conf这个配置文件 2、把下面这行内容添加进去 /usr/local/lib 3、保存文件,执行命令:/sbin/ldconfig 4、make make install (没有root权限) 对于非root用户来说,/etc/ld.so.conf是read-only的,想要解决这个问题也是有办法的。在vim74目录下先执行如下命令: export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH // 为编译器设定额外的搜索路径,原理基本类似,修改ld.so.conf的根本原因只是为了让编译器在make过程中去对应的路径下寻找依赖,这里直接指定搜索路径, 是一个效果。接下来, 就正常了
checking whether your compiler passes the ACC conformance test... FAILED configure: configure: Your compiler failed the ACC conformance test - for details see configure: `config.log'. Please check that log file and consider sending configure: a patch or bug-report to <lzop-bugs@oberhumer.com>. configure: Thanks for your support. configure: configure: error: ACC conformance test failed. Stop.
指定C语言版本 ./configure CPPFLAGS="$CPPFLAGS -std=c90 -fPIC"
aosp@ubuntu:~/usr/lzop-1.03$ /sbin/ldconfig /sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied aosp@ubuntu:~/usr/lzop-1.03$ sudo /sbin/ldconfig