nombre
lab — un PC de verdad, con Linux, corriendo dentro de esta pestaña.
qué es
No es una animación ni una terminal de mentira como la de la portada. Es un computador x86 completo (procesador, memoria, BIOS, puerto serie) emulado en tu navegador, que arranca un kernel Linux 6.8 de verdad con BusyBox. Lo que escribes lo ejecuta ese Linux.
cómo funciona
- Al pulsar iniciar máquina se descarga el emulador (v86, unos 2 MB de WebAssembly), la BIOS y el kernel (unos 10 MB). Antes de eso no se descarga nada.
- v86 lee las instrucciones x86 del kernel y las traduce a WebAssembly sobre la marcha, como un compilador JIT. Tu navegador ejecuta ese código casi a velocidad nativa.
- El PC virtual enciende con SeaBIOS, carga el kernel y arranca BusyBox, que te deja en la shell como root.
- La consola está conectada al puerto serie de la máquina: cada tecla viaja por ese cable virtual y la respuesta vuelve por el mismo camino hasta xterm.js.
es seguro
Todo pasa en tu computador. No hay ningún servidor ejecutando tus comandos, la máquina no tiene red y nada sale de esta pestaña. Tampoco hay disco persistente: al recargar vuelve a empezar desde cero, así que puedes romperlo sin miedo, rm -rf / incluido.
uso
- Ctrl + C
- corta el programa que está corriendo (top, ping…)
- Ctrl + L
- limpia la pantalla
- ↑ ↓
- historial de comandos
- copiar y pegar
- selecciona y usa el clic derecho (en Mac, ⌘ + C y ⌘ + V). Aquí Ctrl + C no copia: corta el programa
- cambiar de pestaña
- pausa la máquina para no gastar batería; al volver sigue donde iba
créditos
Esto existe gracias al software libre y a la gente que lo hace:
v86BSD-2-Clause
El emulador: CPU x86, memoria, BIOS, puerto serie y el resto del PC, compilados a WebAssembly. Creado por Fabian Hemmer (copy) y mantenido por los colaboradores del proyecto.
Linux 6.8GPL-2.0
El kernel que arranca la máquina.
BusyBoxGPL-2.0
La shell y casi todos los comandos (ls, top, vi, free…) en un solo binario.
BuildrootGPL-2.0
Con lo que se compiló la imagen de Linux. La imagen es la que publica el proyecto v86.
SeaBIOS y SeaVGABIOSLGPL-3.0
La BIOS y la BIOS de vídeo con las que enciende el PC virtual.
xterm.jsMIT
La consola en la que escribes, la misma que usa VS Code.
v86 a su vez incluye o se apoya en Berkeley SoftFloat, zstd, jor1k, QEMU y kvm-unit-tests.Si te gustó, la demo original con Windows 98, FreeDOS y muchos más sistemas está en copy.sh/v86.