Alterando a pesquisa do YUM / DNF na imagem do Raspberry Pi?

1

Eu segui as instruções de instalação do Fedora em um Raspberry Pi 2 . Eu baixei a imagem do MATE Desktop aqui e verifiquei com sua assinatura disponível aqui e copiei para o meu cartão SD.

Eu, então, configurei um ambiente chroot usando uma compilação estática do QEMU ARM e consegui chroot na imagem. Eu posso executar qualquer binário ARM e conectar-me à rede.

No entanto, não consigo instalar nenhum pacote dentro do chroot devido a esse erro estranho de 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

Se eu olhar para o metalink retornado por esse URL, há apenas um repositório armhfp .

Como estou assumindo que isso é um erro de configuração, existe uma maneira de alterar a variável basearch definida pelo YUM para ser armhfp em vez de arm ? Há algo mais que eu precise fazer, algo que estou perdendo?

uname -m informa a arquitetura:

# uname -m
armv7l

e file me informam sobre os arquivos compilados:

# 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
    
por Naftuli Kay 03.05.2016 / 06:23

1 resposta

0

Isso pode parecer excessivamente óbvio e simplista, mas funcionou para mim:

sed -r -e 's/\$basearch/armhfp/g' -i /etc/yum.repos.d/*.conf

Esta é uma "pesquisa e substituição" básica para todas as instâncias de $ basearch e substituí-lo por armhfp.

Tecnicamente, não está sobrescrevendo sua variável como você pediu, apenas está removendo a necessidade de fazer isso. HTH.

    
por 29.12.2017 / 07:02