Skip to content

A simple, FOS and dependency-free operating system made in Assembly x86 and C.

License

Notifications You must be signed in to change notification settings

ulisesvina/bread

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License


Logo

Bread

A simple, FOS and dependency-free operating system made in Assembly x86 and C.
Website · Report Bug(s)

Table of Contents
  1. About
  2. Getting Started
  3. Why Bread?
  4. Roadmap
  5. Achievements
  6. Contributing
  7. License

About

Bread is a simple, free and open source and dependency-free operating system made by the Mpore (mpore.xyz) team.

As of now (and probably forever), Bread is a work-in-progress project and can't nor should be used as a professional enviroment. Bread is also not intended to work with standard libraries, (that's the reason why there's no any available), but rather, our own libraries and functions which will be documented once ready to distribute.

If ever needed, the suggested codename for Bread is br-amd64.

Built With

  • Assembly x86 (Intel syntax)
  • C

(back to top)

Getting Started

To set up Bread in a virtual machine, you could run qemu (QEMU™) with the bread_os.bin binary file nasm outputs when compiling Bread as suggested with the Makefile, however, there's an instruction in Makefile so you can create a .iso image to run Bread on other virtual machine supervisors such as Virtualbox™ or VMWare™ or bare-metal.

Prerequisites

  • nasm
  • gcc
  • i686-elf-gcc (or any cross-compiler) (1)
  • make
  • qemu (QEMU™), not required but highly recommended

1: In case of using any other compiler that is not 1686-elf-gcc, you'll have to modify the Makefile

Building

  1. Install the required software listed in prerequisites.
  2. Clone the repo
    git clone https://github.com/mporexyz/bread.git
  3. Run make
    make
  4. (Optional) Additional to building, you can make an ISO image.
    make iso

(back to top)

Why Bread?

Name

Bread is a meaningful name for the team leader and project's creator, Ulises Viña. As he wanted to create an OS at the very young age of 9. And so, made a Batch script that simulated a shell of a full OS.

Mascot

Toot, the mascot of Bread was chosen because ducks are usually fed with bread.

For more information, please refer to the Official Website

(back to top)

Roadmap

  • Official Website
  • Add changelog
  • Functioning bootloader
  • Functioning kernel
  • Porting standard commonly used libraries.
    • stdio
    • stdlib
    • stdint
    • math
    • time
  • VGA Driver
  • PS/2 Keyboard Driver
  • Filesystem

See the open issues for a full list of known issues.

(back to top)

Achievements

  • Printed "Hello world" in Assembly
  • Printed "Hello world" with C (no stdio lib.)
  • Migrated from i386 to amd64
  • Ran successfully in a Virtual Machine.
  • Ran successfully on bare-metal (tested on: Lenovo Thinkpad L440, Lenovo E40-70)

Contributing

Contributing to Bread is very easy and appreciated. Here are the instructions on how to do so

  1. Fork the project
  2. Create your changes branch (git checkout -b changes/Feature)
  3. Commit your changes (git commit -m 'Added bugs')
  4. Push to the branch (git push origin changes/Feature)
  5. Open a Pull Request (Here)

(back to top)

License

Distributed under the GPL-3.0 License. See LICENSE for more information.

(back to top)

About

A simple, FOS and dependency-free operating system made in Assembly x86 and C.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published