Habilitando o ARMv8 no Raspberry Pi 3 B

14

De acordo com este artigo, eu poderia mudar para o ARMv8 no meu Raspberry Pi Modelo 3B, mas estou recebendo a "tela do arco-íris" depois de adicionar à config.txtlinha:

arm_control=0x200
  • Por que não está funcionando?
  • Vale a pena mudar do ARMv7 para o ARMv8 (levando em consideração que estou disposto a compilar alguns programas C ++ no futuro).

Estou usando o Raspbian 9.1 "stretch" e /prc/cpuinforelata "ARMv7 Processor rev 4 (v7l)".

madneon
fonte
Que vale a pena? Depende! Se você deseja rolar seu próprio kernel, então sim. Você quer?
Fabian
@ Fabian, se for necessário / vale mais do que - sim. Mas o Raspbian 9.1 não é "ARMv8 -ready"?
madneon

Respostas:

8

Acho que outras pessoas aqui fizeram um bom trabalho respondendo:

Vale a pena mudar de ARMv7 para ARMv8

Vários softwares citados para exigir o ARMv8 incluem o CockroachDB, o MongoDB (se estiver acessando> 2 GB), o emulador Dolphin e o OpenMW. No entanto, da mesma forma, você perderá outros recursos ou programas que podem ser menos suportados com um kernel de 64 bits (por exemplo, jogos com brcmEGL + dispmanx).

arm_control=0x200

Por que não está funcionando?

Parece que você pulou a etapa principal de copiar o kernel de 64 bits e seus módulos. Esse artigo do eLinux também pode estar desatualizado, pois o carregador de inicialização padrão do Raspbian Stretch inicializa automaticamente o kernel8.img, se presente .

Se você não está construindo um kernel de 64 bits a partir da fonte , pode fazer o download de uma versão funcional do autor original deste artigo, aqui no GitHub (somente Pi 3B). Sua imagem é baseada no Debian arm64, e se você pretende usar este kernel com Raspbian, certifique-se de copiar dentro /boot/{kernel8.img,*.dtb,overlays,config.txt,cmdline.txt}e a /lib/modules/partir da imagem Pi64. Você também pode baixar e instalar essas imagens Raspbian pré-configuradas:

Voltar para parte de sua outra pergunta:

(levando em consideração que estou disposto a compilar alguns programas C ++ no futuro).

Se você tem a intenção de usar o Pi 3 para desenvolver e testar aplicativos armhf e arm64, é melhor executar o Pi64 diretamente. Ao contrário do Raspbian, ele suporta o MultiArch e, portanto, não requer a execução de contêineres de 64 bits. Fora do ecossistema Raspbian / Debian, outras distribuições de 64 bits incluem o Ubuntu Server, Gentoo, openSUSE e Fedora (veja os comentários de outras pessoas).

jdonald
fonte
O OpenGL não fornece aceleração de hardware para sistemas de 64 bits? Ou isso é apenas no Pi?
JAB
@JAB, meu comentário foi específico ao status do kernel do Pi de 64 bits, embora o problema não esteja claro no momento. Mesmo no meu sistema, posso modprobe vc4obter e obter mais de 60 fps glxgears, enquanto o Minecraft Java Edition está rastejando. Além disso, o gentoo-on-rpi3-64bit reivindica a compatibilidade do VC4 em sua linha de assunto. Editei minha postagem para remover a menção ao OpenGL até que eu tenha algo mais factual.
jdonald
8

Vale a pena mudar de ARMv7 para ARMv8?

A menos que você esteja executando um país de usuário do kernel e do SO compilado para o ARMv8; existem pelo menos algumas dessas coisas para o Pi 3, incluindo o Fedora . Para algumas dicas sobre por que ainda não existe uma versão especial do Raspbian, veja aqui:

Raspbian mudando para o modo de 64 bits

Caso contrário, acho que a única relevância está naquilo em que o processador se informa, que pode ser encontrado via /proc/cpuinfo. Algumas pessoas usam isso como um meio de diferenciar um modelo de pi de outro, embora a prática obviamente não seja generalizada. Dito de outra maneira, a menos que você saiba um motivo para fazê-lo, não há um.

Cachinhos Dourados
fonte
Portanto, não há outro ganho que a v8 seja de 64 bits (e possa suportar o sistema operacional 64b)?
madneon
Novamente, qualquer que seja o benefício de executar um sistema de 64 bits, seria necessário um software compilado para explorá-lo, começando com o kernel (caso contrário, qualquer outra coisa não funcionará). Pelo que sei, ativar isso não fará nenhuma diferença (e pelo som das coisas pode criar um problema).
goldilocks
O Fedora é dificilmente obscuro e ofereceu aarch64 no RPi3 quase desde o dia em que o RPi3 chegou ao mercado. Baixe aqui. @madneon
Michael Hampton
@MichaelHampton Obrigado pela atualização - o Fedora é de fato a minha distro preferida, eu uso o stock arm7 nos 2's e 3's. É um pouco estranho eu ter perdido isso (o wiki diz que o suporte pi existe desde a versão 25, o que seria mais próximo de um ano após o lançamento do 3). Enfim, editado.
goldilocks
Ah sim, certo, houve 23 e 24 builds do aarch64, mas eles não são oficiais.
Michael Hampton
2

Atualmente, parece que o Fedora e o Archlinux são bem suportados.

Se você seguir o caminho do Arch, isso ajudará você a criar a imagem (para mim, no linux / rpi3 make linux) e isso ajudará você a iniciar o wifi.

Caso você precise ter certeza de qual framboesa possui, use este guia .

Também arm_control=0x200está obsoleto e arm_64bitdeve ser usado no /boot/config.txt.

Pierre-Alexis Ciavaldini
fonte
1

Vale a pena mudar de ARMv7 para ARMv8

Eu apenas estive investigando isso. Comparei alguns programas e um deles viu um aumento substancial no desempenho. Mais fundo, parece que o ARMv8 adiciona uma nova instrução para divisão de números inteiros substancialmente mais rápida que a rotina de montagem tradicional.

Portanto, há pelo menos um motivo para atualizar para a v8!

Caso contrário, devo confessar que o ARMv8 parece quase idêntico ao ARMv7.

EDIT : Eu digo uma mentira. Acontece que estou falando do AArch32 quando o modo de 64 bits possui o AArch64, que é um conjunto de instruções substancialmente diferente de acordo com esta ótima apresentação .

Jon Harrop
fonte