Mark Morgan Lloyd | 2 Nov 13:29 2008
Picon

OpenBIOS as an intermediate loader

Please excuse the stupid question, but is it possible- or even remotely 
feasible- to load OpenBIOS from disc in lieu of an operating system kernel?

I use a number of architectures here including PCs and Sun systems. 
Recently I got my hands on some ARM boards which are flashed for CE but 
should also in principle be able to run Linux.

Now these CE boards boot in a very PC-like fashion, so I presume they 
have something similar to a PC BIOS in Flash. If it were possible to 
load a variant of OpenBIOS as an intermediate loader then it should be 
possible to use that to load Linux, this approach would also be valuable 
for engineering purposes on both PCs and other systems which did not 
have OpenBIOS in Flash.

Blue Swirl | 2 Nov 13:39 2008
Picon

Re: OpenBIOS as an intermediate loader

On 11/2/08, Mark Morgan Lloyd <markMLl.openbios@...> wrote:
> Please excuse the stupid question, but is it possible- or even remotely
> feasible- to load OpenBIOS from disc in lieu of an operating system kernel?
>
>  I use a number of architectures here including PCs and Sun systems.
> Recently I got my hands on some ARM boards which are flashed for CE but
> should also in principle be able to run Linux.
>
>  Now these CE boards boot in a very PC-like fashion, so I presume they have
> something similar to a PC BIOS in Flash. If it were possible to load a
> variant of OpenBIOS as an intermediate loader then it should be possible to
> use that to load Linux, this approach would also be valuable for engineering
> purposes on both PCs and other systems which did not have OpenBIOS in Flash.

With some work, it should be possible. Especially the Sun version has
been on my TODO (Real machine test with special entry.S).

There is no ARM support though unless you want to do it. I also have
an ARM machine, so at least I could try to compile.

--
OpenBIOS                 http://openbios.org/
Mailinglist:  http://lists.openbios.org/mailman/listinfo
Free your System - May the Forth be with you

Paul Brook | 2 Nov 13:46 2008

Re: OpenBIOS as an intermediate loader

> There is no ARM support though unless you want to do it. I also have
> an ARM machine, so at least I could try to compile.

In practice almost no ARM machines use OpenFirmware, and ARM kernels have 
their own bootloader interface, so you're better off using something like 
u-boot.

Paul

--
OpenBIOS                 http://openbios.org/
Mailinglist:  http://lists.openbios.org/mailman/listinfo
Free your System - May the Forth be with you

Mark Morgan Lloyd | 2 Nov 18:19 2008
Picon

Re: OpenBIOS as an intermediate loader

Paul Brook wrote:
>> There is no ARM support though unless you want to do it. I also have
>> an ARM machine, so at least I could try to compile.
> 
> In practice almost no ARM machines use OpenFirmware, and ARM kernels have 
> their own bootloader interface, so you're better off using something like 
> u-boot.

Thanks Paul. On the other hand installing something like u-boot assumes 
that you know quite a lot about the underlying architecture of the 
board, but if the manufacturer isn't being helpful working out the 
details can be made vastly easier by having interactive tools.

In the current case I've got some boards 
http://www.tri-m.com/products/iei/kamio27012702.html which I'm hoping to 
get into silent Linux servers, they've got CE and eyeballing the 
bootable media (on Compact Flash) suggests that they are very PC-like... 
although I've not done significant reverse-engineering yet. The same 
boards are available with different firmware and with Linux on the CF 
device for about ?170 which we might possibly consider as a way of 
getting the binaries, but they want something like ?500 for the Linux 
toolset and system documentation which they quite simply aren't going to 
get from us.

So despite the fact that these are ARM I can see control going to a 
PC-style MBR, then to the boot sector at the start of a FAT filesystem, 
then to a loader for CE in an understood binary format. Now there's no 
way I can commit myself to any timescale, but if I were able to massage 
OpenBIOS into the same binary format then it might be that it would be 
applicable to other CE devices in addition to these boards which would 
(Continue reading)

svn | 2 Nov 20:25 2008

r244 - openbios-devel/arch/sparc32

Author: blueswirl
Date: 2008-11-02 20:25:05 +0100 (Sun, 02 Nov 2008)
New Revision: 244

Modified:
   openbios-devel/arch/sparc32/boot.c
   openbios-devel/arch/sparc32/boot.h
   openbios-devel/arch/sparc32/romvec.c
Log:
Fix OpenBSD >4.2 crash when printing out bootpath

Modified: openbios-devel/arch/sparc32/boot.c
===================================================================
--- openbios-devel/arch/sparc32/boot.c	2008-09-29 17:20:02 UTC (rev 243)
+++ openbios-devel/arch/sparc32/boot.c	2008-11-02 19:25:05 UTC (rev 244)
 <at>  <at>  -41,12 +41,12  <at>  <at> 
                     oldpath = "fd()";
                     break;
                 case 'c':
-                    path = strdup("disk");
+                    path = strdup("disk:d");
                     oldpath = "sd(0,0,0):d";
                     break;
                 default:
                 case 'd':
-                    path = strdup("cdrom");
+                    path = strdup("cdrom:b");
                     // FIXME: hardcoding this looks almost definitely wrong.
                     // With sd(0,2,0):b we get to see the solaris kernel though
                     //oldpath = "sd(0,2,0):d";
(Continue reading)

Mark Morgan Lloyd | 3 Nov 20:07 2008
Picon

Re: OpenBIOS as an intermediate loader

