Hi3516DV300燒錄標(biāo)準(zhǔn)系統(tǒng)填坑指南基于Ubuntu環(huán)境使用DevEcoTool
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
老規(guī)矩哈,還是先把燒錄完成的視頻放上來:點(diǎn)擊播放
友情提醒,搭配harmony官方文檔一起食用更加美味
PS:首先說一下哈,正常情況下燒錄這點(diǎn)兒事,不值得發(fā)一篇文章。但是出于以下兩點(diǎn)考慮,我還是覺得發(fā)出來比較好。
1.本身我支持linux去做盡可能多的開發(fā),當(dāng)然之所以u(píng)buntu下有這么多坑,可能與ubuntu使用人數(shù)少有關(guān),導(dǎo)致大家都不太關(guān)注,但是為了支持使用的這點(diǎn)人還是總結(jié)一下這些坑。
2.可能是上述的原因,導(dǎo)致ubuntu上使用dev tool的問題一直沒有暴出來,所以我遇到的這些問題基本沒有資料可查,甚至官方的文檔感覺有些滯后,也有些不全,不能讓僅存的使用ubuntu的這些人倒在這些坑上。
首先來張圖體驗(yàn)一下,燒錄成功的喜悅!

下面我就按照時(shí)間順序來一個(gè)一個(gè)填這些坑。
一.CodeLLDB插件的安裝
首先deveco device tool的使用必須依賴于vscode的這個(gè)插件。但是,這個(gè)問題大家可能不一定會(huì)遇到。因?yàn)槲也鹊竭@個(gè)坑的原因就是再配這個(gè)環(huán)境之前,我就已經(jīng)在用vscode作為編輯器一直在使用了,然后就裝了一些插件了,應(yīng)該是這些插件與CodeLLDB插件出現(xiàn)了沖突。然后第一個(gè)坑就來了:CodeLLDB死活安裝不上了。
1.1 判斷在線安裝是否能成功
當(dāng)你在執(zhí)行完成./deveco-device-tool-***.run之后,第一次打開vscode在聯(lián)網(wǎng)的情況下,它就會(huì)自動(dòng)開啟安裝CodeLLDB插件,在vscode的控制框中選擇LLDB如下圖:

可以看到正在安裝CodeLLDB,它分成兩個(gè)過程,下載和安裝,下載的話可以很清楚的看到進(jìn)度條的進(jìn)度,這個(gè)取決于你的網(wǎng)速,下載很快的,然后進(jìn)度條滿了之后就開始安裝,這個(gè)時(shí)候我建議你最多等三分鐘,超過三分鐘沒有反應(yīng),就放棄吧,說明你已經(jīng)遇到了 官方文檔的所說的在線安裝失敗了,執(zhí)行下一步。
1.2 如何離線安裝成功
如果在1.1中可以確定是在線安裝玩不轉(zhuǎn)了,那就只能離線安裝了。
1.離線安裝的第一步先按照官網(wǎng)中所給的路徑將離線包下載下來。
2.然后你按照官網(wǎng)中的操作點(diǎn)擊完成之后在vscode的右下腳會(huì)彈出安裝CodeLLDB前請(qǐng)先重啟vscode(請(qǐng)?jiān)谥匦掳惭bCodeLLDB之前重新啟動(dòng) VS Code。)。然后你重啟了之后,你就會(huì)發(fā)現(xiàn)并沒有什么卵用,它還是會(huì)繼續(xù)彈出讓你重啟vscode的提醒。
3.我甚至使用了在關(guān)閉掉vscode的情況下,然后敲命令去手動(dòng)安裝離線包,如下圖:

然而它這次會(huì)換成英文提醒你繼續(xù)重啟vscode。
4.然后無奈的我開始卸載vscode,使用了sudo apt-get --purge remove code,這條命令據(jù)說會(huì)徹底卸載,但是我繼續(xù)使用sudo dpkg -i code_1.61.2-1634656828_amd64.deb安裝完成之后,繼續(xù)安裝CodeLLDB離線包依舊會(huì)繼續(xù)報(bào)請(qǐng)?jiān)谥匦掳惭bCodeLLDB之前重新啟動(dòng) VS Code。
5.然后我開始懷疑vscode并沒有卸載干凈,為了確認(rèn)我看了一下之前的配置,果然還在。所以只能想辦法繼續(xù)完全卸載干凈這個(gè)問題,\color {#f00} {最終再我刪除了家目錄下的.vocode目錄之后}最終再我刪除了家目錄下的.vocode目錄之后,我繼續(xù)sudo dpkg -i code_1.61.2-1634656828_amd64.deb進(jìn)行安裝vscode,然后繼續(xù)安裝CodeLLDB這個(gè)困擾我許久的問題終于被干掉了。
二.設(shè)置配置完成后點(diǎn)擊保存提示家目錄下./deveco-device-tool沒有權(quán)限
2.1 原因定位
其中這個(gè)問題,應(yīng)該是我在安裝deveco device tool的時(shí)候使用了sudo導(dǎo)致的,因?yàn)槲襩s -al查看的時(shí)候,如下圖:

