|
|
1.1 ! root 1: Welcome to OpenBIOS ! 2: ------------------- ! 3: ! 4: OpenBIOS is a free, portable implementation of IEEE 1275-1994 ! 5: (Open Firmware). Find detailed information about OpenBIOS at ! 6: http://www.openbios.org/ ! 7: ! 8: What is OpenBIOS? ! 9: ----------------- ! 10: ! 11: OpenBIOS can replace your system firmware (BIOS) partly or completely. It ! 12: can also be used as a bootloader to create an Open Firmware compatible ! 13: interface between legacy firmware and an operating system. ! 14: ! 15: This is achieved by a modular concept that consists of a portable Forth ! 16: kernel and three interfaces for user interaction, device initialization ! 17: and client (operating system) control. ! 18: ! 19: While far not all possible applications of OpenBIOS are implemented yet, ! 20: a lot of functionality is already there. OpenBIOS can be used to enhance ! 21: LinuxBIOS (http://www.linuxbios.org), or be booted from any multiboot ! 22: capable bootloader to bring Open Firmware to your machine. OpenBIOS can ! 23: also be used when an operating system is already running. It provides ! 24: the needed OpenFirmware functionality to MOL (MacOnLinux) to boot MacOS ! 25: 9 and X on PPC machines, as well as Linux (all supported platforms) ! 26: ! 27: OpenBIOS build options ! 28: --------------------- ! 29: ! 30: config/scripts/switch-arch <platform> - build for specified platform ! 31: Look in config/example for ! 32: platforms. ! 33: ! 34: make - build all configured binaries ! 35: ! 36: make run - run unix example. ! 37: ! 38: ! 39: How OpenBIOS works ! 40: ------------------ ! 41: ! 42: The OpenBIOS forth core is split into a forth kernel written in portable ! 43: C and a forth dictionary which operated on by the kernel. ! 44: ! 45: When building the forth core, you get different versions of ! 46: the forth kernel: ! 47: ! 48: * a unix executable program ! 49: ! 50: - to execute a forth dictionary from a file. This can be used for ! 51: easily testing and developing OpenBIOS on a unix host. ! 52: ! 53: - to create a dictionary file. Such a dictionary file sets up ! 54: all of the forth language. Primitives are indexed to save relocations. ! 55: ! 56: The default is to create a forth dictionary forth.dict from ! 57: forth/start.fs. This file includes all of the basic forth language ! 58: constructs from forth/bootstrap.fs and starts the interpreter. ! 59: ! 60: To achieve this, the hosted unix version contains a basic set of ! 61: forth words coded in C that allow creating a full dictionary. ! 62: ! 63: * a varying number of target specific binaries. On x86 you can start ! 64: openbios for example from GRUB or LinuxBIOS. They are all based on ! 65: the same forth engine consisting of a dictionary scheduler, primitive ! 66: words needed to build the forth environment, 2 stacks and a simple ! 67: set of console functions. These binaries can not be started directly ! 68: in the unix host environment. ! 69: ! 70: Requirements ! 71: ------------ ! 72: * gcc ! 73: * gnu make ! 74: * OpenBIOS FCode Utils ! 75: Download with svn co svn://openbios.org/openbios/fcode-utils ! 76: * grub or any other multiboot loader to run the multiboot ! 77: binary "openbios.multiboot" with it's module "openbios-<platform>.dict" ! 78: * xsltproc ! 79: ! 80: Building & Usage ! 81: ---------------- ! 82: ! 83: * make ! 84: ! 85: this builds "openbios.multiboot", the standalone image and "openbios-unix", ! 86: the hosted image. Additionally it creates a forth dictionary ! 87: file from forth/start.fs. All generated files are written to ! 88: the absolute directory held by the variable BUILDDIR, which defaults ! 89: to obj-[platform]. Some compile time parameters can be tweaked in ! 90: include/config.h ! 91: ! 92: * use "openbios-unix" to create a forth dictionary on your own: ! 93: $ obj-x86/openbios-unix -Iforth start.fs ! 94: creates the file forth.dict from forth source forth/start.fs. ! 95: ! 96: * use "openbios-unix" to run a created dictionary: ! 97: $ obj-x86/openbios-unix obj-x86/openbios-unix.dict ! 98: This is useful for testing ! 99: ! 100: * booting openbios ! 101: You can boot openbios i.e. in grub. Add the following lines to ! 102: your menu.lst: ! 103: ! 104: title openbios ! 105: kernel (hd0,2)/boot/openbios.multiboot ! 106: module (hd0,2)/boot/openbios-x86.dict ! 107: ! 108: Note: change (hd0,2) to the partition you copied the openbios image and ! 109: openbios-x86.dict to. ! 110: ! 111: To boot OpenBIOS from LinuxBIOS/etherboot, you can either use ! 112: "openbios-plain.elf" or "openbios-builtin.elf": ! 113: ! 114: - openbios-plain.elf is the pure kernel that loads the dictionary from a ! 115: hardcoded address in flash memory (0xfffe0000) ! 116: ! 117: - openbios-builtin.elf also includes the dictionary directly so that it ! 118: can be easily used from etherboot or the LinuxBIOS builtin ELF ! 119: loader without taking care of the dictionary ! 120: ! 121: CREDITS ! 122: ------- ! 123: OpenBIOS was developed by Stefan Reinauer, Samuel Rydh and Patrick Mauritz. ! 124: The OpenBIOS IDE driver was written by Jens Axboe. ! 125: For license details on this piece of software, see Documentation/COPYING. ! 126: ! 127: ! 128: If you have patches, questions, comments, feel free to contact the OpenBIOS ! 129: mailinglist. ! 130: ! 131: Regards, ! 132: the OpenBIOS team
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.