Homebrew OS Development: Difference between revisions

From DisNCord Community Wiki
Jump to navigation Jump to search
Mineman3000 (talk | contribs)
→‎Rotom OS: fixed the picture for this too
 
(19 intermediate revisions by 8 users not shown)
Line 1: Line 1:
[[Category:Projects]]
This is a general summary of what OSes are being developed on DisNCord.
This is a general summary of what OSes are being developed on DisNCord.


=== Open Computing Kit (OCK) ===
=== Open Computing Kit (OCK) ===
A joint project between Elisia, Sadmac356, Griffin, Europa, and others, [https://github.com/open-computing-kit Open Computing Kit] is an operating system that aims to be as GNU-independent as possible, including a [https://github.com/open-computing-kit/ockernel kernel written in Rust] and its [https://github.com/open-computing-kit/OCKcore own set of coreutils]. It is presently in the very early stages of active development.
A joint project between Velleda, Sadmac356, Griffin, Europa, and others, [https://github.com/open-computing-kit Open Computing Kit] is an operating system that aims to be as GNU-independent as possible, including a [https://github.com/open-computing-kit/ockernel kernel written in Rust] and its [https://github.com/open-computing-kit/OCKcore own set of coreutils]. It is presently in the very early stages of active development.
[[File:SeshOS3.png|thumb|SeshOS as of August 6th, 2024]]


=== SeshOS ===
=== SeshOS ===
Written by Mineman, SeshOS is one of the more esoteric OSes on DisNCord, it has the starts of a GUI and shell in the kernel, but no memory management.
Written by Mineman, SeshOS is one of the more esoteric OSes on DisNCord. As of 10/15/2022 it has a working malloc thanks to Krabs and Mathewnd.


SeshOS has support for one filesystem: tar ramfs.  
SeshOS has support for one filesystem: tar ramfs.  


The repository for the software is located at https://github.com/mine-man3000/SeshOS.
Has very basic SMP setup, and has support for the PC Speaker.  
[[File:SeshOS2.png|thumb|SeshOS in it's current state as of September 1st 2022]]


Its source code is located at https://github.com/mine-man3000/SeshOS.
Techflash also rewrote the entire thing in C and ported bits of his OS to this.
=== Pics Of Bread Awful scRipting Interpreter System for Neat Architectures (POBARISNA) ===
=== Pics Of Bread Awful scRipting Interpreter System for Neat Architectures (POBARISNA) ===
Written by Krabs, POBARISNA is an operating system with a JavaScript-based microkernel design, that currently only runs on PowerPC macs. There are prospective plans for ports to other "Neat Architectures" (which Krabs defines as "not a PC/BIOS/UEFI x86 system"), such as SPARC variants and ARM.
Written by Krabs, POBARISNA is an operating system with a JavaScript-based microkernel design that currently only runs on PowerPC macs. There are prospective plans for ports to other "Neat Architectures" (which Krabs defines as "not a PC/BIOS/UEFI x86 system"), such as SPARC variants and ARM.


The project can be found on [https://gitlab.com/christiancrowle/pobarisna GitLab]
The project can be found on [https://gitlab.com/sarahcrowle/pobarisna GitLab].
 
The JavaScript interpreter used in POBARISNA is [https://duktape.org/ Duktape], an easily embeddable interpreter with a nice API. However, Duktape 2.x has some awkward tooling and a lack of solid control over execution. Therefore, there are plans to replace it with [https://gitlab.com/sarahcrowle/dorktape Dorktape], which will hopefully serve as a modernized fork of the engine.
 
Being that PowerPC OpenFirmware is a slightly under-documented platform, [[PowerPC OpenFirmware Implementation Details]] should serve as helpful to anyone looking to do something similar.
[[File:POBARISNA running duktape on bare metal.jpg|alt=An early screenshot of POBARISNA running Duktape in OpenFirmware|thumb|An early screenshot of POBARISNA running Duktape in OpenFirmware]]


=== picotalk ===
=== picotalk ===
Written by Waterpear, picotalk is an operating system written in embedded Smalltalk.
Written by Waterpear, picotalk is a Smalltalk interpreter that aims to be a bare-metal system for embedded use.
 
An early attempt to implement a system from scratch in C existed, but has been abandoned. Instead, the plan is to recreate the original Smalltalk-80 system, build an RPC layer to allow the development tools to operate over a serial link, and strip out features not needed for embedded systems such as the GUI. A "zeroth prototype" written in Python is in progress, and can run some of the Smalltalk development tools.


=== Rotom OS ===
=== Rotom OS ===
Written by SED, Rotom OS is an operating system with little information to glean from anything except for its code and a few images.
Written by SED, [https://github.com/SED4906/rotomos Rotom OS] is an operating system with little information to glean from anything except for its code and a few images. It attempts to be as simple as possible, with ring 3 not yet being implemented.
It attempts to be as simple as possible, with ring 3 not being implemented.
[[File:RotomOS.png|thumb|Rotom OS]]
[[File:RotomOS.png|thumb|Rotom OS]]


Line 33: Line 43:
* The word "styx" is not an acronym, nor will the operating system's governing body ever be comprised of one member.
* The word "styx" is not an acronym, nor will the operating system's governing body ever be comprised of one member.
* The system will be consent-first, something that flies in the face of traditional operating systems like Windows and macOS.
* The system will be consent-first, something that flies in the face of traditional operating systems like Windows and macOS.
There are many more than this here in their Discord server, but there are too many to list here effectively.
There are many more than are stated here in their Discord server, due to there being too many to list here effectively.
 
=== Astral ===
Written by Mathewnd, [https://github.com/Mathewnd/Astral Astral] is a monolithic kernel written in C. It is still at its early stages of development and has the beginnings of a userland.
 
It has a growing port collection with a few examples being Bash, Doom, Binutils, Coreutils and NASM.
 
Its current main goal is to have a usable command line interface while also having fun developing the system.
[[File:Astral neofetch.png|alt=Astral running Neofetch on Oct 11, 2022|thumb|Astral running Neofetch on Oct 11, 2022]]
 
=== Techflash OS (TFOS) ===
Written by Techflash, [https://github.com/techflashYT/Techflash-OS Techflash OS] is an operating system that is still very early in development.
 
It current has very little implemented except for the following:
 
* A basic boot procedure
* Enabling a few CPU features
* Support of a few basic interrupts, such as the [[wikipedia:Intel_8253|PIT]] and keyboard.
* A very basic framebuffer console
* Starts of an ELF loader
* Serial and Parallel support for logging

Latest revision as of 18:36, 8 September 2024

This is a general summary of what OSes are being developed on DisNCord.

Open Computing Kit (OCK)

A joint project between Velleda, Sadmac356, Griffin, Europa, and others, Open Computing Kit is an operating system that aims to be as GNU-independent as possible, including a kernel written in Rust and its own set of coreutils. It is presently in the very early stages of active development.

SeshOS as of August 6th, 2024

SeshOS

Written by Mineman, SeshOS is one of the more esoteric OSes on DisNCord. As of 10/15/2022 it has a working malloc thanks to Krabs and Mathewnd.

SeshOS has support for one filesystem: tar ramfs.

Has very basic SMP setup, and has support for the PC Speaker.

Its source code is located at https://github.com/mine-man3000/SeshOS.

Techflash also rewrote the entire thing in C and ported bits of his OS to this.

Pics Of Bread Awful scRipting Interpreter System for Neat Architectures (POBARISNA)

Written by Krabs, POBARISNA is an operating system with a JavaScript-based microkernel design that currently only runs on PowerPC macs. There are prospective plans for ports to other "Neat Architectures" (which Krabs defines as "not a PC/BIOS/UEFI x86 system"), such as SPARC variants and ARM.

The project can be found on GitLab.

The JavaScript interpreter used in POBARISNA is Duktape, an easily embeddable interpreter with a nice API. However, Duktape 2.x has some awkward tooling and a lack of solid control over execution. Therefore, there are plans to replace it with Dorktape, which will hopefully serve as a modernized fork of the engine.

Being that PowerPC OpenFirmware is a slightly under-documented platform, PowerPC OpenFirmware Implementation Details should serve as helpful to anyone looking to do something similar.

An early screenshot of POBARISNA running Duktape in OpenFirmware
An early screenshot of POBARISNA running Duktape in OpenFirmware

picotalk

Written by Waterpear, picotalk is a Smalltalk interpreter that aims to be a bare-metal system for embedded use.

An early attempt to implement a system from scratch in C existed, but has been abandoned. Instead, the plan is to recreate the original Smalltalk-80 system, build an RPC layer to allow the development tools to operate over a serial link, and strip out features not needed for embedded systems such as the GUI. A "zeroth prototype" written in Python is in progress, and can run some of the Smalltalk development tools.

Rotom OS

Written by SED, Rotom OS is an operating system with little information to glean from anything except for its code and a few images. It attempts to be as simple as possible, with ring 3 not yet being implemented.

Rotom OS

styx

Written by Sirocyl and others, styx is an operating system with many ideas, some of which will be listed here:

  • Applications will be double-click to run, much like Windows or macOS.
  • Libraries should live with their application in packaging, similar to Windows.
  • Installation will be done through drag-and-drop, taken from macOS.
  • The system will be as (trans)portable as possible, similar to Classic macOS.
  • The word "styx" is not an acronym, nor will the operating system's governing body ever be comprised of one member.
  • The system will be consent-first, something that flies in the face of traditional operating systems like Windows and macOS.

There are many more than are stated here in their Discord server, due to there being too many to list here effectively.

Astral

Written by Mathewnd, Astral is a monolithic kernel written in C. It is still at its early stages of development and has the beginnings of a userland.

It has a growing port collection with a few examples being Bash, Doom, Binutils, Coreutils and NASM.

Its current main goal is to have a usable command line interface while also having fun developing the system.

Astral running Neofetch on Oct 11, 2022
Astral running Neofetch on Oct 11, 2022

Techflash OS (TFOS)

Written by Techflash, Techflash OS is an operating system that is still very early in development.

It current has very little implemented except for the following:

  • A basic boot procedure
  • Enabling a few CPU features
  • Support of a few basic interrupts, such as the PIT and keyboard.
  • A very basic framebuffer console
  • Starts of an ELF loader
  • Serial and Parallel support for logging