A simple, FOS and dependency-free operating system made in Assembly x86 and C.
Website
·
Report Bug(s)
Table of Contents
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
.
- Assembly x86 (Intel syntax)
- C
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.
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
- Install the required software listed in prerequisites.
- Clone the repo
git clone https://github.com/mporexyz/bread.git
- Run
make
make
- (Optional) Additional to building, you can make an ISO image.
make iso
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.
Toot, the mascot of Bread was chosen because ducks are usually fed with bread.
For more information, please refer to the Official Website
- 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.
- 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 to Bread is very easy and appreciated. Here are the instructions on how to do so
- Fork the project
- Create your changes branch (
git checkout -b changes/Feature
) - Commit your changes (
git commit -m 'Added bugs'
) - Push to the branch (
git push origin changes/Feature
) - Open a Pull Request (Here)
Distributed under the GPL-3.0 License. See LICENSE
for more information.