summaryrefslogtreecommitdiffstats
path: root/qemu/roms/openbios/README
diff options
context:
space:
mode:
authorYang Zhang <yang.z.zhang@intel.com>2015-08-28 09:58:54 +0800
committerYang Zhang <yang.z.zhang@intel.com>2015-09-01 12:44:00 +0800
commite44e3482bdb4d0ebde2d8b41830ac2cdb07948fb (patch)
tree66b09f592c55df2878107a468a91d21506104d3f /qemu/roms/openbios/README
parent9ca8dbcc65cfc63d6f5ef3312a33184e1d726e00 (diff)
Add qemu 2.4.0
Change-Id: Ic99cbad4b61f8b127b7dc74d04576c0bcbaaf4f5 Signed-off-by: Yang Zhang <yang.z.zhang@intel.com>
Diffstat (limited to 'qemu/roms/openbios/README')
-rw-r--r--qemu/roms/openbios/README132
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