zhang1gong 发表于 2022-3-30 14:19

【平头哥Sipeed LicheeRV 86 Panel测评】IV. 编译系统镜像失败:苦苦挣扎与明确方向

本帖最后由 zhang1gong 于 2022-3-30 15:41 编辑

<p><strong><span style="font-size:16px;">1 苦苦挣扎,系统镜像编译仍未成功</span></strong></p>

<p>&nbsp;</p>

<p>其实起初编译系统镜像的目的并不明确,只是费劲巴力下载了SDK,又看了&ldquo;码农爱学习&rdquo;网友的评测报告,作为不知深浅的Linux小白的我,觉得编译过程似乎也不太复杂(尽管那时候基本上不明白执行的每一步命令系统到底在干什么),就想着编译一下试试,没想到陷入了泥潭。</p>

<p>先是在编译过程中显示缺&ldquo;openssl&rdquo;,上网查询,找到了解决方法,重新编译,经过漫长的过程,终于等到了出错的结果。像个没头苍蝇一样到处乱撞,终于使得问题越来越离谱,最后的情况是在&ldquo;make&rdquo;刚开始生成toolchain时就出错:明明目标系统是riscv,可生成的toolchain偏偏是针对arm的,当然编译完全不能进行下去。几经折腾,期间甚至重装SDK不止一次,终于发现了问题所在:在反复试错的过程中曾经安装、部署了另一个版本的d1-SDK,用来编译&ldquo;helloworld&rdquo;(参考了先行者&ldquo;码农爱学习&rdquo;的评测报告),编译前需要运行&ldquo;<span style="font-family:Courier;">. ~/.local/riscv64-toolchain/environment-setup-riscv64-oe-linux</span>&rdquo;建立编译环境,然后编译&ldquo;helloworld&rdquo;成功,下载到目标板运行也没问题。但只要做了这些以后,再去编译系统镜像核心就会出现toolchain生成错误。我想大概是两者生成的编译环境有冲突?可作为Linux小白,我实在不知道如何清除前者的环境。忽然想到,编译环境是在RAM中建立的,何不祭出重启大法呢?reboot以后,再编译系统镜像,果然可以正常生成toolchain了。但是,悲催的是最后还是已失败告终,出现的错误是什么与C++17不兼容之类:</p>

<p>&nbsp;</p>

<p class="imagemiddle" style="text-align: center;"></p>

<p>&nbsp;</p>

<p>在LicheeRV教程的最后,给出了另外一种编译系统镜像的办法:应用Docker。按照教程给出的步骤,下载了Docker镜像,然后启动容器并运行,在Docker环境下的编译过程比在本地宿主机上直接编译的过程更加漫长,历时大概10小时左右,终于、终于又以失败而告终。</p>

<p>&nbsp;</p>

<p class="imagemiddle" style="text-align: center;"></p>

<p>&nbsp;</p>

<p>这个结果我实在想不明白:这个Docker镜像应该是厂家成功运行过的环境,应该与我的机器(作为宿主机)的环境没什么关系,为什么仍然编译失败呢?</p>

<p>现在已经将问题通过工单提交给厂家技术人员,等待解决。</p>

<p>&nbsp;</p>

<p><strong><span style="font-size:16px;">2 明确方向,准备弄些小程序</span></strong></p>

<p>&nbsp;</p>

<p>提交问题工单时,厂家的技术人员问我:编译系统镜像的目的是什么呢?这的确是个问题。原来我想的是能否对系统进行一些裁剪呢?通过前一阶段的深陷泥潭,我觉得我的Linux功力实在太差,无论厂家技术人员能否解决我现在的问题,目前对系统进行裁剪大概是妄想。因此,应该明确方向,干点儿力所能及的事情。</p>

<p>&nbsp;</p>

<p>又回过头再次阅读LicheeRV教程,看看能做点儿什么。再次试了音频播放,把歌曲《明天会更好》转码后试着下载到目标板播放,找到了可以用的采样率,从小喇叭中放出了不大动听的声音;试了用&ldquo;fbviewer&rdquo;显示图像,把自己的照片下载到目标板显示,发现颜色不大对;用&ldquo;<span style="font-family:Courier;">echo 1 &gt; /sys/class/disp/disp/attr/colorbar</span>&rdquo;命令测试了显示彩条,发现改变输出的数字还能显示点儿别的什么:</p>

<p>&nbsp;</p>

<p class="imagemiddle" style="text-align: center;"></p>

<p class="imagemiddle" style="text-align: center;">&nbsp;</p>

<p class="imagemiddle" style="text-align: center;"></p>

<p class="imagemiddle" style="text-align: center;">&nbsp;</p>

<p class="imagemiddle" style="text-align: center;"></p>

<p>&nbsp;</p>

<p>试了一通下来觉得在一些现成的程序基础上做些工作可能比较现实(昨天看到&ldquo;sonicfirr&rdquo;的评测报告中也有类似的思路),但过程大概不会太顺利。</p>

<p>&nbsp;</p>

<p>作为一枚Linux小白,报告中可能有不少可笑之处,各位看官忍耐一下吧。</p>

soso 发表于 2022-3-31 10:11

<p>楼主的工单有回复了吗?</p>

zhang1gong 发表于 2022-4-4 22:14

<p>工单到现在还没有结果</p>
页: [1]
查看完整版本: 【平头哥Sipeed LicheeRV 86 Panel测评】IV. 编译系统镜像失败:苦苦挣扎与明确方向