Projetos PowerPC 64 big endian de proeminência

JdLL 2018

Como vocês provavelmente sabem, nós participamos da reunião JDLL (Journées du Logiciel Libre – Os dias do software livre – https://www.jdll.org) e prometemos dar notícias sobre a nossa participação. Dessa vez, nossos participantes foram Phillipe Ferrucci e Fadi Osman. Como disse Fadi:

“Foi um prazer encontrar Phillipe. Também vimos o pessoal do OpenSUSE e alguns outros, um deles o inventor da fita magnética. Impressionante!

O pessoal do Haiku é muito legal e nos ajudaram.”

Cerca de 20 pessoas assistiram nossa palestra. Perguntaram o habitual: Por que PowerPC? O PowerPC é mesmo open source?

Como sempre, insistimos na importância da diversidade, e citamos um bug bem conhecido da CPU Intel, apontamos os problemas com o Meltdown e o Spectre, e a existência de backdoors como problemas derivados de um monopólio tecnológico. Também mencionamos a importância de mantermos vivas as distros Linux PowerPC, especialmente a PPC64.

Sobre a segunda pergunta, se é ou não aberto o PowerPC,  explicamos como é o trabalho da OpenPower foundation. Além disso, explicamos também que uma das razões pela qual escolhemos o PowerPC é a origem das pessoas envolvidas no projeto: a maioria de nós tem Amigas clássicos ou novos, ou Macs PowerPC.

Journées du Logiciel Libre

Journées du Logiciel Libre

Durante a interessante discussão, muitas pessoas tentaram ajudar-nos a superar alguns desafios e problemas que encontramos durante o desenvolvimento do laptop, e deram sugestões valiosas:

  • Alguém sugeriu simplificar o design removendo o controlador SATA e conectando o SSD diretamete ao sistema usando a interface de entrada e saída.
  • Outra pessoa falou sobre as dificuldades encontradas pelo pessoal desenvolvendo o console Pandora como, por exemplo, projetar o chassis.
  • Recebemos informações úteis e interessantes de pessoas que podem nos ajudar com problemas de industrialização.
  • Outros sugeriram que uma audiência mais ampla estaria interessada em uma placa PPC no estilo do Raspberry Pi, em vez de um laptop PPC.
  • Também conversamos com o CEO da Why!, que já é um dos nossos maiores doadores e está interessado em uma colaboração mais profunda e em vender o notebook.

Incentivar a continuação do suporte ao PPC64

Agora gostaríamos de mencionar a nova proposta de Aaron Smith (mais um dos nossos doadores principais, e também CEO da Amiga on the Lake). Ele está pedindo aos usuários do Linux PPC64 para incentivar a continuação do suporte ao PPC64.

A companhia Amiga On The Late está trabalhando para criar uma “versão” completa do Linux direcionada ao AmigaOne X5000. Para atingir esta meta, Aaron está oferecendo um disconto a “qualquer desenvolvedor sério que quer uma placa AmigaOne X5000 para trabalhar”. Além disso, ele pede a todos os donos de Power Mac G5s para apoiar ativamente o desenvolvimento do Debian PPC64.

Leia a discussão completa aqui.

Continuando nossa pesquisa sobre o projeto Yocto

Ainda estamos desenvolvendo uma imagem do Research Linux baseada no projeto Yocto. Ainda não temos certeza se vamos produzir uma distribução personalizada usando Yocto ou se será muito difícil para nós. De qualquer forma, o trabalho que estamos desenvolvendo será útil para toda a comunidade PPC. Por exemplo, achamos um bug que causava um erro compilando o kernel 4.14 no PPC64. Este foi comunicado ao projeto Yocto e propusemos um patch que foi aceito e que estará disponível na versão 2.5.

PowerPC yocto project

Projeto Yocto PowerPC

Além disso, estamos tentando compilar o Firefox 52 ESR (Extended Release Support). Um navegador completo e de boa performance é a maior dor-de-cabeça que temos na área de software para o PPC. No momento, existem pouquíssimos navegadores que compilam no PowerPC e o Firefox precisa de flags especiais e patches para evitar problemas. Para compilá-lo, reunimos informações dos fóruns Gentoo, Debian, RedHat e OpenSuse, além dos issue trackers. Com tudo junot, conseguimos compilar e executar o Firefox, mas ainda não temos uma engine JIT JavaScript, o que torna a navegação lenta com frequência, e ainda precisamos resolver uma série de bugs remanescentes e testar o resultado final.

Caso deseje colaborar, contate-nos.

Distro Adélie / Alpine PowerPC

O mantedor do Adelie é um programador de grande habilidade que ama o ppc64, uma plataforma tier 1 PowerPC.

Adélie e Alpine são distribuições PowerPC, uma para cada modo endian.

O Alpine Linux é uma distro bem conhecida, com foco em segurança e em ser leve, construída usando o musl libc. A IBM ajudou a portar o Alpine para o ppc64el (little endian), e a versão 3.7 é suportada oficialmente.

O Adélie Linux tem como foco um desktop fácil de usar que roda em hardware de qualquer era e velocidade, baseado nas ferramentas Alpine e no musl libc. Suporta oficialmente o ppc64 big endian e foi a primeira distribuição a suportar completamente o ppc4 no musl, e a conter o ambiente LXQt no ppc64/musl.

adeline PowerPC Linux distro

Distribuição Linux Adelie

* Alpine Linux https://alpinelinux.org/
* Adélie Linux  https://adelielinux.org/

Compilando os pacotes Debian PowerPC 64 no IBM Power8 da Universidade de Oregon

Graças ao Open Source Lab da Universidade de Oregon e à fundação OpenPower tivemos acesso ao OpenStack rodando em um servidor Power8 com 4 vCPU, 8GB de RAM e começamos a compilar os pacotes PowerPC, especialmente os pacotes Big Endian para o Debian que publicamos no nosso repo público. Estes pacotes rodam em máquinas ppc64 G5 e poderão ser úteis para o nosso laptop futuro.

Preparamos uma instância Debian 8.10 PowerPC BE baseada no hardware Power8 no OpenStack para compilar os pacotes Debian PowerPC BE para o “sid” (Debian unstable).

Você pode ver mais sobre o nosso projeto no Open Source Lab da Universidade de Oregon.

Graças ao Power8, podemos compilar grandes pacotes de aplicativos em uma fração do tempo que precisávamos com um Power Mac G5 dual core, ou com x86.

mame ppc64be compilations

Compilação do mame ppc64be

Caso você queira corrigir pacotes Debian para executarem otimizados para o PowerPC 64 big endian com Altivec por favor contate-nos.

Recursos para explorar, aprender e desenvolver no POWER: https://developer.ibm.com/linuxonpower/cloud-resources/

Oregon State University

Universidade de Oregon

Repo Debian da comunidade Power Progress

Nosso grupo de software corrigiou alguns pacotes Debian sid, adicionando otimizações para o ppc64 e suporte Altivec, se disponível. O trabalho também é focado na correção de bugs e na conversão para ppc64 da maior quantidade de pacotes possível. Você pode explorar nosso repo e obter instruções sobre como testar nossos pacotes em http://repo.powerprogress.org.

Caso queria colaborar conosco, contate-nos.

v

Firefox compiado e instalável do repo.powerprogress.org

repo powerprogress packages list

Lista dos pacotes do repo powerprogress

Apresentação do nosso projeto no grupo de usuários Linux de Monza, Itália

Agradecemos aos nossos amigos da Brigx pela hospitalidade em Bernareggio, Monza Brianza, Itália, onde apresentamos nosso projeto. Os atendentes estavam muito interessados nas nossas atividades, e agrademos suas doações preciosas.

Progresso das doações e dos diagramas elétricos, atividades do inverno

Neste artigo, publicamos o progresso da campanha de doações e das nossas atividades correntes. Aqueles que seguem nossa conta no Twitter e nossa página no Facebook já estão cientes das notícias sobre o nosso trabalho. Nosso foco atual é no desenvolvimento de software. Resumidamente, nossos desenvolvedores estão testando as distribuições Linux correntes, preparando um ambiente emulado para uma máquina Qoriq T2080 usando Qemu e até experimentando o projeto Yocto para melhor avaliar a criação de uma distribuição própria.

Preparando uma distribuição GNU/Linux PowerPC

Comecemos com as distribuições. Como vocês sabem, divulgamos inicialmente nossa meta inicial como sendo ajudar a manter o Debian para processadores PowerPC de 64 bit (ppc64) e incluí-lo como sistema Linux padrão do nosso notebook. Esta ideia ainda é nossa meta, mas achamos mais opções boas como Lubuntu, openSuse e até Gentoo. Consequentemente, nossos testadores criaram uma lista de distribuições suportadas ativamente em processadores PowerPC e estamos avaliando seus procedimentos de instalação, sua performance e documentando quaisquer problemas encontrados.

Debian buster/sid ppc64 multiarch ppc32

 

Debian buster/sid ppc64

Também encontramos uma lista interessante dos sistemas operacionais disponíveis atualmente para o PowerPC em http://bgafc.t-hosting.hu/oses4ppc.php.

Kernel 4.14 e placas de vídeo no Power Mac G5

Outra grande descoberta feita por um dos nossos membros quando ele estava compilando um kernel experimental personalizado usando o código-fonte versão 4.14 e o GCC 7.3 no Gentoo rodando em um Power Mac G5. De acordo com ele, “o GCC 7.3 é definitivamente uma melhoria! A placas de vídeo (Radeon 9650 e 9800 AGP) não travam mais no G5. O Firefox está estável e menos lento (porque roda em XOrg acelerado)”. Além do mais, estamos testando placas de vídeo PCIe novas em um Power Mac G5, usando o comando Open Firmware “boot-device hd0:.\\”, sem precisar usar yaboot ou tbxi.

Testando um núcleo e6500 emulado no Qemu

Outro esforço está sendo feito para criar um ambiente virtual para emular nosso laptop futuro usando Qemu. Isto é muito importante, pois permitirá o desenvolvimento e teste de software como, por exemplo, o processo de boot u-boot. Crucialmente, permitirá qualquer interessado a testar e experimentar a nossa plataforma e configuração alvos, mesmo donos de hardware x86. Infelizmente, não há configuração pronta do Qemu que conforme perfeitamente com as nossas especificações. Mas é exatamente por isso que estamos trabalhando nessa direção.

Até agora, parece possível iniciar uma máquina virtual baseada no e6500 usando QEmu 2.11 e u-boot, mas ainda temos problemas para criar uma partição Linux.

Parece que recentemente o grupo de desenvolvimento do QEmu (https://lists.nongnu.org/archive/html/qemu-devel/) tem focado em melhorar a emulação PowerPC, fazendo-nos acreditar que a versão 2.12 vai facilitar muito alcançar nossos objetivos (https://wiki.qemu.org/Planning/2.12). Fique ligado!

Criação de uma imagem Linux PowerPC usando o projeto Yocto

Temos experimentado o uso do projecto Yocto para a criação de uma imagem Linux. Estamos avaliando esta possibilidade, pois seria uma opção extra para o ajuste fino do sistema operacional quando nosso hardware chegar. Atualmente, roda o desktop LXQT e inclui programas como o navegador Otter, Gimp, kvirc, qBittorrent, Audacious, Mpv, Qps e Speedcrunch. Estamos trabalhando em kernels funcionais para um Mac Mini G4 e um Power Mac G5.

Yocto personalizado PowerPC

Placa de vídeo funcional no devkit NXP T4240QDS

O time Borea tentou montar um desktop baseado no sistema de desenvolvimento NXP T4240QDS. Depois de muito trabalho, eles conseguiram rodar o Gentoo Linux com LXDE usando uma AMD Radeon PCIe sem modificações, e com suporte nativo à rede do T4240 usando DPAA, sem precisar de uma placa de rede PCIe extra. O time Borea usou um kernel não-modificado 4.14, a distribuição padrão para PowerPC do Gentoo e, como um extra, o dock Cairo para testar a aceleração 2D usando a GPU.

O resultado final foi ótimo, e sem nenhuma instabilidade! Por exemplo, o VLC rodou Xvid FullHD usando só dois núcleos (de um total de 24) rodando a 1.6 GHz com AltiVec ativado. O LibreOffice 5.4.5.1 funciona bem também. Infelizmente, rodar navegadores Web é um problema. O Firefox 54.x compila, mas não inicia (segmentation fault). O Firefox 58 nem chega a compilar, mas o time só tentou brevemente. Alguns pacotes tentam executar instruções ilegais, mais provavelmente por questões de incompatibilidade com o ISA do Power8/9, ou talvez nem todos os aplicativos suportam corretamente o AltiVec ABI. Precisamos resolver esses problemas, mas a impressão geral é que o T4240, como um desktop, é bem rápido.

Gentoo ppc64 no devkit NXP T4240QDS

Estaremos presentes nas “Les journées du Logiciel Libre”no dia 24 de março

Finalmente estaremos presentes na reunião dos dias do software livre (Les journées du Logiciel Libre), nos dias 24 e 25 de março em Lyon, França. Apresentaremos nosso “Portable Open Hardware” no dia 24 de março as 12h30 na “Maison Pour Tous”, Salle des Rancy 249 rue Vendôme 69003, Lyon. Veja o local no mapa em https://www.openstreetmap.org/way/49680968.

Les journées du Logiciel Libre

BSD Mag

Não perca a última edição da BSD Mag, que inclui um artigo por Saulo Paiva (o que vos escreve) explicando o nosso projeto Open Source Power Notebook e uma entrevista com Roberto Innocenti.

Nosso projeto do notebook PowerPC na BSD Magazine.

Participação no FunkyPrize

No dia 29 de dezembro de 2017, inscrevemos nosso projeto “Open Hardware GNU/Linux” no FunkyPrize italiano. O FunkyPrize é um prêmio que foi fundado em 2014 em homenagem ao finado Marco Zamperini, um professor italiano que sabia como impulsionar as novas gerações a um uso informado e avançadíssimo de novas tecnologias.

O FunkyPrize tem como meta preencher o vácuo deixado por sua partida prematura, encorajando a todos que queiram continuar buscando sua meta, e por um uso mais disseminado, maduro e consciente da Internet na Itália; também desenvolvendo o potencial da Internet como ferramenta para a melhoria da qualidade de vida do país, e facilitando novas formas de participação na sua vida social e econômica.

Infelizmente, não fomos selecionados como um dos finalistas. 🙁

Para maiores informações sobre a nossa participação no FunkyPrize, clique aqui.

Os diagramas elétricos estão prontos! Esperamos os 25% finais das doações.

Gostaríamos de lembrar a todos que nossa campanha não tem como meta criar um produto, mas sim criar um diagrama elétrico livre, bem documentado e pronto para produção, que permita a qualquer um produzir e até personalizar hardware baseado na plataforma PowerPC.

Até o momento da publicação deste artigo, recebemos 75% do montante necessário e com sua singela ajuda atingiremos nossa meta.

Quando atingirmos a meta, pagaremos o projetista e ele nos transferirá os diagramas elétricos como combinado. Depois da revisão necessária, divulgaremos o resultado do trabalho com toda a comunidade.

Se você pensa em nos ajudar, por favor considere doar mensalmente, ao invés de uma doação única. Doações recorrentes nos ajudam a planejar nossas atividades melhor e também ajudam o engenheiro a saber quando atingiremos nossa meta.

Ajude-nos a divulgar o nosso projeto para tornar nosso notebook PowerPC Linux realidade.