amd64システムでarmhfパッケージを構築したいです。私のarmhfシステムはamd64システムよりはるかに遅いです。
答え1
まず、マルチアーキテクチャ環境を設定する必要があります(追加情報):
sudo dpkg --add-architecture armhf
sudo apt update
ソースコードパッケージをダウンロードします(使用少ない例えば):
apt-get source less
ディレクトリに移動し、最後にパッケージをビルドします。
cd less-458
dpkg-buildpackage -us -uc -b --host-arch armhf
上記のコマンドの特殊フラグはです--host-arch
。他のフラグの意味は次のとおりです。
- 私たちはソースパッケージに署名しませんでした
- .changesファイルに署名していません。
- 私たちはバイナリ専用ビルドを実行しています。
これら3つは、Debian開発者/メンテナンス者などの公開リポジトリを構築している人にのみ関連しています。
答え2
速度よりも利便性を重視する場合は、次の方法を使用できます。ゲームARMシステムをシミュレートします。
必要なツールを含むパッケージをインストールします。pbuilder-dist:
sudo apt install ubuntu-dev-tools
次のコマンドはビルド用のchrootを作成し、対応するtarball(この場合はarmhfアーキテクチャ用のDebian 8システム)を生成します。
pbuilder-dist jessie armhf create
特定のパッケージのソースを入手してください。
apt-get source bb
ビルドパッケージ:
pbuilder-dist jessie armhf bb_1.3rc1-8.3.dsc
私のコンピュータではこれには約370秒かかり、私が作成したARMシステムでは約250秒かかります。
答え3
Debian 9 では pbuilder を使用してください。
pbuilder build --host-arch armhf foo.dsc
またはビルド:
sbuild --host=armhf foo.dsc
いいえ、追加のchrootを設定する必要はありません。デフォルトでは、ビルドされた通常のchrootが機能します。
(長い間、さまざまな方法でサポートsbuild
されています。--host
バージョン0.227にpbuilder
追加されており、--host-arch
Debian 8ユーザーはJessieバックポートで必要なパッケージを見つけることができます。)