Skip to content

Releases: christianb93/ctOS

0.3: UEFI and ACPI readiness

29 May 08:12
Compare
Choose a tag to compare
Pre-release

The theme of this release is readiness for UEFI and ACPI, i.e. getting rid of all dependencies on the BIOS. Major changes are:

  • enable MSI for PCI devices to reduce dependencies on firmware IRQ routing tables
  • support the GPT partitioning scheme instead of the legacy MBR scheme
  • parse ACPI tables (static tables only, i.e. no AML code) and use them instead of the MP tables if possible
  • add basic chipset detection features and the option to override specific IRQ routings
  • add additional EFI only run targets to bin/run.sh
  • do not rely on the presence of a VESA BIOS to switch graphics mode at startup
  • use a hard-coded font instead of looking for a font in the VGA BIOS
  • migrate to Multiboot2 instead of Multiboot and use the ACPI and framebuffer information provided by MB2
  • add Bochs to the list of supported emulators (we now support configurations for QEMU, VirtualBox and Bochs)

The attached binary distribution contains all the images and scripts needed to run ctOS (assuming that you have QEMU installed). To try it out, simply enter the following commands

gzip -d ctOS.bin.tar.gz
tar xvf ctOS.bin.tar
./bin/run.sh

By running bin/run.sh help, you can get a list of all available run targets. If you have OVMF installed on your machine, you can for instance try out a configuration using QEMU with an emulated UEFI-only machine and eight CPUs by running

./bin/run.sh efi-smp

Note that you need to select either the ramdisk or the AHCI entry in the GRUB2 boot menu as this configuration has no IDE drive attached any more.

v0.2: Documentation release

10 May 09:51
Compare
Choose a tag to compare
Pre-release

This release is mainly a documentation release, bundled with some minor fixes and cleanup activities. The most relevant changes are:

  • Added addition run targets (e.g. the Bochs emulator)
  • Added a porting guide that describes how to set up a cross-toolchain and how to port dash, elvis and wget
  • Some minor changes in the C library to improve compatibility with GCC
  • Building the test images now does no longer require root privileges
  • Migrated and imported a lot of system documentation
  • Added scripts for networking tests

The attached binary distribution contains all the images and scripts needed to run ctOS (assuming that you have QEMU installed). To try it out, simply enter the following commands

gzip -d ctOS.bin.tar.gz
tar xvf ctOS.bin.tar
./bin/run.sh

First maintenance release

01 May 11:46
Compare
Choose a tag to compare
Pre-release

This is a maintenance release on top of v0.1. Major changes since the first release:

  • Added a lot of documentation (see folder doc/hardware and doc/system)
  • Describe a few additional test scenarios in TESTING.md, with a focus on networking tests
  • Fixed DNS tests so that all networking tests complete again
  • Fixed broken interrupt handling for AHCI drive on VirtualBox with ICH9
  • Added a few new run targets in bin/run.sh
  • Added new functions to CLI (host, http)

To run on Linux, extract the archive and type

./bin/run.sh

assuming that you have a working version of QEMU installed.

Initial release

16 Apr 10:27
Compare
Choose a tag to compare
Initial release Pre-release
Pre-release

This is the very first release of ctOS after migrating to the new build environment and to QEMU 2.x. Most things seem to work again fine, even though there are a few known limitations:

  • sporadic crashes in SMP mode on QEMU at startup time
  • sometimes the QEMU window seems to loose the focus and no further input is accepted (no idea whether this is a problem with QEMU or in the kernel)
  • the toolchain and the ports are not yet migrated
  • some DNS resolution tests still fail
  • IO APIC is not working in VirtualBox

To run on Linux, extract the archive and type

chmod 700 ./bin/run.sh
./bin/run.sh

assuming that you have a working version of QEMU installed.