Linux/4004: booting Linux on Intel 4004 for fun, art, and no profit

An elaborate hobby project has managed to boot a modern Linux kernel on Intel’s 1971 4‑bit 4004 CPU by emulating a MIPS processor, turning a calculator-era chip into a painfully slow but fully functional Linux machine that takes several days just to start. Commenters dig into why this is technically feasible (Turing completeness, clever virtual machines, custom I/O), debate whether the 4004 truly counts as the “first microprocessor,” and compare its architecture and emulation cost to designs like MIPS and RISC‑V. The feat is widely seen as serious engineering wrapped in art and humor, highlighting how even the most underpowered hardware can, given enough time and ingenuity, run contemporary software.

Overall Reaction

  • Commenters widely praise the project as “insane” and “sorcerer-level” engineering, turning an apparently impossible target into a carefully engineered reality.
  • Some see it as a vivid demonstration of how far general-purpose OSes can be stretched downwards in hardware capability.

4004 and “First Microprocessor” Debate

  • There’s an extended argument over whether the Intel 4004 should count as the first “true” microprocessor.
  • One side claims the 4004 was a calculator-specific chipset lacking core features (e.g., logical ops) and not a monolithic general-purpose CPU like the later 8008/Datapoint 2200 lineage.
  • Others counter that the 4004 is still a programmable CPU-on-a-chip and that “microprocessor” and “CPU” are social/market constructs; by most reasonable definitions (and historic impact as a product), 4004 qualifies.

Performance, Boot Time, and Multi‑Year Build

  • Current Linux boot on a real 4004 at ~790 kHz takes ~4.5 days.
  • The creator’s “art piece” goal is to have the system self‑rebuild its own kernel with swap, potentially taking years; some discuss modeling time via emulation to predict completion.
  • People compare this to correspondence chess, extremely slow music pieces, and “Linux‑by‑correspondence”.

Choice of Emulated ISA: MIPS vs RISC‑V

  • MIPS was chosen because its instruction encoding and addressing are friendlier for extremely constrained emulation.
  • RISC‑V is criticized in this context for:
    • Non-contiguous immediate fields requiring extra bit‑twiddling in software.
    • Lack of REG+REG / REG+SHIFTED_REG addressing modes and bitfield ops, seen by some as a “design deficiency.”
  • Others argue these trade-offs simplify hardware and are not fundamentally harmful, though they do make hand‑emulation less ergonomic.

Running Windows, Other OSes, and Hardware

  • Running Windows on a similar MIPS setup is deemed possible in principle but blocked by SCSI emulation complexity unless a paravirtualized disk driver is written.
  • Discussion touches on earlier/other Linux targets (386, 68020, VAX, m68k) and the continuity of “modern computing” since late ’80s/early ’90s hardware.
  • There’s curiosity about ultra-high-frequency simple cores and about porting the emulator to one-bit or vacuum‑tube machines.

Awards, Academic Merit, and Culture

  • Some suggest this deserves Nobel‑level or honorary PhD recognition; others argue it’s more in the spirit of Ig Nobel–style celebrated-but-whimsical work.
  • Several note the project as serious, meticulous engineering even if primarily “for fun, art, and no profit.”