Has anyone else here worked with BLOB?
http://sourceforge.net/projects/blob
Blob is a boot loader for SA11x0 (StrongARM) platforms and is just starting to support PXA and Xscale processors. Blob is able to boot a Linux kernel stored in flash or RAM and provide that kernel with a ramdisk (again from flash or RAM). The current BLOB binary is only about 7.2KB and the complete source tree is around 750KB.
BLOB is mostly written in C with some Assembly much like LinuxBIOS.
We're considering merging all the work with Etherboot and LinuxBIOS with BLOB somehow to get LinuxBIOS and Etherboot working with ARM and Xscale processors. It would be nice to be able to share all of this between platforms.
Application areas would include:
LART (PXA) Ipaq (PXA) SA11x0 PXA2x0 802xx IOP3xx ICXxxxx IXPxxxx
as well as several other PDA, embedded and network infrastructure devices since Xscale is now used heavily for network processors and the current ARM and Xscale bootloader, config/init tools like Angel and the Intel Telematics bootloader are not exactly wonderful.
Bari
I like the idea of pulling the blob code into linuxbios, then we get a standard.
Is there a recommended xscale development card?
ron
Ronald G Minnich wrote:
I like the idea of pulling the blob code into linuxbios, then we get a standard.
Is there a recommended xscale development card?
The LART project http://www.lart.tudelft.nl/ is an open hardware platform based on the old SA1100. I believe they are working on a new SA-1110 and PXA-250 design.
Aleph One http://www.aleph1.co.uk/armlinux/LART/index.html may still have some LART's in stock.
For PXA Intel has a dev board http://developer.intel.com/design/pca/applicationsprocessors/tools_software/...
For Xscale Intel has the IXCDP1100 dev board http://developer.intel.com/design/network/products/cpp/ixcdp1100.htm
For the IXP1200 they have the IXDP1200 platform http://developer.intel.com/design/network/products/npfamily/ixdp1200.htm
For the IXP2400 and IXP2800 http://developer.intel.com/design/network/products/npfamily/ixdp2x00.htm
For the IOP321 http://www.intel.com/design/iio/docs/iop321.htm
the PXA-250 is very popular for handheld and PDA designs, they have just added MMX instructions to the PXA so it will be a hot platform for handheld gaming, Mpeg-4, MP3 devices. The IXP processors are used for networking applications and the IOP for storage applications.
The new iPAQ 3900 also makes for a budget 400MHz PXA250 dev platform. http://www.handhelds.org has quite a bit of software and How-To's on firmware conversions and updates for handhelds.
Bari
Just for the record, i have worked extensively with blob. Especially during the StrongARM port of linux.
The IPAQ 36xx, 37xx, 38xx handhelds are based off the Intel Assabet/Neponset Development platform. The assabet is a StrongARM 1110 chip, and the neponset a 1111 chip.
I currently own one of these, and i have to say its a nice setup. After i got my IPAQ 3870, i put the Assabet/Neponset hardware asside.
BLOB is a great little bootloader. It has definitely come a long way in the past year. The one thing that i disliked about it was the mechanics for updating flash. But i am sure they have worked that out by now.
-N
Ronald G Minnich wrote:
I like the idea of pulling the blob code into linuxbios, then we get a standard.
Is there a recommended xscale development card?
The LART project http://www.lart.tudelft.nl/ is an open hardware platform based on the old SA1100. I believe they are working on a new SA-1110 and PXA-250 design.
Aleph One http://www.aleph1.co.uk/armlinux/LART/index.html may still have some LART's in stock.
For PXA Intel has a dev board
http://developer.intel.com/design/pca/applicationsprocessors/tools_software/ dbpxa250.htm
For Xscale Intel has the IXCDP1100 dev board http://developer.intel.com/design/network/products/cpp/ixcdp1100.htm
For the IXP1200 they have the IXDP1200 platform http://developer.intel.com/design/network/products/npfamily/ixdp1200.htm
For the IXP2400 and IXP2800 http://developer.intel.com/design/network/products/npfamily/ixdp2x00.htm
For the IOP321 http://www.intel.com/design/iio/docs/iop321.htm
the PXA-250 is very popular for handheld and PDA designs, they have just added MMX instructions to the PXA so it will be a hot platform for handheld gaming, Mpeg-4, MP3 devices. The IXP processors are used for networking applications and the IOP for storage applications.
The new iPAQ 3900 also makes for a budget 400MHz PXA250 dev platform. http://www.handhelds.org has quite a bit of software and How-To's on firmware conversions and updates for handhelds.
Bari
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
On Thu, 2002-09-26 at 13:13, Nicholas Mistry wrote:
Just for the record, i have worked extensively with blob. Especially during the StrongARM port of linux.
The IPAQ 36xx, 37xx, 38xx handhelds are based off the Intel Assabet/Neponset Development platform. The assabet is a StrongARM 1110 chip, and the neponset a 1111 chip.
I currently own one of these, and i have to say its a nice setup. After i got my IPAQ 3870, i put the Assabet/Neponset hardware asside.
BLOB is a great little bootloader. It has definitely come a long way in the past year. The one thing that i disliked about it was the mechanics for updating flash. But i am sure they have worked that out by now.
Do you know if Blob can load uClinux ?? I found that most of the ARM bootloaders only support ARM-Linux. (Am I wrong ??)
Ollie
ollie lho wrote:
Do you know if Blob can load uClinux ?? I found that most of the ARM bootloaders only support ARM-Linux. (Am I wrong ??)
Blob is written to be OS independent, but I don't believe anyone has had it working with uClinux yet. Lineo has had it working on thier version of linux along with network boot.
Just today someone posted that they "just finished (or so I think) porting blob to a Big Red Hen board (XScale 80200 based)".
Bari
On Thu, 2002-09-26 at 14:30, Bari Ari wrote:
ollie lho wrote:
Do you know if Blob can load uClinux ?? I found that most of the ARM bootloaders only support ARM-Linux. (Am I wrong ??)
Blob is written to be OS independent, but I don't believe anyone has had it working with uClinux yet. Lineo has had it working on thier version of linux along with network boot.
Bari, Do you know if there is any OSS bootloader for uClinux on ARM ?? Ollie
ollie lho wrote:
Bari, Do you know if there is any OSS bootloader for uClinux on ARM ?? Ollie
I haven't tried this but take a look at: http://kabel.home.at:5880/cgi-bin/viewcvs.cgi/arm-boot/
Bari
On Thu, 2002-09-26 at 14:43, Bari Ari wrote:
ollie lho wrote:
Bari, Do you know if there is any OSS bootloader for uClinux on ARM ?? Ollie
I haven't tried this but take a look at: http://kabel.home.at:5880/cgi-bin/viewcvs.cgi/arm-boot/
I looks too primitive, I really doubt it does the job. Isn't only a JTAG emulator ??
Ollie
On Thu, 2002-09-26 at 01:44, Bari Ari wrote:
Has anyone else here worked with BLOB?
http://sourceforge.net/projects/blob
Blob is a boot loader for SA11x0 (StrongARM) platforms and is just starting to support PXA and Xscale processors. Blob is able to boot a Linux kernel stored in flash or RAM and provide that kernel with a ramdisk (again from flash or RAM). The current BLOB binary is only about 7.2KB and the complete source tree is around 750KB.
I am also surveying bootloader for ARM architecture for some internal development project. I have looked at many ARM bootloaders recently.
BLOB is mostly written in C with some Assembly much like LinuxBIOS.
We're considering merging all the work with Etherboot and LinuxBIOS with BLOB somehow to get LinuxBIOS and Etherboot working with ARM and Xscale processors. It would be nice to be able to share all of this between platforms.
Did you tried the ARMboot and PPCboot ?? These bootloaders have network boot built-in now. I also think they have better source directory structures.
Ollie
ollie lho wrote:
Did you tried the ARMboot and PPCboot ?? These bootloaders have network boot built-in now. I also think they have better source directory structures.
ARMboot http://sourceforge.net/projects/armboot and http://armboot.sourceforge.net/ may be a better fit since the structure is similar to the PPCboot http://ppcboot.sourceforge.net/ project.
This would help to standardize LinuxBIOS for three different platforms.
All you'd need next is a MIPSboot and SHboot project and everything would be just about covered :-)
Bari
On Thu, 2002-09-26 at 08:51, Bari Ari wrote:
ollie lho wrote:
Did you tried the ARMboot and PPCboot ?? These bootloaders have network boot built-in now. I also think they have better source directory structures.
ARMboot http://sourceforge.net/projects/armboot and http://armboot.sourceforge.net/ may be a better fit since the structure is similar to the PPCboot http://ppcboot.sourceforge.net/ project.
This would help to standardize LinuxBIOS for three different platforms.
All you'd need next is a MIPSboot and SHboot project and everything would be just about covered :-)
We should start a project call OmniBoot (not OmniBook^TM) which can boot any architecture.
Ollie
ollie lho wrote:
We should start a project call OmniBoot (not OmniBook^TM) which can boot any architecture.
If the source could be shared it would certainly make sense, instead of all this reinventing of the wheel.
Bari
On Thu, 2002-09-26 at 09:13, Bari Ari wrote:
ollie lho wrote:
We should start a project call OmniBoot (not OmniBook^TM) which can boot any architecture.
If the source could be shared it would certainly make sense, instead of all this reinventing of the wheel.
Well, I do think there will be a lot of code sharing. As predicted by Ron, those bootloaders are getting more like OS kernel by itself. With careful architecting, we can have a portable bootloader.
Ollie
ollie lho ollie@sis.com.tw writes:
On Thu, 2002-09-26 at 09:13, Bari Ari wrote:
ollie lho wrote:
We should start a project call OmniBoot (not OmniBook^TM) which can boot any architecture.
If the source could be shared it would certainly make sense, instead of all this reinventing of the wheel.
Well, I do think there will be a lot of code sharing. As predicted by Ron, those bootloaders are getting more like OS kernel by itself. With careful architecting, we can have a portable bootloader.
API wise etherboot is now portable. And people from other architectures have been picking off it's drivers for a while. And the ELF file format is portable across architectures.
Where Ron missed in his prediction is the size differences between a regular OS and a bootloader. 16KB vs. 600KB is huge.
There still remains a place for multiple bootloaders even if we start getting cross platform bootloaders. Too many people want significantly different semantics.
A challenge with some of the embedded stuff is that a number of the embedded architectures are much easier to boot than pc. So it isn't a problem to merge the system setup code and the bootloader. Blob, ppcboot, and armboot all seem to share that property.
I do not believe they you can easily swap out ram, or have an interesting pci bus on most of embedded bootloaders I have seen. And while you can do it I don't think putting motherboard information into a generic kernel is the right thing to do either.
Eric
On 25 Sep 2002, Eric W Biederman wrote:
Where Ron missed in his prediction is the size differences between a regular OS and a bootloader. 16KB vs. 600KB is huge.
we'll see. I am very impressed with what you've been able to accomplish with Etherboot. It's a great piece of software. I use it on a bunch of machines here at LANL. And yet, having used Etherboot in flash and Linux in flash, I still want my BIOS to be linux. I'm very unreasonable that way. :-)
ron
On Thu, 2002-09-26 at 09:13, Bari Ari wrote:
ollie lho wrote:
We should start a project call OmniBoot (not OmniBook^TM) which can boot any architecture.
If the source could be shared it would certainly make sense, instead of all this reinventing of the wheel.
A quick google search shows that OmniBoot has not been used by anyone else (except typo of OmniBook). I should apply a TM and DNS before it is too late ;-).
Ollie