Package-Management

我在哪裡可以獲得 aarch64 的 debian 包管理器的壓縮包?

  • May 16, 2020

我想在目前沒有的嵌入式系統上安裝包管理器。

我知道最好的方法是使用 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 ,具有功能依賴系統。

引用自:https://unix.stackexchange.com/questions/586695