a20 linux rootfs.cpio.gz,lichee 编译踩坑记录(ilichee ZERO)

lichee 编译踩坑记录(ilichee ZERO)

一.编译环境

编译的时候原来是正常编译过linux内核的,不过buildroot和里面带的程序还需要其他的一些软件包

需要安装的包

bison flex texinfo zlib1g-dev gawk

填坑方案

sudo apt-get install [包名称]

二.buildroot源码

由于各种各样的原因buildroot里到处是坑- -有的源码可能对新编译器不适应,需要修改

修改时有两个位置,如果还没有进行编译可以在

/buildroot/pakage/[包名称]/ 里找到对应文件/文件夹

编译时使用的是将上面的源码复制到

/out/linux/common/buildroot/build/[包名称] 或 /out/linux/common/buildroot/build/host-[包名称] 下,

所以如果编译的过程中出错除了改buildroot里的源码也需要改后面那两个(如果有)文件夹下的源码

1.host-m4-1.4.15

buildroot过程中

./stdio.h:456:1:error: 'gets' undeclared here (not in a function)

_GL_WARN_ON_USE(gets, "gets is a security hole - use fgets instead");

填坑方法:参考链接:http://www.civilnet.cn/talk/browse.php?topicno=78555

找到:host-m4-1.4.15/lib/stdio.h,然后对stdio.h文件做出如下改动,必要时连同stdio.in.h一起修改:

=== modified file 'host-m4-1.4.15/lib/stdio.h'

@@ -140,8 +140,10 @@

+#if defined gets

#undef gets

_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");

+#endif

修改后测试通过

2.host-autoconf-2.65

buildroot过程中

conftest.c:14625:must be after `@defmac' to use `@defmacx'

填坑方法:参考链接:http://gnu-autoconf.7623.n7.nabble.com/compile-error-conftest-c-14625-must-be-after-defmac-to-use-defmacx-td18843.html

找到 autoconf-2.65/doc/autoconf.texi,进行修改

@@ -15,7 +15,7 @@

@c The ARG is an optional argument.  To be used for macro arguments in

@c their documentation (@defmac).

@macro ovar{varname}

-@r{[}@var{\varname\}@r{]}@c

+@r{[}@var{\varname\}@r{]}

@end macro

@c @dvar(ARG, DEFAULT)

@@ -23,7 +23,7 @@

@c The ARG is an optional argument, defaulting to DEFAULT.  To be used

@c for macro arguments in their documentation (@defmac).

@macro dvar{varname, default}

-@r{[}@var{\varname\} = @samp{\default\}@r{]}@c

+@r{[}@var{\varname\} = @samp{\default\}@r{]}

@end macro

@c Handling the indexes with Texinfo yields several different problems.

修改后测试通过

3.host-makedevs

buildroot过程中

/lichee/out/linux/common/buildroot/build/host-makedevs/makedevs.c:374:6: error: variable ‘ret’ set but not used [-Werror=unused-but-set-variable]

int ret = EXIT_SUCCESS;

^

cc1: all warnings being treated as errors

找到 /makedevs/makedevs.c 或 /host-makedevs/makedevs.c 进行修改

最后一行,return 0;

修改为:return ret;

这也算(╯‵□′)╯︵┻━┻)

三、lichee缺rootfs.cpio.gz

buildroot后

无法定位"rootfs.cpio.gz"

泽畔大大说可以自己包一个 我从H3的SDK里扒了一个出来 目前为止没有出错 放到linux内核目录下

四、awk: line 2: function strtonum never defined

awk版本问题,需要安装gawk

sudo apt-get install gawk

五、pack finish但无镜像输出

出现Dragon execute image.cfg failed

lichee默认的对象是编译到nor flash上,但是没找到nor flash的配置文件o(╯□╰)o

修改/lichee/tools/pack/pack

354: -update_mbrsys_partition_nor.bin 1 > /dev/null

355: -dragon image.cfgsys_partition_nor.fex

354: +update_mbrsys_partition.bin 1 > /dev/null

355: +dragon image.cfgsys_partition.fex

用默认的配置文件 似乎是针对nand的

sudo ./build.sh

sudo ./build.sh pack

终于成功〒▽〒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值