【平头哥Sipeed LicheeRV 86 Panel测评】VII. 几种不同Linux环境下编译d1-h_nezha-...
[复制链接]
本帖最后由 zhang1gong 于 2022-4-24 21:59 编辑
标题容纳不了更多的字,把标题重写一遍:
几种不同的Linux环境下交叉编译Tina Linux系统的结果
最初阶段的评测,主要是按照教程给出的方法,做了诸如上电、烧入已编译好的几种镜像、运行简单的范例等等。初步了解、体验了一些基本功能后,感觉作为嵌入式系统,LicheeRV 86 Panel的功能强大,硬件接口配置比较完备。打算进一步做些评测工作,首先想做的就是对系统做些裁剪,实现一些教程中没有试验的功能,比如蓝牙、比如PWM输出,等等。
按照全志客户服务平台给出的步骤,并参考先行的评测者的经验,先编译已配置好的d1-h_nezha-tina,想着再此基础上再做裁剪。本以为过程会很顺利,不料困难重重(见本人的第5篇评测报告)。虽然最后勉强编译成功,但似乎并没有什么实际意义。
目前这方面的工作仍然没有什么实质性的进展,而且我越来越感到,很难有什么进展了。把前一段的摸索过程总结一下,算是对自己有个交代。
1 唯一编译、打包成功的环境:虚拟机,Ubuntu
Win 10下运行的虚拟机:
系统:Ubuntu 21.10
gcc 8.5.0
g++ 8.5.0
在我前面的评测报告中提到,是在做了很多工作后才编译、打包成功:安装了低版本的gcc和g++(原来是版本11,安装了能够安装的最低版本:版本8);修改了两个源程序;等等。
2 编译失败:Kali
系统:kali 5.15.0
gcc 11.2.0
g++ 10.3.0
其实这是最先试验的编译环境,屡战屡败,最后只得放弃,改换其他环境。
3 编译失败:教程提供的Docker环境
系统:Docker(在Kali下运行):
gcc 5.3.1
g++ 5.3.1
本以为这是和厂家所用的相同的环境,一定会成功,但仍然失败。我现在的认识是:虽然工具链与厂家环境一致,但Linux系统仍然是Kali(在Docker中用uname命令查看)。
4 编译成功、打包失败:WSL,Ubuntu
WSL2:
系统:Ubuntu 20.04.4 LTS
gcc 9.4.0
g++ 9.4.0
因为在WSL上安装了Ubuntu 20.04.4后,并没有自动安装gcc、g++等,根据前一段测试工作的经验,在安装gcc、g++时选择了较低的版本9,编译过程非常顺利,但是打包失败,上网查询解决方案,试了几种方法,未能解决问题。
4 感受
作为Linux小白,实在不敢对以上的测试结果做什么结论,只能说点儿感受。
(1) 目前厂家提供的SDK似乎对环境太敏感,在不同的Linux发行版本环境下,在不同的gcc、g++版本下,编译结果差距较大,不同的环境可能出现不同的错误。
(2)厂家提供的参考资料似乎不足。我遇到的问题很难在厂家提供的资料中找到解决方法,往往是在网上瞎碰。有几个问题的解决都是瞎碰、瞎试的结果。
|