My apologies- this might come up as a double posting, there was a bit of 
confusion while I was setting up a permanent gateway for the list.

OK, I've got OpenBIOS built on an x86 system but it's also running other 
things at the moment so it's going to be a few hours before I can make 
more progress. In the interim I wonder if I could ask some more questions.

i)    I can only boot the test system reliably from LILO (as distinct 
from GRUB) which doesn't have the equivalent of GRUB's "module" command. 
Is there a way of "piggybacking" openbios-x86.dict onto 
openbios.multiboot, or are there steps I can apply to 
openbios-builtin.elf to make it bootable?

ii)    Since in this role I'm not storing the dictionary in Flash 
presumably any changes imply a complete rebuild. Does this also apply to 
the setenv/printenv settings, or can they- for example- be stored in a 
file? I guess a variant of this question applies if booting from CD.

iii)    While I'm enthusiastic and have a small amount of experience of 
OpenPROM on Sun systems my Forth is extremely rusty. Where can I find 
more documentation on OpenBIOS facilities (as distinct from a Forth 
primer of which there are plenty around)?

Many years ago there was a debugger called Quaid Analyzer which could 
boot from floppy and set traps on BIOS entry points. I'm looking forward 
to finding out how much comparable functionality I can get out of OpenBIOS.

Blue Swirl | 3 Nov 20:20 2008
Picon

Re: OpenBIOS as an intermediate loader

On 11/3/08, Mark Morgan Lloyd <markMLl.openbios@...> wrote:
> My apologies- this might come up as a double posting, there was a bit of
> confusion while I was setting up a permanent gateway for the list.
>
>  OK, I've got OpenBIOS built on an x86 system but it's also running other
> things at the moment so it's going to be a few hours before I can make more
> progress. In the interim I wonder if I could ask some more questions.

You could also try to run Qemu to emulate an x86 system.

>  i)    I can only boot the test system reliably from LILO (as distinct from
> GRUB) which doesn't have the equivalent of GRUB's "module" command. Is there
> a way of "piggybacking" openbios-x86.dict onto openbios.multiboot, or are
> there steps I can apply to openbios-builtin.elf to make it bootable?
>
>  ii)    Since in this role I'm not storing the dictionary in Flash
> presumably any changes imply a complete rebuild. Does this also apply to the
> setenv/printenv settings, or can they- for example- be stored in a file? I
> guess a variant of this question applies if booting from CD.

The dictionary is not used store the settings, but maybe Flash could be used.

>  iii)    While I'm enthusiastic and have a small amount of experience of
> OpenPROM on Sun systems my Forth is extremely rusty. Where can I find more
> documentation on OpenBIOS facilities (as distinct from a Forth primer of
> which there are plenty around)?

How about links on this page:
http://www.openfirmware.info/IEEE_1275-1994

(Continue reading)

Aurelien Jarno | 3 Nov 22:53 2008
Picon

Unable to compile sparc32 version of openbios with gcc 4.x

Hi,

I am unable to compile openbios for sparc32 (on a sparc64 host) using
gcc 4.x (tested with 4.0, 4.2 and 4.3), it looks like it does not like
the TI mode and the __uint128_t type:

| libgcc/libgcc.h:14: error: unable to emulate ‘TI’
| libgcc/libgcc.h:18: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’
before ‘__udivmodti4’
| libgcc/libgcc.h:22: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’
before ‘__divti3’
| libgcc/libgcc.h:23: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’
before ‘__udivti3’
| libgcc/libgcc.h:26: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’
before ‘__umodti3’

Anyone as an idea of a fix?

Thanks,
Aurelien

--

-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32 <at> debian.org         | aurelien <at> aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net

--
OpenBIOS                 http://openbios.org/
Mailinglist:  http://lists.openbios.org/mailman/listinfo
(Continue reading)

Michael | 4 Nov 01:47 2008
Picon

hp dv2500t possible?

Has anyone put openBIOS on a laptop? I've got an HP dv2500t with a
pheonix BIOS as of yet. If its any help, I have a Santa Rosa platform
motherboard.

-Mike

--
OpenBIOS                 http://openbios.org/
Mailinglist:  http://lists.openbios.org/mailman/listinfo
Free your System - May the Forth be with you

Mark Morgan Lloyd | 3 Nov 19:52 2008
Picon

Re: OpenBIOS as an intermediate loader

OK, I've got OpenBIOS built on an x86 system but it's also running other 
things at the moment so it's going to be a few hours before I can make 
more progress. In the interim I wonder if I could ask some more questions.

i)	I can only boot the test system reliably from LILO (as distinct from 
GRUB) which doesn't have the equivalent of GRUB's "module" command. Is 
there a way of "piggybacking" openbios-x86.dict onto openbios.multiboot, 
or are there steps I can apply to openbios-builtin.elf to make it bootable?

ii)	Since in this role I'm not storing the dictionary in Flash 
presumably any changes imply a complete rebuild. Does this also apply to 
the setenv/printenv settings, or can they- for example- be stored in a 
file? I guess a variant of this question applies if booting from CD.

iii)	While I'm enthusiastic and have a small amount of experience of 
OpenPROM on Sun systems my Forth is extremely rusty. Where can I find 
more documentation on OpenBIOS facilities (as distinct from a Forth 
primer of which there are plenty around)?

Many years ago there was a debugger called Quaid Analyzer which could 
boot from floppy and set traps on BIOS entry points. I'm looking forward 
to finding out how much comparable functionality I can get out of OpenBIOS.


Gmane