- C 89%
- Assembly 5%
- Perl 3%
- Makefile 1.1%
- Python 1%
- Other 0.9%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| apps | ||
| assets | ||
| boot | ||
| doc | ||
| gui | ||
| include | ||
| kernel | ||
| lib | ||
| misc | ||
| tmp | ||
| tools | ||
| vendor | ||
| .dockerignore | ||
| .gitignore | ||
| compile_flags.txt | ||
| compose.yaml | ||
| config.sample.h | ||
| Dockerfile | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
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
-
Assets in vendor/icons8 have been sourced from Icons8 using the free license and modified
-
Assets in vendor/mona have been extracted from the Mona Font and modified (LICENSE)
-
Assets in vendor/int10h have been extracted from the The Ultimate Oldschool PC Font Pack and modified (LICENSE)
License
Except where otherwise noted, GentleOS/32 is licensed under GPLv2.