stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

KernOS

  • 4 Devlogs
  • 6 Total hours

An x86 operating system written in C and Assembly.

Ship #1 Pending review

KernOS

KernOS is an x86 hobby operating system written in C and Assembly. It features a custom shell with commands like help, ver, clear, and neofetch, keyboard input, hardware information detection, a Hangman game, and a custom hand-made boot screen.

What was challenging

The assembly part was very painful. Assembly itself is difficult to understand. after spending a lot of time in assembly and figuring out nothing, I decided to make the kernel in C. It made it much easier. But C was still challenging as it lacked libc. So, the basic functions like printf(), comparison of 2 strings in the if statement, scanf() and all were not available. I had to manually define all of them before using them.

I am proud of

I made the very first version of a custom operating system with minimal use of ai!

what comes in the next ship

In the next ship of this project, I will add features to create/edit/delete files and a custom text editor.

for people testing the project

  1. Download the iso file from the GitHub releases page.
  2. use qemu with the following command - qemu-system-i386 -cdrom KernOS.iso -device isa-debug-exit,iobase=0xf4,iosize=0x04
  • 4 devlogs
  • 6h
Try project → See source code →
Open comments for this post

1h 5m 18s logged

Devlog 4

I added a new hangman minigame :party-algae:
and a new custom bootscreen (designed by hand on a touchpad :D) :yay:

This makes kernos ready for the first ship!!

0
0
18
Open comments for this post

2h 14m 34s logged

DEVLOG 3

I finally learnt the proper way to write devlogs :D

i added a lot of things:-

  • The logic of commands and outputs
  • Some basic commands like clear, help, ver
  • Neofetch command!! (the beggest one)
  • And an easter egg command

I have had a really terrible experience here as i had to define every single thing. It doesn’t have libc. i had to define basic functions like printf() and it coudn’t even compare 2 strings in the if statement. i had to define the compare 2 strings function T_T.
but now it’s a nice and good looking CLI os kinda thing ig.

0
0
19
Open comments for this post

1h 28m logged

I tried moving to the kernel section. I spent some time programming the kernel in assembly. it was really painful… really…. really…. really…. painful 💔. So i shifted to a kernel written in C. It really made the task much easier than to code in assembly (precisely x86 32 bit protected mode NASM assembly 🥴).
I wrote the kernel hello world kinda test program in C (the one used in kernel, da real c is way easier).
Also, i used GRUB as the bootloader!

0
0
24

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…