Package-Management
我在哪裡可以獲得 aarch64 的 debian 包管理器的壓縮包?
我想在目前沒有的嵌入式系統上安裝包管理器。
我知道最好的方法是使用 bitbake 簡單地烘焙一個包含包管理器的新圖像,然後將該圖像快閃記憶體到板上,但不幸的是,我目前無法訪問所有必要的部分來建構一個完整的作業系統映像,所以我需要以某種方式破解它。
嵌入式系統執行汽車級 Linux (Halibut 8.0.0)。
sa8155:/etc# cat os-release ID="auto" NAME="auto" VERSION="8.0.0 (halibut)" VERSION_ID="8.0.0" PRETTY_NAME="auto 8.0.0 (halibut)" sa8155:/etc#
Linux 核心 4.14.146
😈 >adb shell sa8155:~# uname -srm Linux 4.14.146 aarch64
我不確定安裝了哪個版本的 glibc,因為系統目前沒有開發工具:
sa8155:~# ldd --version -sh: ldd: not found sa8155:~# lsof -p $$ | grep libc | awk ' { print $NF" --version"; } ' | sh -sh: lsof: not found sa8155:~#
如果我可以安裝包管理器,我要做的第一件事就是安裝開發工具。
此外,我不確定 debian 包管理器可能具有的任何其他依賴項。
在不同的發行版上安裝為其他東西建構的 dpkg 以管理也在其他地方建構的軟體聽起來不是一個好主意。這將充滿二進制兼容性問題和微妙的錯誤,因為這相當於使用 dpkg 和 –force-all 並忽略任何依賴資訊。
即使是使用 dpkg 作為覆蓋在諸如 macOS 上的 Fink 等預先存在的二進制“發行版”之上的項目,也會在它們所針對的 macOS 系統上建構所有覆蓋的包,並註入幻像依賴項來表示基本系統軟體。
也許你應該做的是使用«debootstrap –arch=arm64 –foreign»創建一個外部arm64 chroot,將其解壓並解壓並完成該設備上的第二階段debootstrapping,以在該系統中獲得一個實際且正確的Debian chroot ,具有功能依賴系統。