Annotation of qemu/roms/openbios/README, revision 1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.