========
Acess2
========
Acess2 is [TPG]'s hobby operating system.
The Acess kernel is SEMI-posix compilant, but there will be a comatability
library that emulates the different functions.
=== Source Tree ===
--- /Kernel ---
The /Kernel tree contains the kernel sources.
Within the root of the tree is the miscelanious architecture agnostic
code for managing threads, loading modules and other things.
/Kernel/arch/<archname> - Architecture dependent code
/Kernel/bin - Binary file format parsers. Takes a binary file and
convertes it into a binary object that the loader can then load into memory.
/Kernel/vfs - The Virtual Filesystem
/Kernel/vfs/fs - The various filesystem drivers for the VFS.
/Kernel/drv - Drivers
--- Usermode ---
/Usermode contains the base acess system
/Usermode/Applications - Usermode applications such as the default
command shell and the login shell.
/Usermode/Libraries - Usermode shared libraries and crt0.o, currently
implemented are libacess (kernel interface), a basic libc and ld-acess
(dynamic linker).
/Usermode/include - Required include files for the shared libraries.
=== Building ===
Required Tools: GNU Toolchain (GCC,Gas,binutils), NASM, mtools, GNU calc
Compiling Acess is relatively simple (at the moment)
First edit /Makefile.cfg and set the build programs (making sure they match
the architecture you are building for).
Then select the architecture to build (At the moment only x86:i386 works).
Edit the FILESYSTEMS variable to alter what filesystems are comipled in
(see /Kernel/vfs/fs for what filesystems are included).
DRIVERS defines what device drivers are to be included from the Kernel
tree (see /Kernel/drv for a list).
MODULES defines what modules should be statically linked with the kernel
(see /Modules for a list)
Set the source root directory (ACESSDIR) and the destination directory
(DISTROOT).
To be able to build usermode programs, Usermode/Libraries/acess.ld needs
to be edited to change the SEARCH_DIR directive to the correct path.
You may also want to edit Usermode/Filesystem/Conf/BootConf.cfg before
installing.
Now you can compile the kernel and usermode applications by calling make
in the source root.