
我想先在 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 发行版不支持在不兼容的主机系统上安装目标系统的软件包。阿奇也不例外。ldconfig
只是软件包安装过程中可能需要运行的目标系统的众多程序之一。
在 ARM 设备本身或 QEmu 等模拟器中执行安装。
或者,下载该tar.xz
文件,修改存档以删除该.INSTALL
文件,然后对修改后的存档再次运行 pacman。然后处理由于没有手动运行安装脚本而导致的损坏。