2019-02-08 10:04:23 +00:00
|
|
|
# Serenity
|
|
|
|
|
2019-02-12 14:47:37 +00:00
|
|
|
x86 Unix-like operating system for IBM PC-compatibles.
|
2019-02-08 10:04:23 +00:00
|
|
|
|
|
|
|
## About
|
|
|
|
|
|
|
|
I always wanted to write my own operating system, but I never took it seriously. Until now.
|
|
|
|
|
2019-02-12 14:47:37 +00:00
|
|
|
## Screenshot
|
|
|
|
|
2019-02-27 12:17:43 +00:00
|
|
|
![Screenshot as of 23263aa](https://raw.githubusercontent.com/awesomekling/serenity/master/Meta/screenshot-23263aa.png)
|
2019-02-12 14:47:37 +00:00
|
|
|
|
2019-02-08 10:04:23 +00:00
|
|
|
## Current features
|
|
|
|
|
|
|
|
* Pre-emptive multitasking
|
2019-02-17 08:45:39 +00:00
|
|
|
* Compositing window server (in userspace)
|
2019-02-27 12:17:43 +00:00
|
|
|
* ext2 filesystem
|
2019-02-08 10:04:23 +00:00
|
|
|
* Unix-like libc and userland
|
2019-02-27 12:17:43 +00:00
|
|
|
* mmap()
|
|
|
|
* /proc filesystem
|
|
|
|
* Local sockets
|
2019-02-08 10:04:23 +00:00
|
|
|
* Pseudoterminals
|
|
|
|
* Event-driven GUI library
|
|
|
|
* Other stuff I can't think of right now...
|
|
|
|
|
2019-02-17 08:45:39 +00:00
|
|
|
## How do I get it to run?
|
|
|
|
|
2019-02-27 12:17:43 +00:00
|
|
|
You need a freestanding cross-compiler for the i686-elf target (for the kernel) and another
|
|
|
|
cross-compiler for the i686-pc-serenity target (for all the userspace stuff.)
|
|
|
|
|
|
|
|
I've only tested this on an Ubuntu 18.10 host with GCC 8.2.0, so I'm not sure it works anywhere else.
|
2019-02-22 09:45:32 +00:00
|
|
|
|
|
|
|
If you'd like to run it, here's how you'd get it to boot:
|
2019-02-17 08:45:39 +00:00
|
|
|
|
|
|
|
cd Kernel
|
|
|
|
./makeall.sh
|
|
|
|
./run q # Runs in QEMU
|
|
|
|
./run # Runs in bochs
|
|
|
|
|
2019-02-08 10:04:23 +00:00
|
|
|
## Author
|
|
|
|
|
|
|
|
* **Andreas Kling** - [awesomekling](https://github.com/awesomekling)
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
Undecided. Probably something close to 2-clause BSD.
|