Skip to content

berkus/acess2

 
 

Repository files navigation

========
 Acess2
========

Acess2 is [TPG]'s hobby operating system.

It's mostly a learning experiment, but I've tried to keep the source simple
and have a _nearly_ POSIX compliant userland.

=== Source Tree ===
--- /KernelLand ---
The /KernelLand folder contains the kernel code
  Kernel/
    - Core kernel
    arch/<archname>/
      - Architecture dependent code (memory management and process switching)
    bin/
      - Binary file loaders
    vfs/
      - Virtual Filesystem layer
    drv/
      - Core system drivers (PCI, VTerm, FIFO)
  Modules/
    - All manner of drivers and helper code, capable of being build-time and runtime linked

--- Usermode ---
The Usermode folder contains the user-land portion of the Acess OS
  Applications/
    - Usermode applications (Shell, IRC Client, GUI, ...)
 Libraries/
   - Dynamic linker, and nearly all shared libraries used
 include/
   - Header files for libraries and the C standard

--- AcessNative ---
This folder contains a rather hacky emulation framework for the Acess Userland
(and to an extent, the kernel). It combines parts of the kernel code, IPC and
thread emulation to allow Acess applications to be run on Linux/Windows without
recompilation.
  acesskernel_src/
    - The kernel emulation framework
  ld-acess_src/
    - Replacement ld-acess.so to load programs and translate syscalls into IPC

--- BuildConf ---
Build configuration settings (compiler options, module selection)

=== Building ===
Required Tools: GNU Toolchain (GCC,Gas,binutils), NASM, mtools, PHP
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).
Edit the FILESYSTEMS variable to alter what filesystems are comipled in 
  (see /Kernel/vfs/fs for what filesystems are included).
MODULES defines what modules should be statically linked with the kernel
  (see /Modules for a list)

Set the destination install directory (DISTROOT).

Now you can compile the kernel and usermode applications by calling make
 in the source root.

e.g.
`make`
- Build and install the kernel (x86)
`PLATFORM=smp make`
- Build and install the x86:smp kernel
`ARCH=x86_64 make all`
- Build (but don't install) the entire x86_64 kernel and userland
`ARCH=armv7 PLATFORM=tegra2 make all install`
- Build and install the entire armv7 kernel and userland (with the kernel targeting a Tegra2)


About

Acess2 Hobby Operating System

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 90.6%
  • C++ 3.4%
  • Objective-C 3.3%
  • Assembly 2.2%
  • Shell 0.3%
  • PHP 0.2%