2023年4月2日作成
debパッケージのマルチアーキテクチャ
使い方
debパッケージはマルチアーキテクチャをサポートしている。 デフォルトではホストネイティブなアーキテクチャしか有効になっていないので、 以下のコマンドで必要なアーキテクチャを有効にする。
$ sudo dpkg --add-architecture arm64
有効になったか調べる場合もdpkgコマンドで行う。
$ dpkg-architecture --list
$ dpkg --print-foreign-architectures
arm64
上記ではarm64サポートを追加しているので、 以降、arm64パッケージをインストールできるようになる。 パッケージ名の末尾に、:で区切ってアーキテクチャ名を指定する。
$ sudo apt-get install git:arm64
# またはdpkgを使う場合
$ sudo dpkg -i git_arm64.deb
有効にしたアーキテクチャが不要になった場合は以下のコマンドで無効化する。
$ sudo dpkg --remove-architecture arm64
Armアーキテクチャの名前
OSやコンパイラなど、状況によって色々な名前がある。
ハードウェア仕様に由来するもの
- armel
- 末尾のelはEnhanced ABI as little-endianのこと
- 32bitアーキテクチャ
- CPUの世代はARMv4
- armeb
- 末尾のbはbig-endianのこと
- あとはarmelと同じ
- armhf
- 末尾のhfはHardware Floatingのこと
- 32bitアーキテクチャ
- CPUの世代はARMv7
古いDebianのパッケージでは、この命名を採用している。
CPUの世代に由来するもの
- armv7l
- 末尾のlはlittle-endianのこと
- 32bitアーキテクチャ
- armv8l
- 末尾のlはlittle-endianのこと
- 64bitアーキテクチャ
Raspberry Pi関連のパッケージではこの命名を採用している。
アーキテクチャに由来するもの
- arm
- 32bitアーキテクチャ
- A32命令セット
- arm64
- 64bitアーキテクチャ
- A64命令セット
- ARMv8-A以降のCPUで利用可能
Plan 9、Linux、Go言語ではこの命名を採用している。 Debianも64bitのArmパッケージではarm64を使っている。
実行モード(命令セット)に由来するもの
- aarch32
- 32bitアーキテクチャ
- A32命令セット
- aarch64
- 64bitアーキテクチャ
- A64命令セット
- ARMv8以降のCPUで利用可能
GCCやRHEL系パッケージではこの命名を採用している。
ARM? Arm?
公式のTermsでは、社名はArm表記だった。 CPUはv7までがARM表記で、v8以降はArmだろうか。