Skip to content

ToaruOS v1.99.7

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 27 Sep 07:05

ToaruOS v1.99.7

Screenshot from 2021-09-24 12-31-41

What's New in v1.99.7?

The ptrace interface has been partially implemented in the kernel and an strace utility as well as an interactive debugger (dbg) have been added.

A simple more pager has been added with limited features.

The login-loop system utility now supports parsing /etc/issue files with a number of escape sequences recognized from common getty implementations.

A handful of bugs have been fixed.

What is ToaruOS?

ToaruOS is a hobbyist, educational operating system for x86-64 PCs, focused primarily on use in virtual machines. It provides a Unix-like environment, complete with a graphical desktop interface, shared libraries, feature-rich terminal emulator, and support for running, GCC, Quake, and several other ports. The core of ToaruOS, provided by the CD images in this release, is built completely from scratch. The bootloader, kernel, drivers, C standard library, and userspace applications are all original software created by the authors, as are the graphical assets.

Who wrote ToaruOS?

ToaruOS is primarily written by a single maintainer, with several contributions from others. A complete list of contributors is available from AUTHORS.

Running ToaruOS

It is recommended that you run ToaruOS in a virtual machine / emulator, for maximum compatibility. ToaruOS's driver support is limited, and running on real "bare metal", while possible, does not provide the most complete experience of the OS's capabilities except on very particular hardware. ToaruOS is regularly tested in VirtualBox, QEMU, and VMWare Player, and can be successfully booted (with poor performance) in Bochs. ToaruOS is intended to run from a live CD, though it is possible to install to a hard disk. Additional details on running ToaruOS in different virtual machines is available from the README.

Release Files

image.iso is the standard build of ToaruOS, built by the Github Actions CI workflow. It uses ToaruOS's native bootloaders and should work in most virtual machines using BIOS.

Changelog

  • bim: Report errors when opening files
  • bim: syntax highlighter for /etc/issue files
  • compositor: Close stale windows that were lost in the stack
  • date: change default format
  • dbg: Try to figure out symbol names, library locations
  • dbg: add 'print' command
  • dbg: make sure debugged process terminates on exit
  • dbg: show signal number if name is not available
  • file-browser: Use object icon for kernel modules
  • kernel: Acquire a lock around waitpid condition changes
  • ld.so: Expose some internal data for use by debugger
  • ld.so: Link for 4K pages
  • ld.so: Set values in dynamic symbol tables when linking
  • login-loop: Linefeed before issue text
  • login-loop: Use a simple, 'modern' /etc/issue
  • login: Support /etc/issue through login-loop
  • more: add simple pager utility
  • more: add space binding
  • ptrace: Allow separate tracing of signals and syscalls
  • ptrace: Catch signals, start work on debugger
  • ptrace: Inform non-parent tracer when tracee exits
  • ptrace: POKEDATA, permission fixes for PEEKDATA
  • ptrace: PTRACE_SINGLESTEP
  • ptrace: Update status before setting suspended flag
  • ptrace: avoid suggesting process terminated when continuing from ptrace_signal
  • ptrace: support tracing from non-parent process
  • readelf: Show dynamic symbol tables
  • sh: use return code from last process in pipeline, and wait for everyone properly
  • strace: Initial support for a ptrace() mechanism, strace tool
  • strace: fix-up bad signal name table
  • strace: initial -e trace=... support
  • strace: more syscall groupings from the real strace
  • strace: support -o option
  • strace: support more syscalls, output values, errno
  • syscall: PTR_VALIDATE explicitly does not check null...
  • terminal-vga: Fixup upper left cell appearing selected
  • terminal: Launch without animation when running fullscreen
  • test-sigsegv: Add a deeper segfault to test debugging libs

Known Issues

  • The SMP scheduler is known to have performance issues.
  • Several utilities, libc functions, and hardware drivers are missing functionality.
  • There are many known security issues with ToaruOS. You should not use ToaruOS in a production environment - it is a hobby project, not a production operating system. If you find security issues in ToaruOS and would like to responsibly report them, please file a regular issue report here on GitHub.