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