在 docker 上使用 qemu-static 進行 armv7 & arm64 虛擬機軟件開發一條龍服務。


初期啟動硬件資源,主要有如下內容。

https://github.com/rycus86/docker-arm64v8-debian-qemu

https://stackoverflow.com/questions/58298774/standard-init-linux-go211-exec-user-process-caused-exec-format-error

https://blog.csdn.net/liumiaocn/article/details/109305857

docker 開發環境

https://www.cnblogs.com/qa-freeroad/p/13941445.html

確保 qemu 可以啟動,通過該命令允許宿主機啟動 armv7 虛擬機。

docker run --rm --privileged multiarch/qemu-user-static --reset --persistent yes

開發環境

建議用 debian 或 armv7-alpine 、 openwrt 相關的進行底層軟件開發。

最基礎的庫有 libc.so / libstdc++.so 兩類,大多基於 musl 版本。

通過 ldd 可以查該庫的依賴,通常可在 /lib /usr/lib 中追蹤依賴庫,會提示告知。

通過 nm -D 可以打出擁有的函數符號。

軟件源

apk 用 sed -i 's/mirror.xtom.com.hk/mirrors.aliyun.com/g' /etc/apk/repositories

okpg 百度即可。

編譯 so 項目

編譯缺少頭文件可以 apk add linux-headers 模塊。

現在庫已經不直接提供 ./configXXX 而是采用 aclocal & autoconf & autoheader & automake 生成配置后進行 make 。

ssh 通常有 dropbear 和 openssh

常需要建立 mkdir 目錄后生成 dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key 其他密鑰同理。

文件共享

現在個人用 docker -v 掛載宿主機目錄,原生可以用 qemu中使用 9p virtio, 支持 host 和 guest 中共享目錄。

參考 sudo docker run --name armv7 -i -t -v /home/juwan:/data:rw forumi0721alpinearmhf/alpine-armhf-glibc

sudo docker run --name ubuntu_v83x -i -t -v ~/:/user_dir --hostname sipeed

網絡共享

docker 默認公開網絡,不需要額外 -p 映射端口。

快樂玩耍吧

python3 開發備忘

內存分析 memory_profiler

python3 -m memory_profiler bin/rpyc_classic.py --host 0.0.0.0 -q

需要的 history 如下

  42 apk add gcc
  44 apk add g++
  47 apk add python3-dev
  49 apk add linux-headers
  50 pip install memory_profiler -i https://pypi.tuna.tsinghua.edu.cn/simple

如下懶人用法。

    import sys, memory_profiler
    @memory_profiler.profile(precision=4,stream=sys.stdout)

RPyC ikernel

期間寫的 ipython 內核,比 ipykernel 內核占用更更更少。

swap 掛載文件用法

https://blog.csdn.net/zhangxiaoyang0/article/details/82501209

armv7 v831 的 micropython 倉庫直接編譯

  • scp /usr/lib/libffi.so.7 root@192.168.0.171:/usr/lib/
  • scp /lib/ld-musl-armhf.so.1 root@192.168.0.171:/lib

主要為 ffi 64 位類型和 time64 結構。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM