• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..25-Jun-2020-

Documentation/H25-Jun-2020-2,6912,300

arch/H25-Jun-2020-32,38023,118

config/H25-Jun-2020-1,7511,368

drivers/H25-Jun-2020-20,73615,064

forth/H25-Jun-2020-11,1009,121

fs/H25-Jun-2020-23,75315,666

include/H25-Jun-2020-6,1984,166

kernel/H25-Jun-2020-4,0432,691

libc/H25-Jun-2020-1,326902

libgcc/H25-Jun-2020-960642

libopenbios/H25-Jun-2020-12,1489,771

packages/H25-Jun-2020-3,0322,119

utils/H25-Jun-2020-4,8443,408

.gitignoreH A D25-Jun-202031 43

COPYINGH A D25-Jun-202017.6 KiB342281

MakefileH A D25-Jun-20201.2 KiB5235

Makefile.targetH A D25-Jun-20202.8 KiB8756

READMEH A D25-Jun-20204.7 KiB13397

VERSIONH A D25-Jun-20204 21

build.xmlH A D25-Jun-2020414 1514

README

1Welcome to OpenBIOS
2-------------------
3
4OpenBIOS is a free, portable implementation of IEEE 1275-1994
5(Open Firmware). Find detailed information about OpenBIOS at
6http://www.openbios.org/
7
8What is OpenBIOS?
9-----------------
10
11OpenBIOS can replace your system firmware (BIOS) partly or completely. It
12can also be used as a bootloader to create an Open Firmware compatible
13interface between legacy firmware and an operating system.
14
15This is achieved by a modular concept that consists of a portable Forth
16kernel and three interfaces for user interaction, device initialization
17and client (operating system) control.
18
19While far not all possible applications of OpenBIOS are implemented yet,
20a lot of functionality is already there. OpenBIOS can be used to enhance
21LinuxBIOS (http://www.linuxbios.org), or be booted from any multiboot
22capable bootloader to bring Open Firmware to your machine. OpenBIOS can
23also be used when an operating system is already running. It provides
24the needed OpenFirmware functionality to MOL (MacOnLinux) to boot MacOS
259 and X on PPC machines, as well as Linux (all supported platforms)
26
27OpenBIOS 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
39How 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
70Requirements
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
80Building & 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
121CREDITS
122-------
123OpenBIOS was developed by Stefan Reinauer, Samuel Rydh and Patrick Mauritz.
124The OpenBIOS IDE driver was written by Jens Axboe.
125For license details on this piece of software, see the file COPYING.
126
127
128If you have patches, questions, comments, feel free to contact the OpenBIOS
129mailinglist.
130
131Regards,
132     the OpenBIOS team
133