whatisgithub

What is bootgol?

douxxtech/bootgol — explained in plain English

Analysis updated 2026-05-18

10CAudience · developerComplexity · 5/5LicenseSetup · moderate

In one sentence

A tiny bootable x86 image with no operating system that boots straight into a running Conway's Game of Life simulation, rendered directly in VGA mode.

Mindmap

mindmap
  root((repo))
    What it does
      Bootable Game of Life
      No OS or libc
      VGA rendering
    Tech stack
      C
      x86
      QEMU
    Use cases
      Study bootloaders
      Run in QEMU
      Fork for experiments
    Audience
      Systems developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study a minimal example of a custom bootloader paired with a freestanding C kernel.

USE CASE 2

Boot the image in QEMU to see Conway's Game of Life run with no operating system.

USE CASE 3

Fork the project as a starting point for your own bare metal x86 experiments.

What is it built with?

Cx86 AssemblyQEMU

How does it compare?

douxxtech/bootgolalexzorzi/inferno-androiddavidcarliez/cve-2026-49176_lpe_poc
Stars101010
LanguageCCC
Setup difficultymoderatehardmoderate
Complexity5/55/54/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Needs a build toolchain plus QEMU to test safely before ever flashing to real hardware.

You can use and modify this freely, but any distributed version must also be released under the same GPL license.

So what is it?

Bootgol is a tiny experimental project that turns a computer straight into a running simulation of Conway's Game of Life the moment it boots, with nothing else running underneath it. There is no operating system and no standard C library involved. Instead, a small bootloader hands control to a minimal C program that draws the simulation directly using an old low level video mode from the 1980s called VGA mode 13h. The author wrote a companion article explaining how the whole thing works, covering the bootloader, the switch into the CPU's protected mode, the small C kernel, how the screen is drawn, and the random number generator used to seed the starting pattern. The README notes plainly that this repository probably will not receive further updates, since it exists to share the code publicly rather than to be actively maintained, and suggests forking it if you want to keep developing it further. To build it, you run a single make command, which produces a raw disk image containing both the bootloader and the kernel together. You can test that image inside the QEMU emulator, or write it to a USB stick to boot it on real hardware using a provided flash command. The README includes a clear warning about that flashing step, since it writes directly to a raw disk device and pointing it at the wrong drive could overwrite an actual operating system disk. There is no configuration file or command line options. Every setting, such as the simulation speed, the specific rules for when cells live or die, the grid size, and how often new cells appear at random, is hardcoded near the top of the kernel's source file and requires editing the code and rebuilding to change. The core Game of Life logic is based on an existing implementation by another developer, released without a license, which was adapted here to run without a filesystem or standard input and output, and to draw to the VGA framebuffer instead of printing text. The project itself is licensed under the GNU General Public License version 3.

Copy-paste prompts

Prompt 1
Help me build this bootable image with make and run it in QEMU.
Prompt 2
Explain how the bootloader hands off to the C kernel and switches into protected mode.
Prompt 3
Show me where to edit the Game of Life rules and grid size in kernel.c.

Frequently asked questions

What is bootgol?

A tiny bootable x86 image with no operating system that boots straight into a running Conway's Game of Life simulation, rendered directly in VGA mode.

What language is bootgol written in?

Mainly C. The stack also includes C, x86 Assembly, QEMU.

What license does bootgol use?

You can use and modify this freely, but any distributed version must also be released under the same GPL license.

How hard is bootgol to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is bootgol for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.