Skip to content

A fork of FreeBSD to provide variant optimized for WebAssembly, providing a environment that acts as a kernel & backend for libc.

License

Notifications You must be signed in to change notification settings

raweden/tinybsd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tinybsd

tinybsd is a fork of the FreeBSD repository, to refactor, rewrite and optimize the source code to make it run in the WebAssembly runtime. The main objective of this undertaking is to provide a kernel which acts as the backend for libc.

From whats mentioned in the README of the orignal repo i also mention the copyright notes here;
For copyright information, please see the file COPYRIGHT in this directory. Additional copyright information also exists for some sources in this tree - please see the specific source directories for more information.

A link to the original FreeBSD README

I have no intention to merge this codebase into the original repo as WebAssembly will require changes which goes beyond the machine-depedant source code of the architectures supported by freebsd.

Why?

The motiviation behind this project goes back the obession of porting GnuStep to WebAssembly.

The benefits of having a standard compliant kernel backing the libc for WebAssembly, is not benefitial for one single purpose but the broad spectrum of any c source which is ported to WebAssembly. There is not that many projects which tries todo this, there is emscripten which generates some handling of the syscalls, but the feature set provided by emscripten is limited.

Initial Goals

  • Port the kernel, this without support Virtual Memory mapping. [it does compile, but have not figured out on how to surgically remove VM/UMA/MMU]
  • Provide a idbfs driver for the filesystem which uses IndexedDB as its backing store.
  • Port the binaries of /bin etc to provide a minimal unix system.

About

A fork of FreeBSD to provide variant optimized for WebAssembly, providing a environment that acts as a kernel & backend for libc.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 62.2%
  • C++ 24.5%
  • Roff 4.9%
  • Shell 2.8%
  • Assembly 1.8%
  • Makefile 1.3%
  • Other 2.5%