Skip to content

Commit

Permalink
Some docs
Browse files Browse the repository at this point in the history
  • Loading branch information
maxdev1 committed Feb 12, 2025
1 parent 5622c66 commit f03d7aa
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 24 deletions.
13 changes: 13 additions & 0 deletions documentation/general/debugging.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
= Debugging
:toc: left
include::../common/homelink.adoc[]

== Serial log
By default, the kernel writes its logs to the serial output 1.

== VirtualBox
There is a debugger that can be started with VirtualBox:

VirtualBoxVM.exe --startvm Ghost --debug

Documentation: https://www.virtualbox.org/manual/ch12.html#ts_debugger
27 changes: 14 additions & 13 deletions documentation/general/structure.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,23 @@ include::../common/homelink.adoc[]

Folders
-------
The project folder structure splits the main artifacts of the project in parts. The following tree
tries to explain most of the important folders and their meaning.
The project folder structure splits the main artifacts of the project in parts.
The following tree contains explanations for the most important fodlers

* `/applications` Contains userspace libraries, applications and drivers
* `/documentation` Contains this documentation
* `/kernel`
** `/src` Main source directory of the kernel
*** `/kernel` Sources of the kernel
*** `/loader` Sources of the kernel loader
*** `/shared` Sources that are shared between kernel and loader
** `/inc` Contains kernel & system headers. The `ghost` folder from here is copied into the system include directory when building *libapi*.
** `/iso` Is the source directory when building the ISO image with GRUB
** `/extra` Contains linker scripts
** `/src` Main source directory of the kernel
*** `/kernel` Sources of the kernel
*** `/loader` Sources of the kernel loader
*** `/shared` Sources that are shared between kernel and loader
** `/inc` Contains shared headers
** `/extra` Contains linker scripts
* `/libapi` System call library
* `/libc` Standard C library
* `/applications` Contains userspace applications
* `/patches`
** `<<port#,/ports>>` Small build tool and patches for various libraries that are portable
** `/toolchain` Patches for binutils/GCC
** `<<port#,/ports>>` Small build tool and patches for various libraries that are portable
** `/toolchain` Patches for binutils/GCC
* `/sysroot` The system root that reflects the initially mounted filesystem
* `/target` Contains the data written to the ISO image as well as the generated file
* `/tools` Tools used in the build process
* `/documentation` Contains this documentation
23 changes: 12 additions & 11 deletions documentation/index.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
= Ghost OS
Max Schlüssel <lokoxe@gmail.com>
v1.2
v1.3
:last-update-label!:

<- link:https://ghostkernel.org/[Back to homepage]
Expand All @@ -23,15 +23,16 @@ Contents
The contents of this documentation are split in sections for each system
component. On the top of each page there's a link back to this home page.

* *Tooling section*
** *<<building#,Building>>* - toolchain & system building instructions
** *<<structure#,Project structure>>* - explains the contents of this repository
* *<<loader#,Loader>>* - initial boot code that loads the kernel to higher memory
* *Kernel section* - documentation about the kernel itself
* *Development*
** <<building#,Building>> - Toolchain & system building instructions
** <<structure#,Project structure>> - Explains the contents of this repository
** <<debugging#,Debugging>> - How to debug the kernel
* *<<loader#,Loader>>* - Initial boot code that loads the kernel to higher memory
* *Kernel section* - Documentation about the kernel itself
** <<tasking#,Tasking>> contains everything about processes and threading
** <<memory#,Memory layout>> explains the memory layout
* *<<libapi#,libapi>>* - documentation for the kernel API wrapper library
* *<<libc#,libc>>* - documentation for the C library implementation
* *<<ramdisk-format#,Ramdisk>>* - documentation about the Ramdisk format & generation
* *<<port#,port.sh>>* - manual for the porting utility
* *<<spawning#,Spawning>>* - describes process creation
** <<spawning#,Spawning>> describes process creation
* *<<libapi#,libapi>>* - Documentation for the kernel API wrapper library
* *<<libc#,libc>>* - Documentation for the C library implementation
* *<<ramdisk-format#,Ramdisk>>* - Documentation about the Ramdisk format & generation
* *<<port#,port.sh>>* - Manual for the porting utility

0 comments on commit f03d7aa

Please sign in to comment.