天天看點

使用DOCKER 在WINDOWS 上編譯 OpenHarmony

因為燒闆子大多時候都用到WINDOWS, 但OpenHarmony 的編譯環境是LINUX, 是以想到用DOCKER 跑在 WINDOWS 上, 省得去來固切換系統, 明白硬體工程師大多不玩DEVOPS 工具, 如果不玩 Docker 的人請自行學習, 這裡就不太多說.

  1. Docker for Windows https://www.docker.com/products/docker-desktop
  2. Docker image mirror

    {

      "registry-mirrors": [

        "https://mirror.ccs.tencentyun.com",

        "https://registry.docker-cn.com",

        "http://hub-mirror.c.163.com"

      ],

      "insecure-registries": [],

      "debug": true,

      "experimental": false

    }

    使用DOCKER 在WINDOWS 上編譯 OpenHarmony
  3. Dockerfile 建議 20.04, 18.04 會有多個python 版本的問題
    1. Ubuntu18.04 環境使用: https://gitee.com/keithyau/build_lite/blob/master/Dockerfile
    2. Ubuntu20.04 環境使用: https://gitee.com/keithyau/build_lite/blob/master/Dockerfile20.04
  4. 生成你自己的SSH-KEY (id_rsa) 然後存 id_rsa.pub 到 gitee 上
    1. ssh-keygen -c [email protected]
    2. example: ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa      
    3. 使用DOCKER 在WINDOWS 上編譯 OpenHarmony
  5. 把 id_rsa 和 Dockerfile 放到同一個檔案夾中
  6. 打開 PowerShell / Windows Terminal 去到這個檔案夾
    使用DOCKER 在WINDOWS 上編譯 OpenHarmony
  7. 使用長指令或者改 Dockerfile 的 ARG (xxx 改成你的 gitee 賬號) ,
    1. docker build -t openharmony:v0.x --build-arg wifiiot --build-arg gitUSERNAME=xxx --build-arg gitPASSWORD=xxx --build-arg [email protected] .      
    2. 使用DOCKER 在WINDOWS 上編譯 OpenHarmony
    3. 如果你的開發闆是這個, 3516D, HARDWARE=ipcamera_3516dv300
    4. 使用DOCKER 在WINDOWS 上編譯 OpenHarmony
  8. 成功後會看到打了 tag 的image
    1. 使用DOCKER 在WINDOWS 上編譯 OpenHarmony
    2. 起動這個 image 然後把 Openharmony 鏡像 cp 出來, 最後的 . 是抄到你 powershell 的所在位置
    3. docker run -ti -d --name openharmony_compiled openharmony:v0.x bash

      docker cp openharmony:/OpenHarmony/out/ipcamera_hi3516dv300/OHOS_Image.bin .

      docker cp openharmony:/OpenHarmony/out/ipcamera_hi3516dv300/rootfs.img .

      docker cp openharmony:/OpenHarmony/out/ipcamera_hi3516dv300/userfs.img .

  9. 最後跟據 IDE 的教程把 img 燒到 3516D https://device.harmonyos.com/cn/ide
    使用DOCKER 在WINDOWS 上編譯 OpenHarmony
  10. 你可能會用到 bm 工具, 在 Docker Conainter 中的/OpenHarmony/dev_tools 之中
  11. 成功後LCD 會出現介面 (闆子需要1COM, 1ETH, 1電)
    1. 使用DOCKER 在WINDOWS 上編譯 OpenHarmony
  12. (高手) 需要進入 Console 可以點 Serial Port
    1. 使用DOCKER 在WINDOWS 上編譯 OpenHarmony
    2. 有需要的留言, 再交流更多指令

繼續閱讀