ChaOS

Raspberry Pi         i86         ebc         ia64         2012 site   

ChaOS is an organic bootstrapped self-compiling operating system for Intel/AMD platforms, in continuous development since 1995. Home-grown compilers are the key to independence from main-stream operating systems. The key difference compared with mainstream development is a C compiler, with native assembler embedded in the operating system image, allowing for quantum leaps in development without phase errors.

Recently being used to develop cross compilers for Arduino, ARM and IA64 (Itanium) architectures focussing on bootable "baremetal" binaries.

Follow the PI project: here or send a message

May 2017 - {vc} vc=virtual compiler. Moving quickly on from {itc1} to separate the CPU from the C compiler, by providing a separate backed/inline assembler for each architecture supported. C compiler produces p-codes which are translated by an architecture-specific function and passed to the relevant assembler. Currently producing pe32+ .efi images for the IA64 project and for x64 in embryo form.

April 2017 - {itc1} Port of {ebc1} to compile for IA64 (Itanium) platforms. See here. I found two HP Integrity machines, one rx2600 and one rx2620 on eBay for fifty quid each. The Itanium is not the sort of processor you take home to meet your parents, it is a supermodel. Shame it is coming to end-of-life but no doubt it lives on beneath the Intel x86-64 microcode.

March 2017 - {ebc1} Port of {armc1} to produce EFI Byte Code, for the EFI pre-boot VM (provided it is supported in firmware). Producing small test programs which run unchanged on x86-64 and IA64 platform. Looking for IA32 and ARM EFI testbeds.

November 2015 - {armc1} Stumbled across the fact that Raspberry Pi runs (basic) Thumb code, began producing binaries for this platform.

So ChaOS is now being ported to Raspberry Pi. My compiler accepts simple HTML files as sources, for easy viewing over the internet.

May 2015 - {armc1} started, the ChaOS compiler for ARM platforms, targeting Thumb mode on Arduino Due and STM Nucleo flash microcontrollers.