ABLE Bootloader Introduction

ABLE is a portable modular boot loader for use in applications where an OS must be retrieved and started. ABLE provides extended functionality providing modules for a command line, video consoles, serial consoles, network booting and numerous other facilities.

Software Description

ABLE is a modular system allowing customers to select their required features without the overhead of unrequired components.

ABLE is intended to be customised for a specific application allowing for a variety of uses. While it is not a true OS it has the option of running "user" code in a fixed environment that enables end users to avoid having to implement large amounts of functionality.

ABLE has a flexible licensing model that can be tailored to each customers needs, both binary builds and source licences are available. Please refer to the availability page for more details.

Module list

Core Modules

These modules provide core functionality for other components

Head code (Required) This module provides cpu and architecture specific code to get the basic CPU functionality working i.e. MMU, caches etc.

Library (Required) This module is an essential core component which provides routines for all the other components.Routines already provided:

First-fit coalescing heap allocator

databuffers

delays

timers

irq support

physical to logical mapping routines

Core Networking supportProvides core support for modules that rely on the networking system

Core filesystem supportProvides core support if a filesystem is required.

Non volatile RAM core support

Filesystem modules

These modules rely on the core filesystem support to be included

Partition support.

ROM filesystem.

Console filesystem.

Raw block filesystem.

Ext2 filesystem.

FAT filesystem.

TFTP pseudo filesystem (relies on network modules)

OS loaders

Linux loader

NetBSD Loader

ABLE userspace loader

RISC OS Soft loader

Network modules

These modules rely on the core networking support to be included

NE2000 compatible cards (PCI)

DEC Tulip compatible cards (PCI)

Cirrus CS89x0

Console modules

Serial I/O

Basic VIDC output

PS2 input

General purpose framebuffer displayThis module adds large amounts of functionality, allowing for video resolution selection with ability to control chrontel devices to manipulate output video in a large number of customisable ways. Also available is a selection of basic drawing primatives (line, circle, bitmap etc.) allowing for simple embedded graphical applications to be rapidly developed.

Shellproviding basic access to many modules and even basic scripting support.