The final presentation turned out to be perfect!?
1920x1080 resolution branch: https://github.com/imxieyi/HanaOS/tree/high_resolution
This project is aimed to make an simple Operating System like OSASK using more recent technologies. With only 2 months to develop, I have skipped many critical parts for an traditional operating systems like paging and user mode. So it may easily crash while running. Since the final presentation has finished, I will stop development right here.
Most of code in C++14 instead of pure C, which is rare for such operating systems.
GRUB2 Multiboot specification.
32bit color, up to 4k resolution with appropriate configurations.
Graphic-rich console with transparent background.
Multi-tasking and support for several instances for one application.
Easy-to-use API including support for lambda expressions.
Ubuntu 16.04 or above is recommended. If you cannot successfully set up the environment, please refer to .travis.yml which runs smoothly in Travis-CI containers.
Install through apt:
sudo apt update
sudo apt install nasm g++-6 g++-6-multilib make xorriso mtools qemu grub-common grub-pc
Build .iso image:
make iso
The result file is build/hanaos.iso
Run in qemu (You must manually install qemu first):
make run
If you want to run it in VMware, you are required to add rtc.diffFromUTC = 0 in the .vmx file since VMware pass local time instead of UTC time as hardware time to virtual machines by default.
What inside bgimg.hpp is just a wallpaper which takes up 3MB in the kernel. In the 1920x1080 branch it even takes up 8MB. However the kernel is only ~70KB without it. But it does not affect performance. Feel free to modify it if you don't like it.
With the support for alpha color blending, moving a large window like console consumes huge amounts of CPU but still slow. So please be careful and DO NOT move your mouse too fast while dragging windows.
Apps are also linked with kernel since there is no file systems.




