9cf56 No.65666
So I've been working on my own OS for the last few months because I thought it'd be a fun project.
It's called Neko OS. 32-bit monolithic kernel. It boots, which already puts it above my expectations.
Current stuff that works:
- VESA graphics (1024x768 because I got tired of staring at VGA text mode)
- PS/2 keyboard + mouse
- Spanish keyboard layout because I'm not American
- RAMFS, so everything disappears after reboot. Feature, not bug.
- Tiny text editor that's basically nano if it sucked.
- Built-in C compiler. Yeah, inside the OS. It translates C to x86 assembly.
- PC speaker support because beeping is important.
- grep, cpuinfo, PCI detection, memory detection, all the usual small utilities.
The funny part is that I can edit the kernel source from inside the OS, run `compile`, then `build`, and rebuild the whole kernel from the RAMFS without leaving it.
It's probably one of the dumbest things I've implemented, but also one of my favorites.
Needs an i686 CPU, 256 MB RAM, VESA, and PS/2 devices.
Built with i686-elf-gcc, NASM, GRUB and QEMU.
Still missing basically everything that makes an OS useful:
- USB
- Networking
- Real filesystem
- Multithreading
- 64-bit
Around 65 source files and ~200 KB of code so far.
Build:
make all && make iso
Run:
make run
or
qemu-system-i386 -cdrom build/neko-os.iso -m 256M
License is basically "do whatever you want."
Pic related is the boot screen. I spent more time aligning the ASCII cat than implementing some actual kernel features.
Yeah, I know it's a toy OS.
Yeah, Linux already exists.
Yeah, someone is going to tell me to rewrite it in Rust.
I made it because writing an OS from scratch sounded fun, and honestly it has been.
Feel free to roast it. Every bug you find saves me from finding it myself.
25108 No.65668
Is it better than PonyOS?
9cf56 No.65669
for No.65668…. maybe
1342a No.65670
Rewrite it in Rust
9cf56 No.65672
The guy who said to write it in Rust… must want me dead, seeing as I barely know C and assembly.