1 pontos por GN⁺ 1 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • O port arm64 do Haiku agora inicializa até a área de trabalho nas builds noturnas mais recentes, e a imagem hrev59669 funciona no QEMU
  • Para rodar no QEMU, a compatibilidade entre o EFI Tianocore e a seleção de CPU é importante; no Debian, isso foi resolvido com --cpu cortex-a76
  • Com pequenas correções, também foi possível inicializar no UTM, mas o movimento do mouse é lento e travado, então a usabilidade real ainda é baixa
  • As imagens noturnas arm64 estão em estado unbootstrapped, sem git, gcc nem pacotes de desenvolvimento, e a ausência de OpenSSL também pode bloquear a instalação de pacotes
  • A transferência de arquivos entre host e guest pode ser contornada com uma imagem de disco FAT32, e foi levantada a possibilidade de fazer cross-build de .hpkg em x86_64 ou Linux

Status de boot do Haiku arm64

  • O port arm64 do Haiku chegou ao ponto de inicializar até a área de trabalho nas builds noturnas mais recentes
  • A build mais recente hrev59669 em download.haiku-os.org funciona no QEMU
  • Com pequenas correções, o Haiku também pode inicializar no UTM, mas o movimento do mouse é lento e travado, então a usabilidade ainda é baixa

Configuração de execução no QEMU

  • O comando que funcionou para executar a imagem arm64 no QEMU foi o seguinte
qemu-system-arm64 -m 512M -bios /path/to/the/arm64/QEMU_EFI.fd -device ramfb -M virt --cpu cortex-a76 -device usb-ehci -device usb-kbd -device usb-tablet -device usb-storage,drive=dska -drive id=dska,file=haiku-arm64-mmc.image,if=none
  • A CPU escolhida por padrão pelo QEMU no Debian parecia ser incompatível com a implementação EFI fornecida junto, e isso foi resolvido ao especificar --cpu cortex-a76
  • A entrada de teclado e tablet usa dispositivos USB, e o usb-tablet permite lidar com a entrada sem capturar o mouse
  • ramfb é usado como uma opção de framebuffer relativamente segura no arm64
  • No Debian, o caminho do binário Tianocore é /usr/share/qemu-efi-aarch64/QEMU_EFI.fd quando os pacotes necessários estão instalados
  • Em outros sistemas, a imagem EFI pode ser encontrada online ou extraída de um pacote do Debian

Ambiente de desenvolvimento e estado dos pacotes

  • No momento, a imagem noturna arm64 não é uma “bootstrap image”, mas sim uma imagem unbootstrapped, e a forma como o conjunto inicial de pacotes foi compilado é diferente
  • A imagem noturna atual não inclui git, gcc nem pacotes de desenvolvimento
  • Baixar e configurar o arquivo de release de haikuports aparentemente pode fornecer o conjunto básico de pacotes necessário para compilar pacotes
  • Também pode ser possível instalar alguns pacotes com pkgman, mas como atualmente não há haikuports builder, o conjunto de pacotes pode ser muito limitado
  • Houve relato de que o pkgman não consegue instalar nenhum pacote e retorna o erro “operation not supported”
  • A causa pode ser que a imagem foi compilada sem suporte a OpenSSL, e nesse caso fica difícil realizar tarefas úteis
  • Se houver pacotes no depot, é possível contornar isso pegando o link e baixando com wget; uma solução parecida também foi necessária ao configurar haikuporter e haikuports na imagem riscv64

Transferência de arquivos entre host e guest

  • Ainda não foram encontrados no servidor depot pacotes de desenvolvimento pré-compilados para arm64
  • Para levar arquivos do host QEMU ao guest ARM64 Haiku, é possível usar uma imagem de disco FAT32
  • O método consiste em criar uma imagem de disco FAT32 no Utilitário de Disco do MacOS, montá-la no Mac para colocar os arquivos e depois conectá-la ao guest no QEMU
  • Um exemplo de execução do QEMU com o disco compartilhado anexado é o seguinte
qemu-system-aarch64 \
  -M virt \
  -cpu max \
  -m 2G \
  -smp 4 \
  -bios /opt/homebrew/share/qemu/edk2-aarch64-code.fd \
  -device qemu-xhci,id=usb \
  -drive file=haiku-master-hrev59671-arm64-mmc.image,if=none,id=drv0,format=raw \
  -device usb-storage,bus=usb.0,drive=drv0 \
  -device usb-kbd,bus=usb.0 \
  -device usb-tablet,bus=usb.0 \
  -device ramfb \
  -display cocoa,zoom-to-fit=on \
  -device qemu-xhci,id=usb2 \
  -drive file=../shared.img,format=raw,if=none,id=usb-shared \
  -device usb-storage,bus=usb2.0,drive=usb-shared \
  -serial stdio
  • Foi levantada a possibilidade de que seja possível fazer cross-build de .hpkg para ARM64 Haiku a partir de um Haiku x86_64 ou Linux

