🌋 Monolithic x86 kernel written in C and Assembly
Go to file
2020-08-01 12:37:43 +02:00
imgs Fixed typos 2020-08-01 12:37:43 +02:00
kernel Fixed linkage bug 2020-07-06 12:34:55 +02:00
.gitignore Finxing interrupts... 2019-07-05 21:12:18 +02:00
.travis.yml Added travis support 2019-09-27 01:00:15 +02:00
bochs_cfg Fixed all previous bugs...however strange things happens when OS runs 2019-07-03 21:04:05 +02:00
fs_generator.c Added VFS driver and initramfs disk creator 2019-09-13 18:16:15 +02:00
grub.cfg Improved build system 2019-07-11 20:13:47 +02:00
LICENSE Fixed printf and VGA driver bugs, also added README 2019-07-04 01:58:34 +02:00
link.ld Added last part of paging, print_hex function and updated linker script 2019-09-23 17:27:21 +02:00
Makefile Trying to fix kheap... 2019-09-26 17:45:46 +02:00
README.md Fixed typos 2020-08-01 12:37:43 +02:00



Build Status
Simple kernel written in C for Intel x86 CPUs

About iceOS

iceOS running under QEMU


iceOS is a x86 monolithic kernel written in C from scratch following the UNIX philosophy. This project is just a student learning tool to know more about operating systems, do not expect nothing more than a toy.

Installation

Requirements

Before building this project you need to setup a cross compiler. Also install the following packages:

  • nasm
  • bochs
  • grub
  • mtools(only for Arch Linux)

After that, you can build iceOS just by running the command listed below.

  1. Type make all to compile the system and to create an ISO
  2. Type make run to start it in QEMU or make bochs to start it with bochs(only for debug purposes).

You can also find a ISO file here(md5sum: 342691301699a73102fa6a57abea6989)

Features

iceOS has the following features:

  • VGA driver
  • Interrupts
  • PIC & PIT driver
  • PS/2 driver
  • Heap
  • Paging
  • VFS driver

Tutorial

I'm also writing a tutorial about this project. If you are interested about OS development and you're looking for a detailed step-by-step tutorial, have a look at my website.

License

iceOS is released under GPLv3, you can obtain a copy of this license by cloning this repository or by visiting this page.