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.
On 11/2/08, Mark Morgan Lloyd markMLl.openbios@telemetry.co.uk 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.
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
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 probably be a Good Thing.
I'm going to start off tinkering on an aging x86. This itself might turn out to be "fun" since I've already found that GRUB does something to the system that screws the kernel- LILO is fine but if possible I'd like to bypass both.
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.
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.
On 11/3/08, Mark Morgan Lloyd markMLl.openbios@telemetry.co.uk 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
OpenBIOS does not implement everything in the standard yet.
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.
I think ADLO (http://www.coreboot.org/ADLO) does something similar.
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