UEFI Bindings for JavaScript (Proof of Concept)
  • C 69.7%
  • Makefile 21.4%
  • TypeScript 3.4%
  • JavaScript 2.9%
  • Shell 2.6%
Find a file
2026-02-09 15:42:13 +01:00
src Removed useless file. 2026-02-09 15:42:13 +01:00
.gitignore Prometheus stole fire from the gods and gave it to man. For this he was chained to a rock and tortured for eternity. 2026-02-09 14:48:48 +01:00
get-deps Prometheus stole fire from the gods and gave it to man. For this he was chained to a rock and tortured for eternity. 2026-02-09 14:48:48 +01:00
GNUmakefile Prometheus stole fire from the gods and gave it to man. For this he was chained to a rock and tortured for eternity. 2026-02-09 14:48:48 +01:00
LICENSE Update LICENSE copyright for 2026 2026-01-02 14:41:00 +01:00
promethee.jpeg Prometheus stole fire from the gods and gave it to man. For this he was chained to a rock and tortured for eternity. 2026-02-09 14:48:48 +01:00
README.md Update README.md 2026-02-09 14:56:28 +01:00
script.js Prometheus stole fire from the gods and gave it to man. For this he was chained to a rock and tortured for eternity. 2026-02-09 14:48:48 +01:00
types.ts Prometheus stole fire from the gods and gave it to man. For this he was chained to a rock and tortured for eternity. 2026-02-09 14:48:48 +01:00

Promethee

Promethee

What this is

UEFI Bindings for JavaScript

How it works

Promethee loads script.js from the boot volume and runs it. That script is your bootloader. If you can do it with UEFI services, you can do it in JavaScript.

Quick start

  1. Fetch dependencies: ./get-deps

  2. Build and run in QEMU: make run

Your entrypoint is script.js. The run target copies it to the UEFI FAT volume as \script.js.

Tiny example

In script.js:

var gop = efi.SystemTable.BootServices.LocateProtocol(efi.guid.GraphicsOutput);
if (gop) {
    var red = { r: 255, g: 0, b: 0 };
    gop.Blt(red, 'EfiBltVideoFill', 0, 0, 50, 50, 200, 120, 0);
}

Notes

  • Duktape tooling requires Node.js (used to generate sources).
  • The build is freestanding; only minimal libc stubs are provided.
  • If this makes you grin, you are probably holding the torch.