發(fā)現(xiàn)上圖中所框出文件的用戶和組都是root,這就是問題,普通用戶不可以操作root文件
2.2 解決方法
需要使用\color {#f00} {chown,chgrp}chown,chgrp這兩條命令將用戶切回來切換成自己的普通用戶名字,具體如下圖:

三.官方文檔中沒有提到卻需要配置的upload_net_server_port
當(dāng)你按照官方文檔把一切配置步驟都搞完之后,并且點(diǎn)擊保存也成功之后,然后點(diǎn)擊下面的按鈕,開始燒錄。然后它會(huì)報(bào)一個(gè)錯(cuò)誤是 upload_net_server_port沒有設(shè)置。
3.1 分析定位
然后你去工程配置文件中去找就會(huì)發(fā)現(xiàn)也是沒有配置,這個(gè)配置在官方介紹文檔中也沒有提到,所以這個(gè)應(yīng)該就是暫時(shí)被遺漏了,或者是新出來的,還沒有來得及加入。
3.2 解決方法
\color {#f00} {如下圖進(jìn)行設(shè)置:}如下圖進(jìn)行設(shè)置:

四.ubuntu確定串口
如下圖,首先ubuntu中的串口目錄都在/dev/下,名字以tty開頭的都是串口名。

為了確定是否端口選擇正確,可以拔掉線,前后對(duì)比一下,消失的那個(gè)名字就確定無疑了。
五.提示找不到燒錄需要用的img文件
5.1 報(bào)錯(cuò)提示如下圖:
這個(gè)坑是點(diǎn)擊開始燒錄按鈕之后提示的,具體報(bào)錯(cuò)如下圖:

而且這個(gè)錯(cuò)誤會(huì)依次將燒錄所需要的img文件都報(bào)一遍
5.2 分析錯(cuò)誤原因
報(bào)錯(cuò)信息已經(jīng)很明顯了說明了找不到指定的文件夾,所以我在使用 find -name 去搜索找不到文件,如下圖:

然后就會(huì)發(fā)現(xiàn)這些文件所在的目錄就在標(biāo)準(zhǔn)系統(tǒng)編譯完成后的指定目錄如下圖:

5.3 解決方法
\color {#f00} {所以我們就按照提示去把需要的目錄建好,文件放好就可以了}所以我們就按照提示去把需要的目錄建好,文件放好就可以了,我使用mkdir去把路徑下的文件夾生成好,然后再使用cp命令將對(duì)應(yīng)的img文件復(fù)制到對(duì)應(yīng)的目錄下去,具體見下圖:

六.reset后串口中報(bào) VFS: Unable to mount root fs導(dǎo)致系統(tǒng)啟動(dòng)不起來
6.1 具體報(bào)錯(cuò)信息如下:
end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-bloc
6.2 問題解決
\color {#f00} {**這個(gè)問題最后發(fā)現(xiàn)是因?yàn)樵跓浨皼]有執(zhí)行擦除操作所導(dǎo)致的,所以先執(zhí)行一遍擦除操作,然后再進(jìn)行一次燒錄,具體操作見下圖,也可以去官網(wǎng)中查看。**}∗∗這個(gè)問題最后發(fā)現(xiàn)是因?yàn)樵跓浨皼]有執(zhí)行擦除操作所導(dǎo)致的,所以先執(zhí)行一遍擦除操作,然后再進(jìn)行一次燒錄,具體操作見下圖,也可以去官網(wǎng)中查看。∗∗

擦除成功后見下圖:

七.切記,切記在配置文件中選擇網(wǎng)口燒錄
\color {#f00} {串口進(jìn)行全量燒錄保守估計(jì)48個(gè)小時(shí),網(wǎng)口半個(gè)多小時(shí),所以沒得選,具體配置見下圖:}串口進(jìn)行全量燒錄保守估計(jì)48個(gè)小時(shí),網(wǎng)口半個(gè)多小時(shí),所以沒得選,具體配置見下圖:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)