Small *nix-like kernel, written in C and a grain of x86 Assembly. It served me in the journey of understanding low level concepts about how computers work under the hood. Credits to Osdev Wiki for the best resources out there.
- Tried to join The Edyptula Challenge and failed
- Could not understand what CPUs actually do, so I've decided to get closer with them 😉
- C pointers were intimidating monsters to me... Until PhotonOS was born
- To roll your own Linux Distro was too mainstream 😎
- Text-mode video driver
- Keyboard, PIC drivers
- Memory management using paging
- User space support and a small version of LIBC
- System calls
- Multitasking (kind of supported, but it is not used anywhere other than tests)
- Virtual file system and initial RAM disk
- Some self testing procedures
You can find some older releases alredy built, but if you want to play with the last version you need to:
- Download the cross compiler from https://drive.google.com/file/d/0Bw6lG3Ej2746STJaM2dNbC05elE/view?usp=sharing
- Copy the cross compiler to ~/opt (it already has the desired directory structure)
- Install GRUB 2 (for
grub2-mkrescue
command), xorriso and NASM - If you want to run it too, you will need
qemu-system-i386
make && make install
should create thephotonos.iso
filemake run
will start qemu with the PhotonOS image
Don't try to run it directly with the kernel image (photonos.elf
) as it is dependent on GRUB.
It has been a dead project for the past years, but if you have any feedback or if you are interested about learning OS development, don't hesitate to drop me an email at [email protected] or contact me on Linkedin