GentleOS - Questions and Answers

On this page you can find common questions and answers for GentleOS/32 and GentleOS/16.

General

Why did you build GentleOS?

I first started tinkering with a hobby OS around 2007, thanks to the excellent tutorial by JamesM. I kept coming back to it from time to time, but never had a good idea where to take it.

Then, during the pandemic, I got hooked on, and slightly addicted to, buying for cheap and restoring vintage laptops from local auction sites, often sold in unknown condition by people clearing out their attics.

A few more years later, as they mostly kept lying on a shelf collecting dust, I finally got the idea to take my latest codebase, remove lots of unnecessary features, and turn it into a "fantasy" OS made specifically for tinkering with my collection.

Why are there two versions?

The 32-bit/VGA version was first, as it was derived from an older, 64-bit codebase. Only later I started experimenting with porting it down to 16-bit/CGA.

Since I couldn't make up my mind which one I prefer, for now I decided to keep both of them around, while trying to keep their code as close as possible.

How to contribute?

I'm making this project for fun in my spare time and sharing it as-is. I don't really accept pull requests because I already have plenty of them to review at work.

However, if you do anything interesting with it, please drop me an email! Make sure to mention if you're happy with your changes being included in my branch or on the website.

Are the photos real? The screen on my device doesn't look that good.

All the photos are real. They were taken with an iPhone 16, lit using a softbox, and slightly enhanced with GIMP (cropping, white balance, exposure, etc).

GentleOS/16

Will it run on my PC?

Due to the quirkiness of old devices, the only way to be sure is to check. The minimum requirement is a PC-compatible machine with an 8086+ CPU, 512KB of RAM, and supporting 320x200x4 CGA video mode.

On the high end, it should work even on relatively modern 64-bit PCs, as long as they still support BIOS / legacy boot and the 320x200x4 video mode. It won't work on modern pure-UEFI systems.

Vintage x86 devices which are not fully compatible with PC are hit and miss.

How to compile GentleOS/16?

The only prerequisite is DOSBox, the entire toolchain (OpenWatcom, NASM, Perl) is included in the repo.

To build GentleOS, start DOSBox from the source directory and run the following commands:

Z:\>MOUNT C .
Z:\>C:
C:\>ENV
C:\>AUTOGEN
C:\>WMAKE

How to add images to the gallery and songs for the player?

Songs must be saved in the custom SPK file format.

Images must be saved in the ascii-encoded monochrome PBM format, and must not exceed 320x166px.

To add songs and images to the system, put them in usrmedia/ and follow the compilation steps from the question above.

How to speed up compilation?

In the DOSBox config file (the path is printed on launch), try setting cycles=fixed 99999 in the [cpu] section. Despite the name, max is not the fastest mode.

You can also try installing Turbo C 2.01 to C:\TMP\TC and run WMAKE TC=1. It's much faster than the default OpenWatcom compiler, but also generates larger and slower binaries.

How to boot GentleOS/16 in DOSBox?

Run BOOT GT16FD14.IMG to boot it as a standalone system.

How to boot GentleOS/16 on a real PC?

You can raw-write (e.g. using dd) GT16DISK.IMG to a 1.44M/720K/360K floppy, HDD or USB flash disk, and use it for boot.

Note, writing the image to a disk will erase its previous content, please be careful!

How to start GentleOS/16 from DOS?

Copy both GT16.COM and GT16.DAT to the same directory and run the former. This also works in DOSBox. You can press Shift+Q to return to DOS.

GentleOS/32

Will it run on my PC?

Due to the quirkiness of old devices, the only way to know for sure is to check. The lowest hardware configuration tested by the author was a 386SX/16MHz CPU with 640KB of RAM.

On the high end, the PC must still support BIOS / legacy boot. It won't work on pure-UEFI systems since they don't emulate a PS2 keyboard and mouse.

Does it support a serial mouse?

Yes, as long as it's compatible with the Microsoft serial mouse protocol. You can turn it on in the bootloader menu, or later by pressing Ctrl+Shift+S.

How to add files?

Additional assets like wallpapers and songs can be provided using an initial RAM disk (initrd). To create an initrd and automatically install in a disk image, run:

uv run tools/mkinitrd.py [FILES] -d gentleos32-base.img

The initrd replaces the one already present in the image. Use option -a to also include all the default assets shipped with the prebuilt images.

Certain emulators, including v86, only accept disk images which follow the geometry of physical disks. Use option -p to automatically pad the final image with zeros to the right size.

If you're using a 3rd-party bootloader like GRUB, use option -o gentleos.rd to save the initrd to a separate file.

How to add a wallpaper?

To add a wallpaper, save it in PNG/JPG/GIF/BMP/PBM/PPM format and add to initrd.

Three kinds of wallpapers are supported:

In planar video mode (the default one), wallpapers are supported but only rendered using the first 16 colors.

For best results, in GIMP you can use an indexed mode with the provided vga-256.gpl and vga-16.gpl color palettes.

How to add a song?

Songs need to be saved in the custom SPK file format and added to initrd.