설치 지침을 따랐습니다.라즈베리 파이 2의 페도라. 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에서 반환된 metallink를 보면 armhfp
저장소가 하나만 있음을 알 수 있습니다.
이것이 잘못된 구성이라고 가정하고 있으므로 대신 basearch
YUM 정의 변수를 로 변경할 수 있는 방법이 있습니까 ? 제가 더 해야 할 일이 있나요, 아니면 제가 누락된 건가요?armhfp
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.