a tiny operating system that runs on x86 processor
windows and linux are great operating systems. but neither windows is open source or linux kernel's code is readable anymore. I've tryed to read linux's source code but it's just pain in the ass. reading it's code is time consuming process for a new comer. and because of it's complexity it's more like brain damage than an education..
So I decided to write my own from scratch. It's not gonna to be as mature as linux or windows of couse. but at least I will know about all It's internal workings. I'm highly influenced by Terry Davis who wrote his own TempleOS in 10 years. That OS didn't even support networking. but has its own graphics engine, own dialect of C (Holy C) and even a flight simulator! and it's only 15 megs in size. think about it.. flight simulator + 10 years and 15 megs..
since I know what undocumented or badly documented code is, to make things crystal clear I will document my code as good as posible. I'll do my best to make variable names and comments very clear. so the code will be easier to read/maintain and friendly for people who want to learn how to make a thing like this.
Another thing about why I'm doing this is I like low level stuff so much... maybe it's gonna be an overkill project for me because I'm also not really experienced programmer yet.. but it's worth to try isn't it? (died)
-
you will need:
- gcc ( GNU C compiler )
- make ( setup.exe )
- nasm ( netwide assembler )
- qemu ( quick emulator )
install those tools with your package manager. if you are on windows then I'm sorry for you. (in many cases..)
-
build it with
make zenith
if you want to run zenith on an emulated environment, do the following:
qemu zenith
if above command doesn't work try that one:
qemu-system-x86_64 zenith
- get a flash drive and plug in
- check the name of your drive with:
sudo lsblk
it's probably /dev/sdb
- use dd command to flash zenith into your drive
sudo dd status=progress if=zenith of=/path/to/my/flash/drive
- open your BIOS settings and configure it to boot from a flash drive
- restart. you should see something like this: