1、缺乏工具
编译时可能会提示缺乏某些工具,根据提示安装即可。有的提示比较直接,直接把安装命令给出了。
缺dtc
有些是下面这种,缺的是unbuffer,实际安装的是expect。
缺expect
2、编译buildroot失败、编译recovery失败
以上提示多重定义,解决办法是把mksquashfs.h中的变量定义前加上extern,如果还提示多重定义就把提示的.o文件删掉,我这边删除process_fragments.o重新编译就OK了。这些文件位于buildroot/output/rockchip_rk3566/build...下。
编译recovery的错误原因跟上边的一样,只是没有提示的那么清楚,只提示有错误。处理方式也一样,不过目录是buildroot/output/rockchip_rk356x_recovery/build...下。
搜索mksquashfs就能找到。
3、编译debian失败
以上原因都跟livebuild有关,运行下面的命令试试,或许就能解决问题了,之所以我不确定,是因为我之前也做过其他操作,但做了下面的操作后就编译成功了,所以我猜测直接运行下面的命令就可以,我之前的操作应该没作用。如果这里不行欢迎大家留言交流。
sudo apt-get install binfmt-support qemu-user-static
sudo dpkg -i ubuntu-build-service/packages/*
sudo apt-get install -f
如果出现权限问题,原因是磁盘挂载选项问题。
我为了编译新创了一个盘,这个盘是额外挂载上去的,有个挂载选项,需要将nodev改为dev,添加exec。
查看挂载情况,sdb是我的磁盘设备,需要根据你的实际情况修改
这些在debian下的readme.mk中都有提到,不过在官方的wiki中没有提及,这里给大家分享下,希望对你有所帮助。