All Projects → UteroOS → utero

UteroOS / utero

Licence: other
The Operating System (for x86_64) written in Crystal as much as possible

Programming Languages

crystal
512 projects
c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
assembly
5116 projects
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to utero

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 (+8421.82%)
Mutual labels:  x86-64, os, osdev, operating-system
MoonOS
MoonOS (just a kernel atm) is a micro kernel designed for the x86_64 and arm architecure.
Stars: ✭ 82 (+49.09%)
Mutual labels:  x86-64, os, osdev, operating-system
KnutOS
An x86_64 hobbyist OS written in C and Assembly
Stars: ✭ 16 (-70.91%)
Mutual labels:  x86-64, os, osdev, 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 (-14.55%)
Mutual labels:  x86-64, os, osdev, operating-system
Wingos
a little 64bit operating system written in c++ with smp support
Stars: ✭ 361 (+556.36%)
Mutual labels:  x86-64, os, osdev, operating-system
Dennix
Dennix is a unix-like hobbyist operating system written from scratch.
Stars: ✭ 53 (-3.64%)
Mutual labels:  x86-64, os, osdev, 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 (+234.55%)
Mutual labels:  x86-64, os, osdev, operating-system
moros
MOROS: Obscure Rust Operating System 🦉
Stars: ✭ 508 (+823.64%)
Mutual labels:  x86-64, os, osdev
Aqeous
(Inactive, Checkout AvanaOS, Rewrite of this) This is a New Operating System (Kernel right now). Made completely from scratch, We aim to make a complete OS for Learning purpose
Stars: ✭ 23 (-58.18%)
Mutual labels:  os, osdev, operating-system
Cardinal
Operating system designed to be fast and secure.
Stars: ✭ 20 (-63.64%)
Mutual labels:  os, osdev, operating-system
Macaron
A sweet hobby made operating system written in C++ for x86 CPUs with GUI
Stars: ✭ 34 (-38.18%)
Mutual labels:  os, osdev, operating-system
beeos
A simple "Unix-like" kernel trying to be POSIX compliant
Stars: ✭ 103 (+87.27%)
Mutual labels:  os, osdev, operating-system
kora-kernel
Kernel for my operating system KoraOS
Stars: ✭ 15 (-72.73%)
Mutual labels:  os, osdev, operating-system
chaos-2
A hand-made SMP-aware kernel
Stars: ✭ 20 (-63.64%)
Mutual labels:  os, osdev, 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 (-27.27%)
Mutual labels:  x86-64, osdev, operating-system
Onyx
UNIX-like operating system written in C and C++
Stars: ✭ 52 (-5.45%)
Mutual labels:  x86-64, os, operating-system
greenteaos.github.io
🏠 Homepage of the @GreenteaOS
Stars: ✭ 16 (-70.91%)
Mutual labels:  os, osdev, operating-system
duckOS
Yet another hobby x86 UNIX-like operating system written in C and C++. Features a dynamically linked userspace, an in-house c standard library, and more! And yes, it runs DOOM.
Stars: ✭ 250 (+354.55%)
Mutual labels:  os, osdev, operating-system
SnowFlake
Technology is free, SnowFlakeOS
Stars: ✭ 38 (-30.91%)
Mutual labels:  os, osdev, operating-system
poplar
Microkernel and userspace written in Rust exploring modern ideas
Stars: ✭ 217 (+294.55%)
Mutual labels:  os, osdev, operating-system

utero

utero 2017-12-24

Utero is an operating system (for x86_64) written in Crystal as much as possible.

This is the work in progress.

Requirements

Usage

To make an ISO file and run on Qemu

$ make run

To make an ISO file

$ make iso

To make a binary file of the kernel

$ make or $ make all

To compile the OS in DEBUG mode and run on Qemu

$ make debug

Note: in DEBUG mode, logging uses the serial port COM1 to write various debugging information. qemu is configured to write the output of this serial port to /tmp/serial.log.

To clean up

$ make clean

Troubleshooting on Qemu

On a system that uses EFI boot, like dual boot macOS and Ubuntu(16.04) on MacBook Pro

Error on Qemu like this

Could not read from CDROM (code 0009)

The solution may be:

$ sudo apt-get install grub-pc-bin

After the install grub-pc-bin, you will need to recreate the ISO file like this:

$ make clean
$ make # or make iso
$ make run

The following links saved my life:

microsoft/WSL#1043

http://intermezzos.github.io/book/appendix/troubleshooting.html#Could%20not%20read%20from%20CDROM%20%28code%200009%29

Contributing

  1. Fork it ( https://github.com/UteroOS/utero/fork )
  2. Clone it (including submodules)
git clone --recursive <YOUR-FORKED-UTERO-URL>

or

git clone <YOUR-FORKED-UTERO-URL>
git submodule update --init --recursive
  1. Create your feature branch (git checkout -b my-new-feature)
  2. Commit your changes (git commit -am 'Add some feature')
  3. Push to the branch (git push origin my-new-feature)
  4. Create a new Pull Request

Contributors

  • noriyotcp Noriyo Akita - creator, maintainer, breeder of utero

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

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].