AmigaChromeA new chapter for the Amiga
Featured · Open ROM · 14 October 2026

A free Amiga OS: what's done, and what's left.

Today a ROM made only of our own modules booted an Amiga to a working Shell, and then started OS 3.2's own Workbench disk. That's a big step. It isn't a free operating system yet, so here is the whole list of what is still missing, as it stands.

We counted every part of AmigaOS 3.2, all 300 of them, from exec in the ROM to the last commodity on the Extras disk, and checked each against our own code. This is what we found.

What we mean by free.

Three things, and all three have to be true.

Runs

Nothing borrowed

You can boot and use a complete system that does everything AmigaOS 3.2 does, with nothing from Commodore, Hyperion or Cloanto in it.

Builds

Free inputs only

Every part is built from free tools and free headers, so anyone can make it without buying a developer kit.

Shares

Published source

The source is public under a free licence. Ours is MIT.

Where we are today.

Our 1 MB test ROM holds only our own modules. In a lab machine it starts every module in the ROM, configures seven expansion boards, boots from the hard drive, runs S:Startup-Sequence and opens a Shell window that runs the commands you type. Later the same day it booted OS 3.2's own disk to a grey Workbench screen.

That boot is real, but it was done by hand, on one test machine, and it isn't repeatable by anyone else yet. The disk it booted still held OS 3.2's own commands, and two of the ROM's modules are only ROM-ready in changes that are still being reviewed.

Reached

A Shell from an all-open ROM

exec, dos, the handlers, CON: and RAM: all our own, running typed commands.

First look

OS 3.2's Workbench disk

Booted to Workbench over our ROM, with IPrefs and the monitor drivers still switched off.

Next

Free and repeatable

A ROM anyone can rebuild, a boot test that runs automatically, and a disk with only free files on it.

All 300 parts, counted.

"Done" means written, merged and complete on its own terms. It doesn't always mean measured: most modules haven't yet had their side-by-side test against OS 3.2 since this week's new builds. "Partial" means real code that is missing something. "On OS 3.2" means our library still hands its work to OS 3.2's own.

AreaDonePartialOn OS 3.2In reviewNot started
Kickstart ROM modules1918004
Disk libraries, devices and handlers1683015
ReAction classes and datatypes3980014
Fonts, keymaps and locale21006
C: commands, S: scripts and the Shell2650532
Workbench and Prefs0190010
Tools, commodities and install disks050144
All of OS 3.21026436125

Counted on 14 October 2026. A row that covers several components, such as the 28 ReAction gadget classes, counts each one.

The eight biggest gaps.

Most of the 125 parts we haven't started fall under one of these.

Gap 1

Source anyone can rebuild

Free means anyone can build the ROM themselves. Today almost all of the code, and the tool that assembles the ROM, live in our own repositories and are not public yet. Getting them ready to publish is part of this work.

Gap 2

Our own developer headers

Every module except exec is still compiled against the official AmigaOS 3.2 developer headers. A free build needs a free set of headers, function lists and inline macros of our own, so nobody needs anyone else's kit to build it.

Gap 3

A free boot disk

There is no open Startup-Sequence and no free floppy boot block yet. Of OS 3.2.3's 63 C: commands, 29 have no code at all, among them Assign, Dir, List, Info, LoadWB and IPrefs.

Gap 4

Workbench on our own code

workbench.library and icon.library still hand their work to OS 3.2's own copies while we write the real thing. Our OpenBench desktop needs RTG graphics, and falls back to OS 3.2's LoadWB without it.

Gap 5

ARexx

There is no open ARexx interpreter yet, so scripts still run in OS 3.2's. Every call into rexxsyslib.library is ours; the language inside it is not.

Gap 6

The data on the disks

Fonts, keymaps, monitor drivers, DataTypes descriptors, mountlists, translations and help files have no open versions yet.

Gap 7

The rest of the disk set

Five handlers (PIPE:, PRT:, AUX:, CD-ROMs and PC disks), mounting ADF images, the MMU and 68060 libraries, nine datatypes, and most of System, Tools and Commodities, such as Format, DiskCopy, HDToolBox, Installer and Exchange.

Gap 8

Real hardware

We estimate the open ROM at about 640 KB, and a real A1200's ROM socket holds 512 KB. Our test ROM uses a 1 MB layout that only emulated machines map. There is no 68000 build yet either.

The road, in order.

Three milestones, each one building on the last.

Milestone 1

Boot free to a Shell

  • Finish the review of the last two ROM-ready modules, layers and input
  • Commit the ROM's module list, a scripted build and a boot log
  • A boot volume with only free files, and a free floppy boot block
  • An open Assign and Startup-Sequence that make ENV: and T:
  • Booting from floppy and IDE, not just our own storage ROM
  • A boot test that runs on every change
  • Build it from free headers, and publish the source
Milestone 2

Boot free to Workbench

  • dos starting ramlib, so libraries load from LIBS:
  • Three exec faults seen on the way to Workbench
  • icon.library and workbench.library on our own code
  • LoadWB, and a desktop that runs without RTG
  • intuition's Workbench preferences, gadtools in ROM and native AGA screens
  • Default icons, drawer windows and Workbench menus
  • IPrefs, and Workbench on 68000 machines
Milestone 3

Match OS 3.2 in full

  • The remaining handlers, datatypes and CPU libraries
  • ARexx
  • Fonts, keymaps, monitor drivers, translations and help
  • The missing Prefs editors, tools and commodities
  • The install disks, built from a free disk tree
  • A ROM that fits a real A1200, and builds for the other OS 3.2 machines

What's already ours.

A lot of the system is written and merged. Some highlights:

In the ROM

exec, expansion, utility and keymap, the timer, trackdisk, keyboard, gameport and console devices, the eight resources, romboot, CON: and RAM:. exec builds as a ROM module with no outside headers at all.

On the disk

amigaguide, asl, bullet, commodities, diskfont, iffparse, locale, lowlevel, mathtrans, nonvolatile, realtime, version, rexxsupport and 68040.library, plus the clipboard, parallel and mfm devices.

ReAction

38 of OS 3.2's ReAction classes: windows, requesters, every gadget from buttons to the text editor, and the image classes.

Commands and locale

26 C: commands, each matched against OS 3.2.3 side by side, a Shell with 31 built-in commands, 21 languages and 35 countries.

How we keep it honest.

Nothing of theirs in our code

We checked the full history of our repositories. None holds a Kickstart image, an OS 3.x program or disk, any text from the developer headers or a Commodore or Hyperion copyright line. The topaz font is drawn by hand, and the country and language data come from public facts.

OS 3.2 at test time only

Our side-by-side tests run each call against OS 3.2 to prove we answer the same way. That needs a real copy of OS 3.2 when the test runs, and nothing from it goes into what we build.

"Free" only when it is

Our October preview ROM puts our exec into your own Kickstart 3.2.3, so it can never be free, and we won't call it that. Only a ROM made entirely of our own modules gets the name.