Skip to content

Releases: krustowski/rou2exOS

v0.11.4

05 May 23:56

Choose a tag to compare

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

08 Feb 23:00

Choose a tag to compare

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.img image 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

02 Aug 21:09

Choose a tag to compare

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

01 Jul 14:31

Choose a tag to compare

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

19 Jun 13:23

Choose a tag to compare

  • Added a simple TCP chat server/client
  • New command debug --- dumps debug logs to stdout and writes to DEBUG.TXT if 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