A kernel with alot features like GOP and PCI support with uefi bootloader. It has AHCI (The mass storage ATA driver in intel). Also there is a FAT filesystem to read files. So that you can control the ports and drives on your computer. It can handle many interrupts like PS2 Mouse and keyboard. It's also very flexible and all functions are implemented as understandable as they could. You can modify it in anyway you want.
# Ubuntu, Debian:
$ sudo apt install build-essential nasm mtools qemu-system-x86
# Fedora:
$ sudo dnf install gcc gcc-c++ make nasm mtools qemu-system-x86
This kernel is uploaded pre-compiled but if you made any changes to the kernel, you can compile it again with:
$ cd BAS-kernel
$ make
And if you made changes to bootloader too:
$ cd BAS-kernel
$ cd gnu-efi
$ make bootloader
$ make
$ cd ..
$ make
And keep in mind that if you made any significant changes to the headers in src
or desktop
directory, you should delete lib
folder brefore compilation.
Keep in mind that if you made any changes to the kernel, you should compile it before running. And also when it ran, wait for the timer to finish in 0.
cd BAS-kernel
make run
Since some parts of kernel would be hard for beginners, I made another directory named desktop
that has all important functions included from kernel. You can make changes to it and use any graphics with all supports implemented in kernel.
You can use see all supported commands with using help
command.
- Uefi support
- GOP for graphics support
-
.psf
file for font - Page frame allocator
- Interrupts
- PS2 mouse and keyboard support
- PCI support
- AHCI (Drive initialization)
- AHCI (Port configrations)
- AHCI (Read from drives)
- Fat16 and Fat32 support
- My own filesystem
- Elf file support
- Adding DE to make a complete OS
- Some built-in applications
-
.bas
file support to run my own apps on kernel - A collection of libraries to make
.bas
file with gcc and g++