3 pontos por GN⁺ 2025-04-22 | 3 comentários | Compartilhar no WhatsApp
  • Este blog está hospedado em um Nintendo Wii e roda com NetBSD
  • O Wii usa uma CPU single-core baseada em PowerPC 750, um chipset também usado em tarefas de alto desempenho como exploração espacial
  • O NetBSD tem suporte em sua versão mais recente no Wii, o que permite executar cargas de trabalho reais de produção
  • Para instalar NetBSD no Wii, foi usado o exploit Wilbrand para instalar o Homebrew Channel e carregar a imagem do NetBSD em um cartão SD
  • O blog é hospedado com o servidor web lighttpd, enquanto o Caddy faz a terminação TLS para otimizar o desempenho

Hospedando um blog no Wii

  • Este blog está hospedado em um Nintendo Wii e roda com NetBSD
  • O Wii usa uma CPU single-core baseada em PowerPC 750, um chipset também usado em tarefas de alto desempenho como exploração espacial
  • Para instalar NetBSD no Wii, foi usado o exploit Wilbrand para instalar o Homebrew Channel e carregar a imagem do NetBSD em um cartão SD
  • O blog é hospedado com o servidor web lighttpd, enquanto o Caddy faz a terminação TLS para otimizar o desempenho

Desempenho do Wii

  • A CPU do Wii faz parte da linha PowerPC 750 da IBM, uma arquitetura usada no iMac de 1998
  • A CPU do Wii é single-core, com TDP máximo de 9,8 W, e tem uma frequência de clock cerca de 33% maior do que a versão usada no Wii
  • Essa CPU também é usada em tarefas de alto desempenho como exploração espacial, e existe inclusive uma versão endurecida contra radiação chamada RAD750

Processo de instalação do NetBSD

  • Para instalar NetBSD no Wii, foi usado o exploit Wilbrand para instalar o Homebrew Channel
  • A instalação é possível sabendo o endereço MAC do Wii e criando alguns arquivos no cartão SD para carregamento
  • A imagem do NetBSD é carregada no cartão SD e iniciada pelo Homebrew Channel

Gerenciamento de pacotes e configuração do servidor web

  • O gerenciador de pacotes pkgin foi instalado para adicionar vários pacotes úteis
  • O servidor web lighttpd foi instalado, e a configuração padrão foi copiada para ser ativada e iniciada
  • O blog é um conjunto de páginas estáticas geradas com Hugo, e os arquivos são transferidos via rsync para hospedar o site

Otimização de desempenho e monitoramento

  • Recursos foram liberados desativando vários serviços, e o Caddy faz a terminação TLS para otimizar o desempenho
  • O exporter do Prometheus do Caddy é usado para monitorar o carregamento do site, e o estado do sistema do Wii é monitorado por meio de um script simples de shell

Observações finais

  • Hospedar o blog no Wii funciona melhor do que o esperado, e o consumo de energia também é relativamente baixo
  • O Wii consome cerca de 18 W de energia, o que corresponde a aproximadamente 13,2 kWh por mês
  • Este experimento foi uma experiência divertida de aplicar restrições artificiais para estimular o aprendizado

3 comentários

 
ifmkl 2025-04-22

Lembro da época em que eu instalava Debian num celular Android sem uso e tocava um servidor web nele

 
ndrgrd 2025-04-22

Eu achei estranho no início o uso simultâneo de Caddy e lighttpd, mas pelo visto a estrutura é que apenas os arquivos estáticos são servidos pelo Wii, e o restante é tratado pelo Caddy em outra máquina.

 
GN⁺ 2025-04-22
Comentários do Hacker News
  • A imagem "SSL Added and removed here!" faz referência ao diagrama que descrevia a comunicação não criptografada entre data centers do Google, revelada pela NSA em 2013
  • Ao reiniciar o NetBSD, o console inteiro reinicia; não é apenas o 'app' do NetBSD que reinicia, então após um patch de kernel ou upgrade do sistema ele volta ao menu do Wii
    • Isso pode ser mitigado instalando o Priiloader e configurando boot automático para o Homebrew Channel ou para o arquivo .dol do NetBSD
  • Como observação, em vez do Photo Booth dá para usar o QuickTime Player para "Nova gravação de filme"
    • Acredita-se que isso possa resolver o problema de imagem espelhada
  • Com base na experiência com homebrew no Wii, seria de se esperar problemas de confiabilidade com cartões SD pequenos; isso poderia ser resolvido trocando por um pendrive USB comum após o exploit
    • A porta só suporta 2.0, mas de qualquer forma o processador é o gargalo
  • Isso foi feito usando uma placa de captura e o Photo Booth do macOS, mas na prática não é possível desativar o espelhamento da imagem no feed de vídeo
    • Recomenda-se usar o OBS
  • Recebeu um "abraço"
    • Talvez o próximo post diga "o blog está hospedado em um Nintendo Wii (rodando Varnish)"
  • O desempenho não é ruim
    • Claramente não está usando a stack TCP da Nintendo, que tinha péssima fama no Wii
  • Não quero ser chato, mas a menos que a instância do Caddy seja movida para o Wii ou removida, o blog não está totalmente hospedado no Wii
    • Excelente trabalho
  • Inacreditavelmente impressionante
    • Excelente trabalho