2019-07-26 18:55:24 +02:00
< div align = "center" >
2019-07-26 18:56:22 +02:00
< img src = "imgs/iceOS_logo_full_concept.png" width = "350px" >
2019-07-26 18:55:24 +02:00
< br > < br >
2019-09-27 01:05:01 +02:00
< a href = "https://travis-ci.org/ice-bit/iceOS" > < img src = "https://travis-ci.org/ice-bit/iceOS.svg?branch=master" alt = "Build Status" / > < / a >
2019-07-26 18:55:24 +02:00
< a href = "LICENSE.md" > < img src = "https://img.shields.io/badge/license-GPLv3-blue" > < / a >
< img src = "https://img.shields.io/github/repo-size/ice-bit/iceOS?color=purple" / >
< img src = "https://img.shields.io/badge/platform-intel--x86-brown" / >
< img src = "https://img.shields.io/badge/language-C-black" / >
< h6 > < i > Simple kernel written in C for Intel x86 CPUs< / i > < / h6 >
< / div >
# About iceOS
< div align = "center" >
2019-09-28 17:45:13 +02:00
< img src = "imgs/screenshot.png" / >
2019-07-26 18:55:24 +02:00
< h6 > < i > iceOS running under QEMU< / h6 > < / i >
< / div > < br / > < br / >
2020-08-01 12:37:43 +02:00
**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.
2019-07-04 01:58:34 +02:00
## Installation
### Requirements
2020-08-01 12:37:43 +02:00
Before building this project you need to setup a [cross compiler ](https://wiki.osdev.org/GCC_Cross-Compiler ). Also install the following packages:
2019-07-04 01:58:34 +02:00
- nasm
- bochs
- grub
2020-08-01 12:37:43 +02:00
- mtools(only for Arch Linux)
2019-07-04 01:58:34 +02:00
2020-08-01 12:37:43 +02:00
After that, you can build iceOS just by running the command listed below.
2019-09-13 18:23:19 +02:00
1. Type `make all` to compile the system and to create an ISO
2019-07-04 01:58:34 +02:00
2. Type `make run` to start it in QEMU or `make bochs` to start it with bochs(only for debug purposes).
2020-08-01 12:37:43 +02:00
You can also find a ISO file
2019-09-28 17:42:47 +02:00
[here ](https://github.com/ice-bit/iceOS/raw/master/imgs/iceOS.iso )(md5sum: `342691301699a73102fa6a57abea6989` )
2019-07-11 00:29:36 +02:00
2019-07-04 01:58:34 +02:00
## Features
2020-08-01 12:37:43 +02:00
iceOS has the following features:
- [x] VGA driver
- [x] Interrupts
- [x] PIC & PIT driver
- [x] PS/2 driver
- [x] Heap
- [x] Paging
2020-08-01 14:20:16 +02:00
- [ ] VFS driver
- [ ] Usermode
2020-08-01 12:37:43 +02:00
## Tutorial
2020-08-01 12:39:19 +02:00
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 ](https://osdev.marcocetica.com ).
2020-08-01 12:37:43 +02:00
2019-07-04 01:58:34 +02:00
## License
2020-08-01 12:37:43 +02:00
iceOS is released under GPLv3, you can obtain a copy of this license by cloning this repository or by visiting [this ](https://opensource.org/licenses/GPL-3.0 ) page.