A super simple 32 bit operating system
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
AthenX is an open source 32-bit hobby operating system. It is designed to be simple to use and understand.It is purely a command line OS and is monotasking only.
I started AthenX at the beginning of 2023 or mid to late 2022 (I took a pause in OS development and have lost the source code to my original project), since then I have re-uploaded it to github ( due to me not reading the github manual).
AthenX is and probably always will be a hobby OS, I started it to broaden my coding horizons and so that I can say I have done it.
AthenX is not and NEVER will be a replacement for a "real" os, it is simply here to learn.
-
grub
sudo apt install grub-common
sudo apt install grub-pc-bin
-
nasm
sudo apt install nasm
-
gcc
sudo apt install gcc
-
qemu
sudo apt install qemu-system
-
xorriso
sudo apt install xorriso
-
fdisk
sudo apt install fdisk
-
Clone repo
git clone https://github.com/KingVentrix007/AthenX-2.0.git
-
open freshly installed repository with wsl or any other UNIX system and run:
bash ./build-cross-compiler.sh
then add /cross/bin
make run
-
From this point on you only have to type
make run
or
make make run
in order to run the img
Simply add any changes you want then and save them, then type 'make run' and watch you change come to life (or not).
-
Each update changes this Roadmap, something that worked before a commit might not work after the commit.
-
Boot with GRUB
-
VGA mode 13h
-
VESA/VBE graphics driver
-
Basic keyboard driver
-
Basic IDE hard drive driver
-
Custom filesystem called Algea-fs, Greek goddess of pain and sorrows(deprecated),
- make file
- delete file
- list files
- read files
- edit files
- make dictionary
- rename dictionary
- delete dictionary
- set current dictionary
- different file types
- super basic superblock
- format disk function
-
basic login function
-
FAT 12/16/32
-
Basic program loading
-
Basic system calls (implemented as needed)
-
basic text editor
-
[x] Start
libc
(functions implemented as needed) -
Full Libc
-
Port some games
-
Make some games
-
network drivers
- DHCP
- UDP
- ARP
- IPv4
- TCP
- HTTP
- HTTPS
-
Apps
- web browser
- chat application
- Basic utility apps
Creating userspace programs for AthenX is always encouraged, please read this documentation for more information
Currently I am attempting to port some software to AthenX-2.0. This is one area where ANY contribution will be almost certainly implemented into AthenX-2.0 Software currently being ported:
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated even if i don't add it to the main project.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Read this
- Read this
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- This
README.md
is distributed under the MIT License. SeeOtherLicenses/MIT.txt
for more information. - This operating system is protected by the
GNU General Public License v3.0
, if you use, redistribute, re-upload or share this code you have to comply withGNU General Public License v3.0
and any other Licenses specified within the source code files. I would also appreciate it if credit would be given to me if you use this project. - Licenses specific to files will be stored in the
OtherLicenses
folder - If i have missed any copyright licenses, Please tell me and i will try to fix it as soon as possible
I would like to say thank you to people and websites that have helped me learn about OS development
- araujo88 / primus-os: I used his project as a model to learn from
- GitHub: Free code
- othneildrew / Best-README-Template This README
- OsDev.org: Lots if informative pages and articles
- Logo.com: They made my logo, and it was free
- And anyone else that I have missed, thanks.
- OS: I used A LOT of his code, ATA driver, VESA, FPU, etc
- My mom: she did all my editing and made sure my grammar was correct
- vaythe(friend from discord): Checked my repo for errors
- Incon8:The smaller logos
- MyOS/codeTrevor I used his e1000 driver and his Networ kStack