Update README.md
This commit is contained in:
40
README.md
40
README.md
@@ -1,17 +1,10 @@
|
|||||||
# ⚠️ Disclaimer
|
# BlankOS
|
||||||
|
|
||||||
Abandonded project for now. I spent too much time on OSdeving for pathetic results. Will maybe try again in some years.
|
Rewritten monolithic version of Blank OS for the x86 processor architecture. Features a framebuffer, serial port driver, GDT, IDT. The OS relies on an old, legacy version of GRUB as the bootloader (eltorito). This *should* be GRUB 2 compatible. Emulation was tested on Arch Linux 6.9.7-arch1-1. The long-term goal of this OS is to be capable of running user programs and having its own complete kernel C library so that users can write their own C programs to be ran using the kernel.
|
||||||
|
|
||||||
# Blank OS
|
|
||||||
|
|
||||||
Rewritten 32-bit Protected Mode monolithic version of Blank OS for the x86 processor architecture. Features a framebuffer and serial port driver. The OS relies on an old, legacy version of GRUB as the bootloader. This *should* be GRUB 2 compatible.
|
|
||||||
|
|
||||||
Long-term goal of this OS is to be capable of running user programs and having its own complete kernel C library so that users can write their own C programs to be ran using the kernel.
|
|
||||||
|
|
||||||
Next steps for this project will be:
|
Next steps for this project will be:
|
||||||
- a working formatted printing function
|
- ISRs and making the PIC work
|
||||||
- Segmentation and a GDT implementation
|
- Keyboard driver
|
||||||
- IDT implementation
|
|
||||||
- User programs
|
- User programs
|
||||||
- Shell
|
- Shell
|
||||||
- Kernel libc
|
- Kernel libc
|
||||||
@@ -19,16 +12,33 @@ Next steps for this project will be:
|
|||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
First, install dependencies:
|
### Dependencies
|
||||||
|
|
||||||
|
For Debian-based distros:
|
||||||
```
|
```
|
||||||
sudo apt install gcc nasm make bochs
|
sudo apt install gcc nasm make bochs
|
||||||
```
|
```
|
||||||
|
|
||||||
Then, clone the repository and run these commands:
|
Then change `display-library` to `sdl2` in the `bochsrc.txt` file.
|
||||||
|
|
||||||
|
For Arch-based distros:
|
||||||
```
|
```
|
||||||
|
sudo pacman -S nasm gcc make
|
||||||
|
git clone https://aur.archlinux.org/bochs.git
|
||||||
|
```
|
||||||
|
|
||||||
|
Then follow [these](https://bbs.archlinux.org/viewtopic.php?id=178479) instructions to compile Bochs with X support. Alternatively you can use Bochs with SDL but you'll have to change the `bochsrc.txt` file accordingly.
|
||||||
|
|
||||||
|
## Building and running
|
||||||
|
|
||||||
|
```
|
||||||
|
git clone https://github.com/xamidev/blankos
|
||||||
make
|
make
|
||||||
make run
|
make run
|
||||||
```
|
```
|
||||||
This will start a new Bochs debugger instance. To proceed with the kernel execution, you will have to type `c` in the shell spawning Bochs. Serial output will be saved under the `com1.out` file, this way you can debug the kernel by viewing its log messages.
|
|
||||||
|
|
||||||
Feel free to open issues or pull requests.
|
This will start a new Bochs debugger instance. To proceed with the kernel execution, you will have to type `c` in the shell spawning Bochs. Serial output will be saved under the `com1.out` file, this way you can debug the kernel by viewing its log messages. To quit, type `q`. Feel free to open issues or pull requests.
|
||||||
|
|
||||||
|
### ⚠️ Disclaimer
|
||||||
|
|
||||||
|
This is a hobbyist operating system kernel and it comes without any warranty whatsoever! It isn't capable of anything really.
|
||||||
|
|||||||
Reference in New Issue
Block a user