給 Debian 13 的套件
在一般的 64 位元 Debian 13 系統上執行 ILP32 程式(非官方)。
運作方式
- ILP32 函式庫放在
/usr/libilp32,與系統原本的 64 位元函式庫並存:包括 Debian 13 自己的 glibc 2.41 和 GCC 14.2 runtime,以及其他函式庫和 Python 3.13,全部用 Debian 的原始碼和 Debian 的編譯參數編出來。 不修改任何 Debian 原本的套件。 - kernel 套件(Linux 6.12.114,跟 Debian 13 同樣是 6.12 LTS 系列)使用 Debian 13 的設定,再加上 ILP32 ABI。
- 已在 QEMU 和實機上測試:Raspberry Pi 3 Model B+、ESPRESSObin,以及一塊 Cortex-A72 板子。
安裝
apt 套件庫用這把金鑰簽章:D572 3B34 0CBE 7C99 2091 8243 9C6A 5E84 1E28 9B20。
wget https://github.com/ilp32-a64/debian-ilp32/releases/download/v2026.11.04/ilp32-a64-archive-keyring_2026.10.24_all.deb
sudo apt install ./ilp32-a64-archive-keyring_2026.10.24_all.deb
sudo apt update
sudo apt install linux-image-ilp32-arm64 ilp32-runtime
sudo reboot
# 選用:編譯器與 Python
sudo apt install gcc-aarch64-linux-gnu-ilp32 g++-aarch64-linux-gnu-ilp32
sudo apt install python3-ilp32
詳細說明:github.com/ilp32-a64/debian-ilp32。
安裝前須知
- kernel 沒有 Secure Boot 簽章,請關閉 Secure Boot。
- 裝了
linux-headers-ilp32-arm64之後,DKMS 模組會自動重新編譯;替 Debian kernel 編好的廠商.ko檔則無法載入。 - Debian 原本的 kernel 仍會保留:可以在 GRUB 選單(UEFI)、extlinux 選單(U-Boot 的板子)或
config.txt(樹莓派)選回。 - Debian 更新 kernel 之後,請用
uname -r檢查:如果結尾不是-ilp32-arm64,就在開機選單選-ilp32-arm64那一項,或移除linux-image-arm64,讓 Debian 不再自動安裝新的 kernel。 - 樹莓派:Debian 13 的映像檔不會自動擴大根分割區(約 2.5 GB),請先擴大。
- Python:pip 只能安裝
linux_aarch64_ilp32和純 Python 的 wheel。
這些套件為非官方版本,與 Debian 無關聯。