README documentation

This commit is contained in:
deadvey
2026-02-23 21:32:47 +00:00
parent cfe570c531
commit 249e02efe3

View File

@@ -1,3 +1,40 @@
Kernel written in Assmebly<br/> # What is this?
I'm using a modified JazzOS Bootloader<br/> This is a simple implementation of a computer kernel<br/>
And the MikeOS BASIC Interpreter<br/> written in pure x86 assembly with features including
- Read/Write disk operations
- The ability to boot from the BIOS using the [JazzOS Bootloader](https://raw.githubusercontent.com/scprogramming/JazzOS/refs/heads/main/src/bootloader/boot.asm)
- A modified [MikeOS BASIC interpreter](https://mikeos.sourceforge.net/handbook-appdev-basic.html)
- A functional POSIX inspired CLI
# What is it for?
This project is aimed at people wanting to learn<br/>
more about kernels and low level system functionality.<br/>
In order to help with comprehension, there are a lot<br/>
of inline comments descibing what each part does.
# Running it
In order to build this project on a Linux system run<br/>
the following commands.
```
git clone https://git.javalsai.tuxcord.net/deadvey/crawos.git
cd crawos
sudo make
```
This will create a directory called 'disk_images' which<br/>
contains optical and floppy images that can be ran in a<br/>
virtual machine such as QEMU with
```
qemu-system-i386 -drive file=disk_images/crawos.img,if=floppy,format=raw
```
Or it can be burnt to a physical disk to be booted from<br/>
hardware.
# Development
In order to run this project in testing mode you can use<br/>
The 'test-linux.sh' bash script which will assemble and<br/>
boot the virtual machine (QEMU) for testing purposes.<br/>
```
./test-linux.sh
```
This will dump the contents of memory in /dev/shm/qemu-ram<br/>
To allow for easier debugging.