========
 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.


