🌋 Monolithic x86 kernel written in C and Assembly
Go to file
2019-07-05 18:25:58 +02:00
kernel Added ISRs and IRQs drivers and set up all interrupts in assembly, however the does not work, yet 2019-07-05 18:25:58 +02:00
.gitignore Fixed printf and VGA driver bugs, also added README 2019-07-04 01:58:34 +02:00
bochs_cfg Fixed all previous bugs...however strange things happens when OS runs 2019-07-03 21:04:05 +02:00
build.sh Fixed printf and VGA driver bugs, also added README 2019-07-04 01:58:34 +02:00
LICENSE Fixed printf and VGA driver bugs, also added README 2019-07-04 01:58:34 +02:00
link.ld Fixed all previous bugs...however strange things happens when OS runs 2019-07-03 21:04:05 +02:00
Makefile Fixed printf and VGA driver bugs, also added README 2019-07-04 01:58:34 +02:00
README.md Fixed printf and VGA driver bugs, also added README 2019-07-04 01:58:34 +02:00

iceOS

iceOS is a x86 monolithic kernel written in C from scratch.
This project doesn't aim to be a fully functional operating system with tons of drivers and graphical applications, it's just a learning tool to teach myself concepts like Operating Systems, Computer Architecture and Digital Electronics.

Installation

Requirements

Before generating an ISO you have to compile a cross compiler and you also have to install those packets:

  • nasm
  • bochs
  • grub
  • mtools(if you are on Arch Linux)

Then you can run those commands:

  1. Type ./build.sh 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).

Features

iceOS already have/will have the following features:

  • Bare metal booting;
  • VGA driver;
  • Interrupts implementation;
  • PIC & PIT implementation;
  • PS2 driver;
  • Support for x86 architecture;
  • GRUB as bootloader.

Resources

This project is made with different kind of resources and different kind of knowledges, before starting it i read/studied the following resources:

License

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