This patch originally started as a fix for PPC, in that the NVRAM initialiser wasn't been run on startup (this is why printenv
on PPC always showed much much less than on SPARC). However, it also showed up some inconsistent logic for boot device
selection, which must also happen *before* boot is called in order for load to work correctly. With this patch applied, bootpath
and bootargs are set from boot-device and boot-args respectively on startup for SPARC32, SPARC64 and PPC.
Note: there is a small chance SPARC32 may break on some images - please let me know if it does.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@805 f158a5a8-5612-0410-a976-696ce0be7e32
that each arch no longer needs its own ELF loader implementation.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@710 f158a5a8-5612-0410-a976-696ce0be7e32
configuration header file to include/arch/common. Following through the code showed that elfnote.c and linuxbios.c were being
used by sys_info and so these are also renamed to elf_info.c and linuxbios_info.c for clarity.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@693 f158a5a8-5612-0410-a976-696ce0be7e32
This is needed to load the bootloader of OpenBSD.
Signed-off-by: Laurent Vivier <Laurent@vivier.eu>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@590 f158a5a8-5612-0410-a976-696ce0be7e32
This adds a better support of Apple BootX script.
However, "init-program" and "go" are always missing to be able to really boot with BootX.
Signed-off-by: Laurent Vivier <Laurent@vivier.eu>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@576 f158a5a8-5612-0410-a976-696ce0be7e32
CHRP boot method.
It finds the CHRP bootscript using the file attribute 'tbxi' and
the blessed directory.
This method allows to boot easily Fedora (the bitness detection is done
by the script and yaboot is called with the according yaboot.conf) but
openSUSE is broken (you have to use "boot cd:,\suseboot\yaboot")
Debian works well (as usual...).
The openSUSE needs the missing forth words: "load" and "go".
The MacOS bootloader (BootX) is also loaded automatically but forth
script is too complex to be executed correctly.
Signed-off-by: Laurent Vivier <Laurent@vivier.eu>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@571 f158a5a8-5612-0410-a976-696ce0be7e32
using "boot hd:%BOOT"
As explained in:
"PowerPC Microprocessor Common Hardware Reference Platform (CHRP)
System binding to:
IEEE Std 1275-1994 Standard for Boot (Initialization, Configuration)
Firmware
Revision: 1.8"
"Chapter 11.1.2. Open Method Algorith"
Signed-off-by: Laurent Vivier <Laurent@vivier.info>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@552 f158a5a8-5612-0410-a976-696ce0be7e32
sense, because the loader does not use ELF binaries or is not
directly involved in loading them.
Created a generic SUBSYS_PRINTF macro, as well as loader-specific
ELF_DPRINTF, CHRP_DPRINTF, and YABOOT_DPRINTF macros.
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@545 f158a5a8-5612-0410-a976-696ce0be7e32
script to be loaded and parsed. It will also terminate parsing on
the '</chrp-boot>' tag, which makes locating embedded data after
the script easier.
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
(laurent: remove XCOFF placeholder)
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@544 f158a5a8-5612-0410-a976-696ce0be7e32
Use firmware configuration device for boot device, kernel, initrd and
kernel command line parameters on PPC, Sparc32 and Sparc64.
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@479 f158a5a8-5612-0410-a976-696ce0be7e32
It is needed to boot Fedora-10 as we must specify the path to the yaboot.conf.
To boot Fedora:
boot cd: conf=cd:,\ppc\ppc32\yaboot.conf
so "bootpath" is "cd:", and "bootargs" is "conf=cd:,\ppc\ppc32\yaboot.conf"
git-svn-id: svn://coreboot.org/openbios/openbios-devel@456 f158a5a8-5612-0410-a976-696ce0be7e32
To keep compatibility with yaboot (tested with debian install CD),
put in bootpath a fully qualified path (<device>:<partition>,<filename>)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@442 f158a5a8-5612-0410-a976-696ce0be7e32
<boot-script>boot &device;:1,\suseboot\yaboot.ibm</boot-script>.
This would evaluate to boot cd:0,1\suseboot\yaboot.ibm which results
in a file not found error (seen on many openSUSE ppc media).
With this patch the above will evaluate to boot cd:0,\suseboot\yaboot.ibm
and yaboot will load.
Signed-off-by: Stefan Assmann <sassmann@suse.de>
git-svn-id: svn://coreboot.org/openbios/openbios-devel@429 f158a5a8-5612-0410-a976-696ce0be7e32
Load two first sectors of the partition and check quik signature ('QUIK').
If it is quik, execute it to boot.
Currently partition and parameter are hardcoded to "hd:2" and "Linux".
git-svn-id: svn://coreboot.org/openbios/openbios-devel@385 f158a5a8-5612-0410-a976-696ce0be7e32
This patches copies all needed ppc files to qemu and modifies them.
The generated OpenBIOS image must be loaded at adresse 0xfff00000 by Qemu.
It is able to load Yaboot from disk and Yaboot is able to load Linux, but Linux hangs somewhere... of course it needs more work (but this cleans up my patch queue).
Thank you to Blue Swirl and Aurelien Jarno for their help.
Signed-off-by: Laurent Vivier <Laurent@lvivier.info>
git-svn-id: svn://coreboot.org/openbios/openbios-devel@301 f158a5a8-5612-0410-a976-696ce0be7e32