diff options
Diffstat (limited to 'qemu/roms/openbios/README')
-rw-r--r-- | qemu/roms/openbios/README | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/qemu/roms/openbios/README b/qemu/roms/openbios/README new file mode 100644 index 000000000..b6a9978ac --- /dev/null +++ b/qemu/roms/openbios/README @@ -0,0 +1,132 @@ +Welcome to OpenBIOS +------------------- + +OpenBIOS is a free, portable implementation of IEEE 1275-1994 +(Open Firmware). Find detailed information about OpenBIOS at +http://www.openbios.org/ + +What is OpenBIOS? +----------------- + +OpenBIOS can replace your system firmware (BIOS) partly or completely. It +can also be used as a bootloader to create an Open Firmware compatible +interface between legacy firmware and an operating system. + +This is achieved by a modular concept that consists of a portable Forth +kernel and three interfaces for user interaction, device initialization +and client (operating system) control. + +While far not all possible applications of OpenBIOS are implemented yet, +a lot of functionality is already there. OpenBIOS can be used to enhance +LinuxBIOS (http://www.linuxbios.org), or be booted from any multiboot +capable bootloader to bring Open Firmware to your machine. OpenBIOS can +also be used when an operating system is already running. It provides +the needed OpenFirmware functionality to MOL (MacOnLinux) to boot MacOS +9 and X on PPC machines, as well as Linux (all supported platforms) + +OpenBIOS build options +--------------------- + + config/scripts/switch-arch <platform> - build for specified platform + Look in config/example for + platforms. + + make - build all configured binaries + + make run - run unix example. + + +How OpenBIOS works +------------------ + + The OpenBIOS forth core is split into a forth kernel written in portable + C and a forth dictionary which operated on by the kernel. + + When building the forth core, you get different versions of + the forth kernel: + + * a unix executable program + + - to execute a forth dictionary from a file. This can be used for + easily testing and developing OpenBIOS on a unix host. + + - to create a dictionary file. Such a dictionary file sets up + all of the forth language. Primitives are indexed to save relocations. + + The default is to create a forth dictionary forth.dict from + forth/start.fs. This file includes all of the basic forth language + constructs from forth/bootstrap.fs and starts the interpreter. + + To achieve this, the hosted unix version contains a basic set of + forth words coded in C that allow creating a full dictionary. + + * a varying number of target specific binaries. On x86 you can start + openbios for example from GRUB or LinuxBIOS. They are all based on + the same forth engine consisting of a dictionary scheduler, primitive + words needed to build the forth environment, 2 stacks and a simple + set of console functions. These binaries can not be started directly + in the unix host environment. + +Requirements +------------ + * gcc + * gnu make + * OpenBIOS FCode Utils + Download with svn co svn://openbios.org/openbios/fcode-utils + * grub or any other multiboot loader to run the multiboot + binary "openbios.multiboot" with it's module "openbios-<platform>.dict" + * xsltproc + +Building & Usage +---------------- + + * make + + this builds "openbios.multiboot", the standalone image and "openbios-unix", + the hosted image. Additionally it creates a forth dictionary + file from forth/start.fs. All generated files are written to + the absolute directory held by the variable BUILDDIR, which defaults + to obj-[platform]. Some compile time parameters can be tweaked in + include/config.h + + * use "openbios-unix" to create a forth dictionary on your own: + $ obj-x86/openbios-unix -Iforth start.fs + creates the file forth.dict from forth source forth/start.fs. + + * use "openbios-unix" to run a created dictionary: + $ obj-x86/openbios-unix obj-x86/openbios-unix.dict + This is useful for testing + + * booting openbios + You can boot openbios i.e. in grub. Add the following lines to + your menu.lst: + + title openbios + kernel (hd0,2)/boot/openbios.multiboot + module (hd0,2)/boot/openbios-x86.dict + + Note: change (hd0,2) to the partition you copied the openbios image and + openbios-x86.dict to. + + To boot OpenBIOS from LinuxBIOS/etherboot, you can either use + "openbios-plain.elf" or "openbios-builtin.elf": + + - openbios-plain.elf is the pure kernel that loads the dictionary from a + hardcoded address in flash memory (0xfffe0000) + + - openbios-builtin.elf also includes the dictionary directly so that it + can be easily used from etherboot or the LinuxBIOS builtin ELF + loader without taking care of the dictionary + +CREDITS +------- +OpenBIOS was developed by Stefan Reinauer, Samuel Rydh and Patrick Mauritz. +The OpenBIOS IDE driver was written by Jens Axboe. +For license details on this piece of software, see Documentation/COPYING. + + +If you have patches, questions, comments, feel free to contact the OpenBIOS +mailinglist. + +Regards, + the OpenBIOS team |