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.
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. |
OR
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).
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
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.