ToaruOS v1.99.7
Pre-releaseToaruOS v1.99.7
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 filesbim
: syntax highlighter for /etc/issue filescompositor
: Close stale windows that were lost in the stackdate
: change default formatdbg
: Try to figure out symbol names, library locationsdbg
: add 'print' commanddbg
: make sure debugged process terminates on exitdbg
: show signal number if name is not availablefile-browser
: Use object icon for kernel moduleskernel
: Acquire a lock around waitpid condition changesld.so
: Expose some internal data for use by debuggerld.so
: Link for 4K pagesld.so
: Set values in dynamic symbol tables when linkinglogin-loop
: Linefeed before issue textlogin-loop
: Use a simple, 'modern' /etc/issuelogin
: Support /etc/issue through login-loopmore
: add simple pager utilitymore
: add space bindingptrace
: Allow separate tracing of signals and syscallsptrace
: Catch signals, start work on debuggerptrace
: Inform non-parent tracer when tracee exitsptrace
: POKEDATA, permission fixes for PEEKDATAptrace
: PTRACE_SINGLESTEPptrace
: Update status before setting suspended flagptrace
: avoid suggesting process terminated when continuing from ptrace_signalptrace
: support tracing from non-parent processreadelf
: Show dynamic symbol tablessh
: use return code from last process in pipeline, and wait for everyone properlystrace
: Initial support for a ptrace() mechanism, strace toolstrace
: fix-up bad signal name tablestrace
: initial -e trace=... supportstrace
: more syscall groupings from the real stracestrace
: support -o optionstrace
: support more syscalls, output values, errnosyscall
: PTR_VALIDATE explicitly does not check null...terminal-vga
: Fixup upper left cell appearing selectedterminal
: Launch without animation when running fullscreentest-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.