All Projects → 64 → ByteOS

64 / ByteOS

Licence: GPL-3.0 License
A simple hobby operating system for the x86-64 architecture, written in C.

Programming Languages

c
50402 projects - #5 most used programming language
assembly
5116 projects
Makefile
30231 projects
python
139335 projects - #7 most used programming language
GDB
78 projects

Projects that are alternatives of or similar to ByteOS

Wingos
a little 64bit operating system written in c++ with smp support
Stars: ✭ 361 (+668.09%)
Mutual labels:  kernel, x86-64, os, operating-system
KnutOS
An x86_64 hobbyist OS written in C and Assembly
Stars: ✭ 16 (-65.96%)
Mutual labels:  kernel, x86-64, os, operating-system
biefircate
Running x86-16 or x86-32 code from x86-64 UEFI; _very experimental_ • mirror of https://gitlab.com/tkchia/biefircate • developer notes at https://gitlab.com/tkchia/biefircate/-/blob/main/doc/NOTES.asciidoc
Stars: ✭ 47 (+0%)
Mutual labels:  kernel, x86-64, os, operating-system
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+9872.34%)
Mutual labels:  kernel, x86-64, os, operating-system
Dennix
Dennix is a unix-like hobbyist operating system written from scratch.
Stars: ✭ 53 (+12.77%)
Mutual labels:  kernel, x86-64, os, operating-system
Cyjon
A simple, clean code, multi-tasking operating system written in pure assembly language for 64-bit processors from the AMD64 family.
Stars: ✭ 184 (+291.49%)
Mutual labels:  kernel, x86-64, os, operating-system
pranaOS
A unix operating system written from scratch in c that gives support for arm, x86
Stars: ✭ 138 (+193.62%)
Mutual labels:  kernel, x86-64, os, operating-system
TravorOS
A simple OS running on Intel x86 architecture | No longer updating
Stars: ✭ 24 (-48.94%)
Mutual labels:  kernel, os, operating-system
SynnixOS
Hobbyist Operating System targeting x86_64 systems. Includes userspace, Virtual File System, An InitFS (tarfs), Lua port, easy porting, a decent LibC and LibM, and a shell that supports: piping, file redirection, and more.
Stars: ✭ 40 (-14.89%)
Mutual labels:  kernel, x86-64, operating-system
novusk
A kernel written in Rust
Stars: ✭ 61 (+29.79%)
Mutual labels:  kernel, x86-64, os
poplar
Microkernel and userspace written in Rust exploring modern ideas
Stars: ✭ 217 (+361.7%)
Mutual labels:  kernel, os, operating-system
OpenHarmony
华为鸿蒙分布式操作系统(Huawei OpenHarmony)开发技术交流,鸿蒙技术资料,手册,指南,共建国产操作系统万物互联新生态。
Stars: ✭ 373 (+693.62%)
Mutual labels:  kernel, os, operating-system
DentOS
Experimental Stand-alone 32-bit Kernel with Bootloader written in AT&T Assembly and Freestanding C
Stars: ✭ 32 (-31.91%)
Mutual labels:  kernel, os, operating-system
nautilus
Nautilus Aerokernel
Stars: ✭ 30 (-36.17%)
Mutual labels:  kernel, os, operating-system
GENADEV OS
An AArch64 hobbyist OS for the Raspberry Pi 3 B+
Stars: ✭ 14 (-70.21%)
Mutual labels:  kernel, os, operating-system
SimpleOS
Operating System Coded in Assembly and C
Stars: ✭ 72 (+53.19%)
Mutual labels:  kernel, os, operating-system
FoxOS
The FoxOS main repository
Stars: ✭ 48 (+2.13%)
Mutual labels:  x86-64, os, operating-system
beeos
A simple "Unix-like" kernel trying to be POSIX compliant
Stars: ✭ 103 (+119.15%)
Mutual labels:  kernel, os, operating-system
MandelbrotOS
A community driven OS by the youth
Stars: ✭ 172 (+265.96%)
Mutual labels:  kernel, os, operating-system
Methylenix
The operating system written in Rust
Stars: ✭ 32 (-31.91%)
Mutual labels:  kernel, os, operating-system

ByteOS

A simple hobby operating system for the x86_64 architecture, written in C.

Screenshot

The design is heavily influenced by the Linux kernel, and as such you may find many similarities between the two.

This repository is licensed under the GPLv3. See LICENSE.md for more details.

Historical Note

I wrote most of the code here when I was 16-17 and didn't know better. There are some parts (mainly the bits involving atomics) that I'm not particularly proud of, so copy at your own peril. If you find a problem, feel free to open an issue or send a PR.

Building

You will need:

  • GNU binutils for x86_64-elf
  • gcc for x86_64-elf with -mno-red-zone and C11 capabilities (instructions)
  • Make
  • NASM
  • GRUB 2.02 (Multiboot2 compatible - may need to build from source)

Then, to build byteos.iso, simply run:

make

Running

You will need (in addition to the above dependencies):

  • QEMU x86_64

Then, to run in QEMU:

make run

Debugging

Debugging requires a specially patched version of GDB for interoperability with QEMU. Once you have this installed, simply run the debug make target.

Testing

First run the update-modules make target to download the necessary files. Then, simply run make test.

See Makefile for more details.

Contributing

Feel free to open an issue if you have any questions/concerns or a pull-request if you would like to contribute some code.

Special thanks to no92 for massively cleaning up the build system.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].