Releases: krustowski/rou2exOS
v0.11.4
This release brings another wave of improvements all across the project. Namely those are:
- kernel init shell script to autorun ELFs in background
- major update of ABI syscalls implementation and docs
- improved memory management in kernel and for userspace programs
- VFS layer implemented + ISO9660 read-only filesystem implemented
- improved ELF loader and runner
- major VGA hardware driver (re)implementations
- a proper Ethernet kernel support for userspace driver(s) and servers implemented
- improved kernel task scheduler logic: CR3 per process, network interface polling before scheduling, kernel and user stacks secured
- mid-size repo refactor and cleanup
Programs shipped on the floppy (fat.img):
FSCK.ELF(fat12 filesystem checker)SH.ELF(userspace universal shell)TNT.ELF(TELNET server and remote shell)THEM.ELF(16bit x86 CPU emulator, wip)CHAT.ELF(chatroom server for multiple peers, TCP + HTTP ports)GARN.ELF(HTTP/1.0 server, see /configs/garn.cfg for its configuration file)ETH.ELF(Ethernet driver, ARP + ICMP responder)GFXTEST.ELF(sample program to test the VGA mode 13h)HELLOFS.ELF(sample program to examine the fat12 functionalities)MEMENTO.ELF(GUI framework port and demo experiment)
The floppy image also has a file called INIT.RC, which is a simple shell script for the init system to autorun defined programs with custom parameters.
v0.10.5
This release brings these changes and new features:
- kernel init refactor
- syscall ABI upgrades
- updated ABI docs
- rewired keyboard handling subroutine + IRQ
- rewired kernel task scheduler
- pre-emptive multitasking draft
- external programs examples (boot with the
fat.imgimage attached) - minor code refactor and clean up (wip)
Please note that the kernel shell interface may be laggy in QEMU as the task scheduling depends on the system PIC timer.
v0.9.1
This release provides new experimental interface for external ELF executables and many more.
- experimental pre-emptive multitasking tooling
- new paging setup
- new interrupt/exception handlers
- ABI syscall specifications and handler implementation
- and various fixes and improvements
v0.8.1
In this release, many system components are to be enhanced and upgraded. Moreover, this release features:
- kernel video mode split: introducing the graphics mode skeleton
- double kernel build (see above) and linking
- second GRUB entry to choose the video mode before kernel init
- better debug logs and handling
- refactor of the FAT12 implementation
- CPU exception handling (0x06, 0x08, 0x0e)
- IDT reload on kernel init
- kernel ABI (Application Binary Interface) specification draft
- syscall handler implementing the ABI
- experimental run command to load and execute external (flat) binaries
v0.7.6
- Added a simple TCP chat server/client
- New command
debug--- dumps debug logs to stdout and writes toDEBUG.TXTif the filesystem is initialized - Clean up
To run the ISO image, use QEMU emulator with -cdrom and -fda flags. To boot right from the "CD" add -boot d.
qemu-system-x86_64 -boot d -cdrom r2.iso -fda fat.img