したがって、Raspbian(デフォルトでLXDEを含むARM Debian派生製品)を実行するときは、aptitudeを使用して通常のパッケージをインストールできます。ただし、たとえば、.debファイルをダウンロードするには、32ビットまたは64ビットを選択し、ファイルをダウンロードしてRaspbianで実行する必要があります(動作しません)。
公式リポジトリからパッケージをインストールするとARMシステムで動作するのはなぜですか?なぜ互換性がないのですか?
私もハードウェアとソフトウェアビットの違いについて少し混乱しています。 ARMはハードウェアですか?
答え1
TL、DR:「32ビット」および「64ビット」オプションのみが利用可能な場合、どちらのオプションもRaspberry Pi(または他のARMベースのコンピュータ)には適していません。 ARM用のパッケージと適切な起動パッケージ(例:armhf
。
「32ビット」と「64ビット」は、プロセッサアーキテクチャの特性の1つにすぎません。多くのプロセッサファミリには、32ビットおよび64ビットバリアント(x86、ARM、Sparc、PPC、MIPSなど)があります。ダーバンさまざまなプロセッサ機能とさまざまなソフトウェア機能のための23の公式バイナリリリースがあります。
あなたはABIあなたのシステムのため。アプリケーションバイナリインタフェース(ABI)には、プロセッサタイプ(より正確には命令セット)だけでなく、プログラムがプロセッサと対話する方法に関連するその他の特性も含まれます。特に、プログラムがライブラリ内のコードを呼び出すとき、ABIはライブラリ関数への引数が渡される方法(レジスタまたはスタック)を決定します。
PCの世界には2つのコマンドセットがあります(わずかな違いは重要ではありません)。
- IA-32、変形x86、しばしばi386(Debianで使用される名前)またはi686(例えばIA-32、x86アーキテクチャファミリの複数世代)と呼ばれます。
- x86-64、x64またはamd64(Debianで使用される名前)とも呼ばれます(完全に他のIA-64と混同しないでください)。
Intel と AMD はどちらも x86 命令と x86-64 命令セットを実装するプロセッサを製造しています。最新のPCプロセッサはx86-64およびx86命令セットの両方をサポートしますが、古いPCプロセッサはx86のみをサポートします。 x86命令セットは32ビットレジスタを使用し、x86-64命令セットは64ビットレジスタを使用し、すべてのLinuxインストールは各命令セットに対してABIを使用するため、しばしば「32ビット」または「64ビット」説明します。ビット" "。 PC環境では、「32ビット」は「x86」を意味し、「64ビット」は「x86-64」を意味します。
ARMプロセッサには全く異なる命令セットがあります。 ARMシステムにx86またはx86-64パッケージをインストールすることはできません。正しい命令セット、より一般的には正しいABIを取得するには、ARM用のパッケージが必要です。現在、64ビットARMプロセッサの主な64ビットディストリビューションはありません。ARMv864ビット命令セットを導入したアーキテクチャの改訂は、依然として非常に新しく一般的ではありません。ただし、さまざまなプロセッサ機能を想定し、さまざまなバージョンのパラメータ転送ルールを使用する複数の32ビットABIがあります。 Linuxで使用される主なARM ABIは次のとおりです。
- アメル、ベースARM EABI バージョン 2(「ARM EABI」または単に「EABI」と呼ばれる)リトルエンディアン方式化身;化身;
- 腕水素夫特に最新のARM CPUの一部の機能を活用するarmelのバリエーションです。時間ハードウェアFアンカーサポート。
armhfをサポートするすべてのデバイスはarmelもサポートしますが、指定されたシステムインストールは一貫している必要があります。 Raspbianはarmhfを使用しています(実際、armhfがまだ新しいものであるときは、armhfのDebian armelのポートで始まりました)。
1少なくとも主流ディストリビューションの場合。一部の組み込みディストリビューションには、さまざまなバージョンの標準Cライブラリ(glibc、Dietlibc、uclibcなど)用にコンパイルされたパッケージを含む複数のx86バイナリバージョンがあります。
答え2
したがって、Raspbian(デフォルトでLXDEを含むARM Debian派生製品)を実行するときは、aptitudeを使用して通常のパッケージをインストールできます。
Raspbianを実行している場合、aptitudeはRaspbianリポジトリからパッケージをインポートします。説明したようにラズベリーパイのよくある質問、このパッケージはRaspberry Piで使用されるARMv6用にコンパイルされました。公式のDebianパッケージを使用していません。よくある質問で再び、Debian腕水素夫ARMv7-A CPU 以降および Debian サポートアメルあまり強力なARM CPUをサポートします。
32ビットまたは64ビットを選択してダウンロードする必要があります。
「x86とx86_64から選択」を意味する場合は、次のようになります。x86アーキテクチャ(または今はi686)またはx86_64。彼らはそこにいないでしょう。 腕建築学。 Raspbian用にコンパイルされた.debを見つけてダウンロードする必要があります(または同じオプション)または直接コンパイルしてください。
私もハードウェアとソフトウェアビットの違いについて少し混乱しています。
質問をよく理解したかどうかはわかりませんが、x86_64をサポートするプロセッサは32ビットx86も実行できるため、最新のCPUに32ビットバージョンのディストリビューションをインストールして32ビットソフトウェアのみを使用できます。