TheSledgeHammer / 2.11BSD_X44

2.11BSD_X44. A 2.11BSD that implements 4.4BSD's (Lite 2) vm and vnodes
Other
43 stars 3 forks source link
211bsd bsd unix unix-like

2.11BSD_X44 (TBA)

2.11BSD is unique in BSD's history, still receiving patches to it's codebase long after it's release. As well as being the only BSD to receive patches that were backported from numerous versions of 4BSD.

2.11BSD_X44 is 2.11BSD that continues with that tradition. Replacing the 4BSD (4.1BSD to 4.3BSD) styled vmspace and inodes with 4.4BSD's vmspace and vnodes. While retaining 2.11BSD's kernel and user space. 2.11BSD_X44 adopts the 4.4BSD & later BSD's (i.e. FreeBSD, NetBSD, OpenBSD & DragonflyBSD) approach of having a clearly defined architecture dependent code and architecture independent code, allowing for easier portability.

Source Roadmap:


Directory Description
bin System/user commands.
contrib Packages contributed by 3rd parties.
crypto Cryptography stuff.
etc Template files for /etc.
include System include files.
lib System libraries.
libexec System daemons.
sbin System commands.
share Shared resources.
sys Kernel sources.
sys/arch/arch/conf Kernel configuration files. GENERIC.'arch' is the configuration used in release builds.
stand Boot loader sources.
tools Utilities for toolchain & cross-compiling.
usr.bin User commands.
usr.lib System User libraries for /lib.
usr.sbin System administration commands.

Architecture Support:

Project Goals:

Project Aims:

Development:

Started:

OR

To Start:

Porting:

2.11BSD_X44 is open to being ported to different architectures. Though due to limited access to hardware, testing of 2.11BSD_X44 on that architecture will be dependent on the individual/group (especially more exotic hardware).

Building:

You can cross-build 211BSD_X44 from most UNIX-like operating systems. To build for i386, in the src directory:

./build.sh -U -u -j4 -m i386 -O ~/obj release

NOTICE: The above build script will not produce a successful build. It is only recommended at this stage for testing the cross-compiler or adding new tools.

To build just the tools for i386, in the src directory:

./build.sh -U -u -j4 -m i386 -O ~/obj tools

To build the kernel for i386, in the src directory:

./build.sh -U -u -j4 -m i386 -O ~/obj -m i386 kernel="kernel config name here"

Recommended to copy GENERIC.i386 to your "kernel config name".

Please read the following NetBSD guide for more information:

https://www.netbsd.org/docs/guide/en/chap-build.html

Cross-Compiler Compatability Table:

Compiler Toolchain Arch's Kernel VM
GCC Yes i386 Yes Yes
CLANG Partial ** i386 No No
PCC No i386 No No

** Clang: Library needs updating and fixing along with the relevent toolchain components.

Known OS's Supported:

Contribution:

Contribution Guidelines

  1. Clean Code.
  2. Must Contain a License Header. Clearly stating year, author and the license.

Contribution Rules

  1. Use of profanity.
    • Will not accept code that contains profanity.
  2. No abuse of others
    • Constructive criticism is welcome