Skip to content
forked from iyksh/ByteOS

A hobby operating system for the i686 architecture.

License

Notifications You must be signed in to change notification settings

Dcraftbg/ByteOS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Commit activity Codacy Badge GitHub top language GitHub license

ByteOS

Introduction

ByteOS is a 32 bits operating system designed for educational purposes for those (me) interested in low-level systems programming.

NOTE

This project is still in very early stages. Test on real hardware at your own risk.

Table of Contents

Project Description

Overview

This OS aims to provide a minimalistic and simple operating system that covers the basic functionalities expected from an OS.

Built-in Libraries

To maintain control and ensure that the system operates almost entirely from scratch, standard libraries are being rewritten. This approach helps in understanding the inner workings of these libraries and how they interact with the OS.

Completed Libraries

  • string.h: String manipulation utilities.

Partially Made Libraries

  • stdio.h: Basic input/output functions.
  • stdlib.h: Standard utility functions.
  • time.h: Time management functions.

Installation

Prerequisites

Building a Cross-Compiler

ByteOS uses an i686-elf-gcc cross-compiler. The versions used to build the project are:

  • binutils-2.40
  • gcc-12.2.0

For detailed instructions on building and using a cross-compiler, refer to the OSdev Wiki.

Note: Ensure you configure your cross-binutils with the --with-sysroot option.

Required Tools

Make sure you have the following tools installed:

  • i686-elf toolchain.
  • qemu-system-i386 for virtual machine.
  • GCC (GNU Compiler Collection).
  • LD (GNU Linker).

Build Instructions

  1. Clone the repository:

    git clone https://github.com/iyksh/ByteOS && cd ByteOS
  2. Build and run the project:

    ./run.sh       # This will automatically clean, build and run the project with QEMU

Contributing

Contributions are welcome! Whether it's reporting bugs, suggesting new features, or submitting pull requests, your involvement is appreciated. In this project, i am following this Github Project Roadmap.

License

This project is licensed under the GPL3 License. See the LICENSE file for more details.

About

A hobby operating system for the i686 architecture.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 88.0%
  • Makefile 5.9%
  • Shell 3.8%
  • Assembly 2.3%