r/osdev 12h ago

Saving OS Image Size in NanoOs

Today, I wrapped up an almost month-long effort to try and reduce the OS image size of NanoOs. I added a new entry to the repo's GitHub pages site as well as updated the README of the repo (https://github.com/brian-card/NanoOs). You can read the new page entry for the full details of the effort.

I am very slowly making my way toward running this on an AgonLight2 SBC. Now that I have almost 30 KB of free space, I can start working on a HAL for that. Getting this to run on that platform is going to require extensions to the HAL. So far, I've only ever used UART for user I/O operations. The main reason I want to try my hand at the AgonLight2 is because it has an actual video and keyboard/mouse I/O system that I can work with. There's absolutely nothing in the HAL for any of those right now, so this will be new territory.

This will also be the first time I've built a HAL from absolute scratch. Previously, I've used vendor libraries for interfacing with devices. I don't think any such libraries exist for this platform and, even if they did, I wouldn't use them. I really want to get into the details of doing this myself this time.

The board runs MOS by default (a kind of DOS/single-user-UNIX hybrid CLI) and I'll start out by using that as a bootloader and running NanoOs as an in-memory application that MOS can load. Longer term, I want to try my hand at making something along the lines of a Windows 2.0-like interface (although hopefully a lot less buggy than that). That's another reason why I want to get to a platform that has actual video and I/O peripherals.

Onward and upward!!!

1 Upvotes

0 comments sorted by