danielandClaude Fable 5 1f271b3ba8 fix: disable BFD thread-local storage on x86_64-montauk hosts
Every libbfd-based native tool (objdump, as, ld, ar, nm, ...) page
faulted at startup: binutils 2.43 keeps BFD's error state in
_Thread_local variables, and MontaukOS has no TLS runtime (no FS-base
setup, no PT_TLS handling), so the %fs:0 access in bfd_init trapped at
address 0. elfedit survived only because it does not link libbfd.

Patch bfd/sysdep.h to define the TLS storage macro to empty under
__montauk__ (binutils has no fallback of its own; ac_cv_tls=none does
not even compile). Single-threaded tools lose nothing.

Confirmed on the OS: objdump -S disassembles hello.elf in the
terminal. Real TLS support (FS base + PT_TLS in the ELF loader) stays
on the roadmap for the GCC/libstdc++ milestone.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-14 21:31:26 +02:00
2026-07-09 11:32:27 +02:00
2025-04-17 21:54:25 +02:00
2026-02-18 15:13:53 +01:00
2026-03-04 14:42:51 +01:00
2026-04-15 17:49:07 +02:00
2026-04-17 15:26:27 +02:00
2026-07-08 18:31:32 +02:00

The Montauk Operating System

MontaukOS is an operating system written in modern C++. It runs on bare metal and supports various applications, including DOOM, a Wikipedia client, and standard desktop utilities.

MontaukOS screenshot

Features

  • Modern preemptive multitasking kernel
  • Multi-user userspace with desktop environment and command line
  • PCI-e support and drivers for Intel GPU and e100e Ethernet for graphics and networking on real hardware
  • ACPI support with AML interpreter, including S3 sleep and ACPI shutdown
  • Support for USB including input devices (keyboard/mouse), along with PS/2 input support
  • Support for Intel High Definition (HDA) audio devices
  • Userspace and kernel audio support
  • Support for (some) Intel Bluetooth devices, userspace Bluetooth management app
  • Support for the GPT partition table
  • VFS using numbered drive identifiers with support for ext2 and FAT32 filesystems
  • Support for AHCI and NVMe SSD drives
  • Support for UEFI Runtime Services, including power management calls (shutdown/reboot)
  • Customizable desktop environment with 12+ graphical apps, including a terminal emulator, file manager, Wikipedia client, weather app, DOOM, and more
  • Modern icon pack (Flat Remix) used in desktop environment
  • Support for TrueType font, JPEG image, and SVG icon rendering
  • Networking including TCP/IP stack, UDP, DNS, DHCP and TLS via BearSSL
  • Command-line IRC client
  • Live viewable kernel log from GUI
  • Mandelbrot set renderer
  • PDF viewer app with full support for text (inc. baked-in TrueType fonts) and some graphics
  • Userspace Music app with support for MP3 and WAV files
  • 2D game engine and demo game with fantasy tileset

Goal

The goal of the MontaukOS project is to create a modern and unique operating system that runs on both emulators and on real hardware. The kernel and included userspace applications are written in modern C++.

History and methodology

Development started in early 2025, as a hand-written toy kernel. The first published Git commit was on Feb 27, 2025. In early 2026, Claude Opus 4.6 began being used to accelerate development of the kernel and userspace.

S
Description
The Montauk Operating System
Readme
52 MiB
Languages
C++ 53.9%
C 41.6%
HTML 2.3%
Makefile 0.8%
Roff 0.6%
Other 0.7%