DoN OS By — Ravindu Gunarathna

Ravindugunarathna
3 min readJul 25, 2020

This is a simple Operating System written by using Assembly Language for Display your computer hardware information.

Introduction about OS

The DoN OS kernel is written in 16-bit x86 real mode assembly language to display hardware information of the computer. I used Ubuntu OS to build this OS. And I used NASM compiler to compile it.

File Structure

Main Folder

Main files Structure

sourceContain the Main Assembly code of the OS

source/bootload — This folder contain bootload.asm and bootload.bin files. Actually bootload.bin file was crated when the disk image was building.

source/kernel.asm — This is the main kernel source file, which includes source code which needs to display the hardware information. kernel.asm file converted to kernel.bin file after source code build.

source/featuresThis folder contains source codes for run display and keyboard input and output.

disk_image — This folder contain donos.iso file which is the responsible for OS booting.

build-linux.sh — This is the main build script of OS. This can be used in Linux OS.

Pre-requisites for create this OS.

First we need some kind of basic knowledge about Assembly language.

NASM — This is the compiler for assembly language. This tool can be installed in Ubuntu terminal using following code.

sudo bash apt-get install nasm

Oracle Virtual Machine — I used Oracle Virtual Machine software to run this OS virtually. Other wise you can use QEMU virtual emulator to run this OS virtually.

sudo bash apt-get install qemu-system-x86

Building the OS

I used Ubuntu terminal to build this OS. After you finished the source code of kernel.asm. Then enter following code in terminal.

sudo bash ./build-linux.sh

In here sudo bash is required to get root access.

Then this will use NASM compiler to assemble the bootloader, kernel and feature programs in our source code and devise controlling interfaces. Then this write the bootloader to donos.flp floppy disk image in the disk_image/ directory.

Then the build script copies over kernel (kernel.bin) and binaries from the programs/ directory before unmounting the floppy image.

After that , the script runs the mkisofs utility to generate a CD-ROM ISO image of DoN OS (donos.iso), injecting the floppy image as a bootable ISO file.

So we end up with two files in the disk_images/ directory: one for floppy disks and one for CD-Rs.

Running The DoN OS

Now we can run our DoN OS in our Computer. In this time I used Oracle Virtual Box Software to Run this OS virtually in Windows. Otherwise you can use QEMU virtual emulator software to run this OS virtually in Ubuntu OS.

Screen of DoN OS

Download DoN Operating System

You can download this DoN OS by using following GitHub link.

--

--

Ravindugunarathna

Software Engineering Graduate at University Of Kelaniya | Software Engineer |Tech Enthusiasist