我已按照安装说明进行操作Raspberry Pi 2 上的 Fedora。我下载了 MATE 桌面映像这里并用可用的签名进行验证这里,然后将其复制到我的 SD 卡上。
然后,我使用 QEMU ARM 的静态构建设置了 chroot 环境,并能够成功chroot
进入映像。我可以执行任何 ARM 二进制文件并连接到网络。
chroot
但是,由于以下奇怪的错误,我无法在其中安装任何软件包dnf
:
# dnf update
Error: Failed to synchronize cache for repo 'fedora' from 'https://mirrors.fedoraproject.org/metalink?repo=fedora-23&arch=arm': Cannot prepare internal mirrorlist: file "repomd.xml" was not found in metalink
如果我查看从该 URL 返回的 metalink,就会发现只有一个armhfp
存储库。
由于我假设这是一个错误配置,有没有办法让我将basearch
YUM 定义的变量更改为 bearmhfp
而不是arm
?还有什么我需要做的,或者我缺少的吗?
uname -m
报告架构:
# uname -m
armv7l
并file
告诉我有关编译文件的信息:
# file /bin/bash
/bin/bash: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=04f0998ecd3bfaea23bab0223f7ce1f602296085, stripped
答案1
这可能看起来过于明显和简单化,但它对我有用:
sed -r -e 's/\$basearch/armhfp/g' -i /etc/yum.repos.d/*.conf
这是对 $basearch 的所有实例的基本“搜索和替换”,并将其替换为 armhfp。
从技术上讲,它不会按照您的要求覆盖您的变量,它只是消除了这样做的需要。 HTH。