異なるアーキテクチャのループマウントされた Arch イメージで pacman を使用するにはどうすればよいですか?

異なるアーキテクチャのループマウントされた Arch イメージで pacman を使用するにはどうすればよいですか?

ARMイメージをSDカードにフラッシュする前に、いくつかのパッケージをインストールしたいと思います。これまで、イメージをループマウントしてきました。

sudo mount -o loop,offset=99614720 archlinuxarm-13-06-2012.img /mnt

ARMミラーを私のに追加しました/etc/pacman.d/mirrorlist。その後、実行してみました

sudo pacman --root /mnt --arch arm --conf /mnt/etc/pacman.conf -S curl

しかし、次の出力で失敗します...

warning: curl-7.26.0-1 is up to date -- reinstalling
resolving dependencies...
looking for inter-conflicts...

Targets (1): curl-7.26.0-1

Total Download Size:    0.48 MiB
Total Installed Size:   1.50 MiB
Net Upgrade Size:       0.00 MiB

Proceed with installation? [Y/n] Y
:: Retrieving packages from core...
error: failed retrieving file 'curl-7.26.0-1-arm.pkg.tar.xz' from mirror.lividpenguin.com : The requested URL returned error: 404
 curl-7.26.0-1-arm                   492.9 KiB   293K/s 00:02 [##################################] 100%
(1/1) checking package integrity                              [##################################] 100%
(1/1) loading package files                                   [##################################] 100%
(1/1) checking for file conflicts                             [##################################] 100%
(1/1) checking available disk space                           [##################################] 100%
(1/1) upgrading curl                                          [##################################] 100%
call to execv failed (Exec format error)
error: command failed to execute correctly

これをエミュレーションなしで動作させる方法について何かアイデアはありますか? execv-d されているものは何ですか?

アップデート

を実行しようとしていることがわかりましたがldconfig、明らかに失敗しています。幸いなことに、それを実行する必要はありません。

答え1

ほとんどの Linux ディストリビューションは、互換性のないホスト システムへのターゲット システム用パッケージのインストールをサポートしていません。Arch も例外ではありません。は、ldconfigパッケージのインストール中に実行する必要がある可能性のあるターゲット システムの多くのプログラムのうちの 1 つにすぎません。

ARM デバイス自体、または QEmu などのエミュレーターでインストールを実行します。

または、tar.xzファイルをダウンロードし、アーカイブを変更してファイルを削除し.INSTALL、変更したアーカイブで pacman を再度実行します。その後、インストール スクリプトを手動で実行しなかったために発生した破損に対処します。

答え2

私は試したパックマンのパッチこれで--no-ldconfigオプションができて、問題は解決しました。Alex Chamberlainが作成したツールを使った別の解決策もあります。ピイムただし、まだテストされていません。

関連情報