OpenBIOS: Difference between revisions
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
Welcome to the OpenBIOS download page. Here you'll find releases of OpenBIOS components. | Welcome to the OpenBIOS download page. Here you'll find releases of OpenBIOS components. | ||
OpenBIOS v1. | OpenBIOS v1.1 has been released. See the [http://tracker.coreboot.org/trac/openbios OpenBIOS issue tracker] for milestones, tasks and open bugs. | ||
= OpenBIOS = | = OpenBIOS = | ||
Line 9: | Line 9: | ||
Download the latest release of OpenBIOS including the Forth kernel and all of the IEEE 1275-1994 compliant Forth code for user interface, client interface and device interface. | Download the latest release of OpenBIOS including the Forth kernel and all of the IEEE 1275-1994 compliant Forth code for user interface, client interface and device interface. | ||
Latest release version is: [http://tracker.coreboot.org/trac/openbios/changeset/ | Latest release version is: [http://tracker.coreboot.org/trac/openbios/changeset/1135/trunk/openbios-devel?old_path=%2F&old=1135&format=zip OpenBIOS 1.1] (2013-05-04) | ||
'''NOTE:''' The FCODE utilities are no longer part of the main OpenBIOS distribution. Have a look at the [[FCODE suite]] if you are looking for toke and detok. | '''NOTE:''' The FCODE utilities are no longer part of the main OpenBIOS distribution. Have a look at the [[FCODE suite]] if you are looking for toke and detok. | ||
Line 22: | Line 15: | ||
= Status and use cases = | = Status and use cases = | ||
OpenBIOS can be used directly as a boot ROM for [http:// | OpenBIOS can be used directly as a boot ROM for [http://qemu.org/ QEMU] system emulators for PPC, PPC64, Sparc32 and Sparc64. OpenBIOS/Sparc32 can boot Linux, NetBSD and OpenBSD and some later versions of Solaris. OpenBIOS/PPC can boot at least Linux. OpenBIOS/Sparc64 can boot Linux with virtio drivers. | ||
[http://www.coreboot.org Coreboot] can use OpenBIOS as a payload on x86. | [http://www.coreboot.org Coreboot] can use OpenBIOS as a payload on x86. | ||
Line 54: | Line 47: | ||
if you want a specific revision: | if you want a specific revision: | ||
$ svn co svn://openbios.org/openbios/trunk/openbios-devel -r | $ svn co svn://openbios.org/openbios/trunk/openbios-devel -r 1153 | ||
or for checking out the source code for the OpenBIOS FCode Suite: | or for checking out the source code for the OpenBIOS FCode Suite: | ||
Line 79: | Line 72: | ||
You can also browse the [http://tracker.coreboot.org/trac/openbios/browser/trunk/openbios-devel OpenBIOS subversion repository] online. | You can also browse the [http://tracker.coreboot.org/trac/openbios/browser/trunk/openbios-devel OpenBIOS subversion repository] online. | ||
= Snapshots = | = Snapshots = | ||
Line 94: | Line 85: | ||
Second, select the build targets: | Second, select the build targets: | ||
$ ./config/scripts/switch-arch | $ ./config/scripts/switch-arch sparc32 sparc64 x86 ppc amd64 | ||
Finally the build command: | Finally the build command: | ||
Line 108: | Line 97: | ||
If your cross tools use different prefix from what the makefiles assume, the prefix can be overridden with: | If your cross tools use different prefix from what the makefiles assume, the prefix can be overridden with: | ||
$ make build-verbose TARGET=powerpc-elf- | $ make build-verbose TARGET=powerpc-elf- | ||
or | |||
$ make -C obj-ppc CC=powerpc-elf-gcc | |||
The OpenBIOS binaries (typically openbios-builtin.elf) can be found in obj- subdirectories. The Unix executable version (native only) is named openbios-unix. | The OpenBIOS binaries (typically openbios-builtin.elf) can be found in obj- subdirectories. The Unix executable version (native only) is named openbios-unix. |
Revision as of 11:21, 4 May 2013
OpenBIOS - Code Releases
Welcome to the OpenBIOS download page. Here you'll find releases of OpenBIOS components.
OpenBIOS v1.1 has been released. See the OpenBIOS issue tracker for milestones, tasks and open bugs.
OpenBIOS
Download the latest release of OpenBIOS including the Forth kernel and all of the IEEE 1275-1994 compliant Forth code for user interface, client interface and device interface.
Latest release version is: OpenBIOS 1.1 (2013-05-04)
NOTE: The FCODE utilities are no longer part of the main OpenBIOS distribution. Have a look at the FCODE suite if you are looking for toke and detok.
Status and use cases
OpenBIOS can be used directly as a boot ROM for QEMU system emulators for PPC, PPC64, Sparc32 and Sparc64. OpenBIOS/Sparc32 can boot Linux, NetBSD and OpenBSD and some later versions of Solaris. OpenBIOS/PPC can boot at least Linux. OpenBIOS/Sparc64 can boot Linux with virtio drivers.
Coreboot can use OpenBIOS as a payload on x86.
Do not try to put OpenBIOS in a real boot ROM, it will not work and may damage your hardware!
Kernel
There is also an ancient stand-alone version of the OpenBIOS Forth kernel BeginAgain.
The last released stand-alone version is: BeginAgain 1.1 (2003-10-12).
NOTE: You should use the latest version of BeginAgain that is present in the complete OpenBIOS release above. It is much newer than BeginAgain 1.1 and it supports cross compiling and lots of other nifty features. BeginAgain 1.1 is here for educational purposes only: The core binary is only 6k on x86.
Development Environment
FCode Suite
To download the latest version of the FCode Suite, including an FCode detokenizer, an FCode tokenizer and the romheader utility, please go to the FCode Suite page.
Flashing
/dev/bios is obsolete and has been replaced by a new and better utility. Please download a coreboot snapshot and use the flashrom utility from coreboot-v2/util/flashrom.
Development Repository
OpenBIOS keeps its development tree in a Subversion repository. If you do not want to use Subversion, please have a look at the Snapshots below.
Anonymous access
You can check it out as follows:
$ svn co svn://openbios.org/openbios/trunk/openbios-devel
if you want a specific revision:
$ svn co svn://openbios.org/openbios/trunk/openbios-devel -r 1153
or for checking out the source code for the OpenBIOS FCode Suite:
$ svn co svn://openbios.org/openbios/trunk/fcode-utils-devel
If your company installed a firewall that blocks the svn port (3690) you can also check out using the webdav frontend:
$ svn co https://www.openbios.org/openbios-svn/trunk/openbios-devel
or
$ svn co https://www.openbios.org/openbios-svn/trunk/fcode-utils
For versions prior to r470, please remove the /trunk component from the path.
Developer access
Access for developers is very similar to anonymous access. Just add your subversion username as follows when checking out the repository:
$ svn co svn://username@openbios.org/openbios/trunk/openbios-devel
Subversion has commands very similar to CVS.
Source code browsing
You can also browse the OpenBIOS subversion repository online.
Snapshots
There is currently no archive of snapshots available for OpenBIOS. You can use the source code browser to download a ZIP archive of any revision.
Alternatively you can also download the most current snapshot directly.
Building OpenBIOS
First, make the switch-arch script executable:
$ chmod +x ./config/scripts/switch-arch
Second, select the build targets:
$ ./config/scripts/switch-arch sparc32 sparc64 x86 ppc amd64
Finally the build command:
$ make
or
$ make build-verbose
OpenBIOS can even be cross-compiled on a host which is different type (big vs. little endian and 32 vs. 64 bits) from the target. At least Linux and OpenBSD hosts are known to work.
If your cross tools use different prefix from what the makefiles assume, the prefix can be overridden with:
$ make build-verbose TARGET=powerpc-elf-
or
$ make -C obj-ppc CC=powerpc-elf-gcc
The OpenBIOS binaries (typically openbios-builtin.elf) can be found in obj- subdirectories. The Unix executable version (native only) is named openbios-unix.
More on Subversion
- Subversion book - this online book is the best SVN documentation available online.
- Subversion homepage