1 comentários

 
GN⁺ 1 시간 전
Comentários do Hacker News
  • Neste fim de semana instalei o Haiku em um velho Thinkpad X40, e ele é rápido e surpreendentemente estável
    Emacs e VLC também funcionam muito bem. Para navegação na web o computador é lento demais, mas a suíte de escritório BeProductive chega perto de ser uma obra-prima para um aplicativo de apenas 9 MB de download. Só não é open source
    Depois instalei o Haiku também em um XPS13 com KVM/Qemu, e tudo roda absurdamente rápido. Estou pensando em usá-lo para organizar fotos, e o recurso de metadados embutido no BeFS parece ótimo para isso. Fiquei realmente impressionado

    • O Haiku é um bom exemplo de priorizar a experiência do usuário acima de benchmarks
      Internamente, ele roda a algo como 60% da velocidade do Linux no mesmo sistema, mas, na prática, parece muito mais rápido do que qualquer outra coisa
      Não quer dizer que eles não liguem para melhorias de desempenho, e sim que sempre garantiram a experiência do usuário como prioridade máxima
    • Falando assim, estou pensando que talvez eu pudesse instalar isso em um VAIO bem antigo que tenho largado em casa
  • Eu estava justamente contando para meu filho que, antes da volta do Jobs, a Apple tentou comprar a Be Inc., mas acabou escolhendo ser adquirida pela NeXT
    É um ciclo bem interessante. A Be portou o BeOS para PowerMac, a Apple desistiu de comprar a Be, a Be Inc. desapareceu, o HaikuOS começou e, mais de 20 anos depois, o HaikuOS foi portado para hardware da Apple
    Sinceramente, no notebook da Apple o problema não é o hardware, e sim o péssimo OS da linhagem XNU/Darwin/NextStep que vem junto. Eu compraria um Mac se ele viesse com HaikuOS por padrão e suportasse todos os periféricos, mas imagino quão improvável isso seja
    Para constar, ainda tenho um PowerMac com um BeOS “de verdade” instalado. Não dou boot nele há alguns anos. Quando rodei o HaikuOS em uma VM X86-64, ele lidou muito bem com tarefas como compilar alguns pacotes, executar o emacs e servir uma ou duas páginas web. A documentação para desenvolvedores parece precisar de mais reforço, mas até pensei em me voluntariar para ajudar

    • Sobre a parte do “péssimo OS da linhagem XNU/Darwin/NextStep que vem junto”, queria entender especificamente qual é o problema
  • Eu não conhecia bem o Haiku OS, mas, segundo a Wikipedia, o Haiku é um projeto da comunidade para dar continuidade ao BeOS, um sistema operacional para computadores pessoais que foi descontinuado
    Dizem que ele mantém compatibilidade binária com o BeOS, ao mesmo tempo em que suporta sistemas modernos, protocolos, hardware e padrões web

  • É uma pena que provavelmente nunca vá dar para rodar isso em um iPad M1/série M

    • É realmente uma pena que a Apple tenha se tornado tão hostil a software open source nos últimos anos
      Eu diria que a era de ouro do jailbreak também foi a era de ouro do desenvolvimento mobile. Havia muita inovação e iteração rápida, parecia que qualquer coisa que você decidisse criar seria possível, e de fato era
      Uma boa parte das ideias boas que a Apple integrou ao iOS foi copiada de forma descarada e sem crédito desse caldeirão de criatividade que era a comunidade de jailbreak
      Mas tudo isso dependia de alguém encontrar vulnerabilidades e, ignorando o bug bounty, divulgá-las de graça para a comunidade. Eram verdadeiros altruístas
      A Apple ficou boa o bastante em bloquear esse tipo de tentativa como num jogo de whac-a-mole e em pagar 100 mil dólares às pessoas, e no fim esse esforço desapareceu. A maioria das vulnerabilidades fáceis já foi encontrada e corrigida. Não é surpresa que a inovação no iOS também tenha estagnado, já que não há mais boas ideias para copiar
  • Na prática, o Haiku OS é utilizável até que ponto?

    • No começo ele parece um pouco peculiar, mas é gostoso de usar. Quando você passa da fase de experimentação, fica claro que o ecossistema de software é bem limitado
      Ainda assim, recomendo conhecer
      Há impressões mais detalhadas aqui: https://kconner.com/2025/03/09/haiku-os-study-path.html
    • Eu estava montando um ambiente para um filho adolescente aprender programação neste verão com o mínimo possível de distrações
      Fiquei surpreso ao ver que o IntelliJ roda e que os GNU core utils também vêm integrados. Um programa hello world também funcionou bem
    • Meu maior problema é a falta de aplicativos
    • Fiquei em dúvida se isso se refere só ao M1 ou a todas as plataformas no geral
  • Recentemente eu estava olhando o FuriPhone, um celular Linux que roda Debian, e pensei que portar o HaikuOS para ele daria um projeto interessante

    • Não seria difícil portar por causa dos drivers proprietários? Talvez valha considerar portar para o PinePhone no lugar
  • Também dá para testar uma demo no navegador: https://distrosea.com/select/haiku/

    • Nesse URL, o M1 não aparece para mim na lista
  • Fiquei em dúvida se o suporte é só para Mac M1 ou também para outras séries M. Ou talvez as outras séries M já fossem suportadas antes
    É difícil dizer se isso é um grande avanço ou uma melhoria incremental