3 puntos por GN⁺ 2025-04-22 | 3 comentarios | Compartir por WhatsApp
  • Este blog está alojado en una Nintendo Wii y funciona con NetBSD
  • La Wii usa una CPU de un solo núcleo basada en PowerPC 750, un chipset que también se ha usado en tareas de alto rendimiento como la exploración espacial
  • NetBSD tiene soporte actualizado en la Wii, lo que permite ejecutar cargas de trabajo reales de producción
  • Para instalar NetBSD en la Wii, se usa el exploit Wilbrand para instalar el canal Homebrew, y se carga la imagen de NetBSD en una tarjeta SD
  • Se usa el servidor web lighttpd para alojar el blog, mientras que Caddy se encarga de la terminación TLS para optimizar el rendimiento

Alojar un blog en una Wii

  • Este blog está alojado en una Nintendo Wii y funciona con NetBSD
  • La Wii usa una CPU de un solo núcleo basada en PowerPC 750, un chipset que también se ha usado en tareas de alto rendimiento como la exploración espacial
  • Para instalar NetBSD en la Wii, se usa el exploit Wilbrand para instalar el canal Homebrew, y se carga la imagen de NetBSD en una tarjeta SD
  • Se usa el servidor web lighttpd para alojar el blog, mientras que Caddy se encarga de la terminación TLS para optimizar el rendimiento

Rendimiento de la Wii

  • La CPU de la Wii forma parte de la línea PowerPC 750 de IBM, una arquitectura usada en la iMac de 1998
  • La CPU de la Wii es de un solo núcleo, con un TDP máximo de 9.8W, y tiene una velocidad de reloj aproximadamente 33% mayor que la versión usada en la Wii
  • Esta CPU también se ha usado en tareas de alto rendimiento como la exploración espacial, y existe una versión endurecida contra radiación llamada RAD750

Proceso de instalación de NetBSD

  • Para instalar NetBSD en la Wii, se usa el exploit Wilbrand para instalar el canal Homebrew
  • La instalación es posible conociendo la dirección MAC de la Wii y creando algunos archivos en la tarjeta SD para cargarlos
  • La imagen de NetBSD se carga en la tarjeta SD y se arranca a través del canal Homebrew

Gestión de paquetes y configuración del servidor web

  • Se instala el gestor de paquetes pkgin para agregar varios paquetes útiles
  • Se instala el servidor web lighttpd y se copia la configuración predeterminada para habilitarlo e iniciarlo
  • El blog es un conjunto de páginas estáticas generado con Hugo, y el sitio se aloja transfiriendo los archivos mediante rsync

Optimización de rendimiento y monitoreo

  • Se liberan recursos desactivando varios servicios, y Caddy maneja la terminación TLS para optimizar el rendimiento
  • Se usa el exportador de Prometheus de Caddy para monitorear la carga del sitio, y el estado del sistema de la Wii se supervisa con un sencillo script de shell

Observaciones finales

  • Alojar un blog en una Wii funciona mejor de lo esperado y además el consumo eléctrico es relativamente bajo
  • La Wii consume alrededor de 18W de energía, lo que equivale a unos 13.2 kWh al mes
  • Este experimento fue una prueba divertida de imponer restricciones artificiales para fomentar el aprendizaje

3 comentarios

 
ifmkl 2025-04-22

Me acuerdo de cuando corría un servidor web instalando Debian en un teléfono Android que no usaba.

 
ndrgrd 2025-04-22

Me pareció extraño ver que usaran Caddy y lighttpd al mismo tiempo, pero al parecer la idea es que solo los archivos estáticos los sirva la Wii y que el resto lo maneje Caddy en otra máquina.

 
GN⁺ 2025-04-22
Opiniones de Hacker News
  • La imagen "SSL Added and removed here!" hace referencia a un diagrama que describía las comunicaciones sin cifrar entre centros de datos de Google filtradas por la NSA en 2013
  • Al reiniciar NetBSD, se reinicia toda la consola; no es que solo se reinicie la 'app' de NetBSD, así que después de aplicar parches al kernel o actualizaciones del sistema se regresa al menú de Wii
    • Esto se puede mitigar instalando Priiloader y configurándolo para arrancar automáticamente en Homebrew Channel o en el archivo .dol de NetBSD
  • Como referencia, en lugar de Photo Booth se puede usar Quicktime Player para "crear una nueva grabación de película"
    • Creo que esto podría resolver el problema de la imagen invertida
  • Con base en mi experiencia con homebrew de Wii, esperaría problemas de confiabilidad con una SD pequeña, así que después del exploit probablemente se podría cambiar por una unidad USB común para resolverlo
    • El puerto solo soporta 2.0, pero de todos modos el procesador es el cuello de botella
  • Hice esto usando una capturadora y Photo Booth de macOS, pero en realidad no se puede desactivar la inversión de imagen en la señal de video
    • Recomiendo usar OBS
  • Recibió un "abrazo"
    • Tal vez la siguiente publicación diga "el blog está alojado en una Nintendo Wii (ejecutando Varnish)"
  • El rendimiento no está nada mal
    • Claramente no usa el stack TCP de Nintendo, que tenía muy mala fama en Wii
  • No quiero ponerme quisquilloso, pero a menos que muevas la instancia de Caddy a la Wii o la elimines, el blog no está completamente alojado en la Wii
    • Gran trabajo
  • Increíblemente asombroso
    • Gran trabajo