Skip to content

ToaruOS v1.14.0

Compare
Choose a tag to compare
@github-actions github-actions released this 22 Apr 11:14

ToaruOS v1.14.0

VirtualBox_ToaruOS CD_22_04_2021_20_10_03

What's New in v1.14.0?

This release features Kuroko 1.1.0 and fixes issues with the EFI bootloader in VirtualBox. A number of improvements have also been made to the libc, including a new printf implementation and corrections to some floating point mathematics functions which has fixed the lighting in Quake. The CD images have gotten smaller as the ramdisk images are now compressed.

What is ToaruOS?

ToaruOS is a hobbyist, educational operating system for x86 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 Python 3.6, GCC, 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 the Github Actions CI workflow. It uses ToaruOS's native bootloaders and should work in most virtual machines using either BIOS or EFI boot.

When provided in a release, toaruos-grub.iso is an alternative CD with GRUB as a bootloader. If you are attempting to run ToaruOS on real hardware, this is generally preferred.

Changelog

  • auto-dep: Don't build kuroko mods with -DDEBUG
  • bim: Add Kuroko dynamic tab completion to command input
  • bim: Fix import path, again
  • bim: It would be great if we were actually shipping the syntax files...
  • bim: Update syntax highlighters
  • boot: Compress ramdisk image with gzip
  • boot: Fixes to boot processes on multiple platforms.
  • boot: Make sure PAE is disabled when booting 32-bit EFI
  • boot: try to make gzip decoder faster in loader
  • file-browser: Add more package icons
  • icons: New file type icons for krk, so/o, sh
  • kernel, linker, libc: Initial, probably horribly broken, support for some TLS situations
  • kernel: make sure signal handlers get the right GS descriptor
  • krk_yutani_test: Cleanup
  • kuroko, bim: sync with upstream
  • kuroko: Sync with upstream
  • kuroko: Update from upstream
  • kuroko: Update repl bin
  • kuroko: Update with upstream
  • kuroko: Update with upstream, changes to classes
  • kuroko: Updates for 1.1-preview and threading support
  • kuroko: Upstream updates
  • kuroko: make sure we remove kuroko objs on clean
  • kuroko: sync with upstream
  • kuroko: sync with upstream
  • kuroko: sync with upstream
  • kuroko: sync with upstream
  • kuroko: upstream bugfix
  • kuroko: use master branch
  • libc: Add stubs for truncate, sync
  • libc: Fix weird push/pop of ebx in syscall bindings
  • libc: Implement buffered writes in stdio; fix up printf family
  • libc: flush and close buffers on exit
  • libc: flush buffers on seek, tell
  • libc: improved printf
  • libc: more net stubs
  • libc: printf() x formatter improvements
  • libc: try to avoid writing when we shouldn't
  • libm: use fpu rounding to ceil, floor (fixes quake lighting)
  • readme: Update README
  • readme: Update screenshot, build instructions
  • readme: Writing markdown for years and still got that backwards
  • rline: Update krk highlighter from kuroko
  • rline: reintroduce rline_exp as a workaround for existing Python packages
  • rline: remove stale rline_exp? in theory nothing links with this except maybe old python

Known Issues

  • Several utilities are missing functionality.
  • The libc's implementation of scanf is incredibly incomplete.
  • 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.
  • There appears to be a problem with the performance of the gzip decompression implementation in the BIOS loader under TCG in QEMU. Users are recommended to use an accelerated backend or boot with EFI.