No description
  • C 89%
  • Assembly 5%
  • Perl 3%
  • Makefile 1.1%
  • Python 1%
  • Other 0.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-21 19:23:22 +00:00
apps Move heap code from kernel to lib, leaving only initialization 2026-07-11 21:20:11 +02:00
assets GUI: Add support for loading wallpaper from initrd 2026-06-27 20:05:28 +02:00
boot Tools: Improve generation of disk image 2026-07-21 19:06:15 +02:00
doc Doc: Add more photos of retro devices 2026-06-07 16:40:55 +02:00
gui GUI: Update default background color 2026-07-21 18:13:18 +02:00
include Kernel: Improve mouse handling in emulators 2026-07-20 16:25:33 +02:00
kernel Kernel: Bugfix for squashing events 2026-07-20 20:06:03 +02:00
lib Kernel: Improve mouse handling in emulators 2026-07-20 16:25:33 +02:00
misc Tools: Rename empty-disk.img to grub-disk.img 2026-07-21 19:23:22 +00:00
tmp Build: Add git-ignored tmp/ dir to the repo for custom scripts, etc 2026-05-14 21:10:30 +02:00
tools Tools: Rename empty-disk.img to grub-disk.img 2026-07-21 19:23:22 +00:00
vendor Mahjong: Switch to 1x glyphs 2026-05-10 08:57:22 +00:00
.dockerignore Build: Add support for building in docker 2026-05-14 21:10:30 +02:00
.gitignore Kernel: Add initial custom bootloader and generate "lomem" image 2026-07-07 14:51:57 +02:00
compile_flags.txt Tools: Switch from clang to gcc 2026-06-04 16:28:50 +02:00
compose.yaml Build: Add support for building in docker 2026-05-14 21:10:30 +02:00
config.sample.h GUI: Remove support for setting initial theme in bootloader 2026-07-10 20:58:30 +02:00
Dockerfile Tools: Switch from clang to gcc 2026-06-04 16:28:50 +02:00
LICENSE Initial commit 2015-06-20 15:09:11 +02:00
Makefile Tools: Rename empty-disk.img to grub-disk.img 2026-07-21 19:23:22 +00:00
README.md GUI: Add support for loading wallpaper from initrd 2026-06-27 20:05:28 +02:00

GentleOS/32

A hobby operating system for vintage 32-bit PCs, built for tinkering with old hardware on the bare metal.

You can find more information on its website.

It has a spin-off called GentleOS/16, which targets even older, 16-bit PCs.

Building

The only prerequisite is Docker & Docker Compose, supporting linux/amd64 platform.

To compile GentleOS/32, run:

docker compose run --rm dev make -j4

You will find the resulting binaries in build/.

To clean up docker artifacts, run:

docker compose down --rmi all

Setting wallpaper

A wallpaper can be provided using an initial RAM disk (initrd). To create it, you need Python 3 with Pillow, and mtools. On macOS:

brew install pillow mtools

To create the initrd and install it in the disk image, run:

./tools/mkinitrd.py --wallpaper /path/to/image.png --disk-image gentleos32-disk.img

Note: the wallpaper will only be shown in 256-color video modes. In GIMP you can import the provided VGA palette and use indexed mode for best results.

Attributions

License

Except where otherwise noted, GentleOS/32 is licensed under GPLv2.