mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* I want to use Barebox
@ 2012-04-13 15:37 ANDY KENNEDY
  2012-04-13 20:23 ` Sascha Hauer
  0 siblings, 1 reply; 6+ messages in thread
From: ANDY KENNEDY @ 2012-04-13 15:37 UTC (permalink / raw)
  To: barebox

I first saw Barebox about a year ago, did a little poking around and
realized that this seems like the way to go for booting an embedded
system.  I am, however, meeting opposition to implementing Barebox in
our current system.  I need some help on questions I cannot answer.  If
you could, please take the time to answer the following few issues.

1)  I have a concern that barebox is not mainstream enough yet.

2)  I have a feeling we will always be porting everyone's bsp (that
    already has a working u-boot) to barebox.

3)  I also don't really see the real advantage over standard u-boot
    (what's the 'killer' application?).


From my point of view, the answer to 3 is clear:  It uses the Linux
kernel as part of the boot, it can house an initrd so that extending
the utilities of the bootloader will be easier to handle, etc.  If this
is in error, please correct me.

As for 1 & 2, these I just don't know about.  I'm guessing that anything
supported in either the Linux kernel or already in u-boot should be
fairly easy to port into Barebox.  Here, however, I have to define for
Mgt clearly what does "fairly" mean.

Thanks in advance for any help you can provide.

Andy

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: I want to use Barebox
  2012-04-13 15:37 I want to use Barebox ANDY KENNEDY
@ 2012-04-13 20:23 ` Sascha Hauer
  2012-04-13 20:38   ` ANDY KENNEDY
  2012-04-14  4:28   ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 2 replies; 6+ messages in thread
From: Sascha Hauer @ 2012-04-13 20:23 UTC (permalink / raw)
  To: ANDY KENNEDY; +Cc: barebox

On Fri, Apr 13, 2012 at 03:37:04PM +0000, ANDY KENNEDY wrote:
> I first saw Barebox about a year ago, did a little poking around and
> realized that this seems like the way to go for booting an embedded
> system.  I am, however, meeting opposition to implementing Barebox in
> our current system.  I need some help on questions I cannot answer.  If
> you could, please take the time to answer the following few issues.
> 
> 1)  I have a concern that barebox is not mainstream enough yet.

Well by using it you could make it a bit more mainstream ;)

> 
> 2)  I have a feeling we will always be porting everyone's bsp (that
>     already has a working u-boot) to barebox.

I'd say that usually barebox better abstracts from the hardware, so
different boards usually feel much more the same. With U-Boot the usage
often differs across different boards. Having a common environment
becomes a real advantage when you have many different boards.

> 3)  I also don't really see the real advantage over standard u-boot
>     (what's the 'killer' application?).

For me the basic killing feature is that barebox has filesystem support
which means that you can mount filesystems and only have one
'ls' (cp, rm,..) command to access all files and devices. U-Boot instead
has a set of these commands for each filesystem and device:

  fatload <interface> <dev[:part]>  <addr> <filename> [bytes]
  nand read - addr off|partition size
  mmc read addr blk# cnt
  eeprom read  devaddr addr off cnt

All these commands have a different syntax and are non obvious to use.
Also note that the target of all the commands above is a chunk of plain
SDRAM. This means that in case of a system update you always have to
copy the update image first from the device to SDRAM and then from SDRAM
to the target device. To do this you have to know where SDRAM is (varies
across different boards) and also the size of the update image is
limited by the amount of free SDRAM you have. With barebox all this goes
down to for example cp /mnt/usb0-fat/rootimage /dev/nor0.root.

There are other things aswell:

- barebox has a sane configuration system (U-Boot is configured using
  several thousand CFG_* defines)
- barebox can always start itself as a second stage loader (with U-Boot
  you have to compile a special ramboot image which then again can't
  start first stage)
- barebox can start zImages, raw Linux images, uImages, all using the
  same command (U-Boot is limited to uImages)
- barebox has command line options, U-Boot only supports positional
  arguments
- barebox has a driver model which means that you can register devices
  which automatically find the correct driver.
- you can put your environment into files as opposed to 'executable
  environment variables' in U-Boot

> 
> 
> From my point of view, the answer to 3 is clear:  It uses the Linux
> kernel as part of the boot, it can house an initrd so that extending
> the utilities of the bootloader will be easier to handle, etc.  If this
> is in error, please correct me.
> 
> As for 1 & 2, these I just don't know about.  I'm guessing that anything
> supported in either the Linux kernel or already in u-boot should be
> fairly easy to port into Barebox.  Here, however, I have to define for
> Mgt clearly what does "fairly" mean.

You're right, U-Boot drivers are usually simple to port over to barebox.
Many subsystems like mmc, network and USB are derived from U-Boot,
others like gpio or mtd are from the kernel. Porting these over usually
means some refactoring. For example U-Boot has no device/driver model,
so you would have to add registration and probe functions. The
complicated thing about drivers (at least in the bootloader world) is
getting the hardware accesses right, and these can be copied from the
original driver.

I hope this helps with your decision

 Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: I want to use Barebox
  2012-04-13 20:23 ` Sascha Hauer
@ 2012-04-13 20:38   ` ANDY KENNEDY
  2012-04-13 21:12     ` Eric Bénard
  2012-04-14  4:28   ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 1 reply; 6+ messages in thread
From: ANDY KENNEDY @ 2012-04-13 20:38 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: barebox

> > 1)  I have a concern that barebox is not mainstream enough yet.
> 
> Well by using it you could make it a bit more mainstream ;)

Hmmm.  That will be an UP HILL battle for me, I'm sure.  Are there any
stats on how many folks / who all uses Barebox currently?


> others like gpio or mtd are from the kernel. Porting these over usually
> means some refactoring. For example U-Boot has no device/driver model,
> so you would have to add registration and probe functions. The
> complicated thing about drivers (at least in the bootloader world) is
> getting the hardware accesses right, and these can be copied from the
> original driver.
> 

Confused.  So, you are saying that going from U-Boot to Barebox is
not trivial (being the driver model is different), but these BSPs
often times have drivers in the Linux kernel.  Granted, these are
arch drivers and thus are probably not easily ripped out of the Linux
kernel (most platform specific drivers I've seen are so intermingled
with other Kernel calls it would be difficult to detach that).  Would
it be less painful to port from the arch directory in the kernel than
from U-Boot?

> I hope this helps with your decision

This does not sway me more to using Barebox, that is impossible ;).
Perhaps it will give me fodder for convincing others.

> 
>  Sascha

Thanks for your reply.  It was most useful.
Andy

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: I want to use Barebox
  2012-04-13 20:38   ` ANDY KENNEDY
@ 2012-04-13 21:12     ` Eric Bénard
  2012-04-14  4:18       ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 1 reply; 6+ messages in thread
From: Eric Bénard @ 2012-04-13 21:12 UTC (permalink / raw)
  To: ANDY KENNEDY; +Cc: barebox

Hi Andy,

Le Fri, 13 Apr 2012 20:38:12 +0000,
ANDY KENNEDY <ANDY.KENNEDY@adtran.com> a écrit :

> > > 1)  I have a concern that barebox is not mainstream enough yet.
> > 
> > Well by using it you could make it a bit more mainstream ;)
> 
> Hmmm.  That will be an UP HILL battle for me, I'm sure.  Are there any
> stats on how many folks / who all uses Barebox currently?
> 
we are using it on all our i.MX based SOM (i.MX25/35/51/53), and have
been using it in several custom product developped (mainly i.MX & AT91
based, some of them being in production) for customers (in one product
the bootloader is even still named u-boot-v2 as the code for i.MX27 was
already in a very good shape at that time ;-)

In the past, RedBoot was often available in official BSPs and at that
time some people had the same hesitation to use the community u-boot
instead of the manufacturer's RedBoot ... and after a few years u-boot
became the de facto standard bootloader for many official BSP.

Moreover, some manufacturer's BSP can be quite hard to adapt to a
custom hardware which is not the exact copy of the evaluation board,
but of course, for a manager, using an official BSP gives a feeling of
security and seems to be the obvious choice (even if the official BSP is
not maintained once it's available and not really validated outside the
case of one evaluation board) ...

Eric

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: I want to use Barebox
  2012-04-13 21:12     ` Eric Bénard
@ 2012-04-14  4:18       ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 6+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-04-14  4:18 UTC (permalink / raw)
  To: Eric Bénard; +Cc: barebox

On 23:12 Fri 13 Apr     , Eric Bénard wrote:
> Hi Andy,
> 
> Le Fri, 13 Apr 2012 20:38:12 +0000,
> ANDY KENNEDY <ANDY.KENNEDY@adtran.com> a écrit :
> 
> > > > 1)  I have a concern that barebox is not mainstream enough yet.
> > > 
> > > Well by using it you could make it a bit more mainstream ;)
> > 
> > Hmmm.  That will be an UP HILL battle for me, I'm sure.  Are there any
> > stats on how many folks / who all uses Barebox currently?
> > 
> we are using it on all our i.MX based SOM (i.MX25/35/51/53), and have
> been using it in several custom product developped (mainly i.MX & AT91
> based, some of them being in production) for customers (in one product
> the bootloader is even still named u-boot-v2 as the code for i.MX27 was
> already in a very good shape at that time ;-)
> 
> In the past, RedBoot was often available in official BSPs and at that
> time some people had the same hesitation to use the community u-boot
> instead of the manufacturer's RedBoot ... and after a few years u-boot
> became the de facto standard bootloader for many official BSP.
> 
> Moreover, some manufacturer's BSP can be quite hard to adapt to a
> custom hardware which is not the exact copy of the evaluation board,
> but of course, for a manager, using an official BSP gives a feeling of
> security and seems to be the obvious choice (even if the official BSP is
> not maintained once it's available and not really validated outside the
> case of one evaluation board) ...
I agree with Sasha and Eric

I've sevral customer using barebox in productoin on AT91, IMX, OMAP and SH
and asking to do not use U-Boot anymore.

and yes we port or re-write the bsp of the vendor in Barebox but you do it
once. After you just have to add board which is really more esaly and less
time consuming.

Some vendor start now to take a look on barebox to propose both BSP U-Boot and
Barebox.

I personnaly maintain U-Boot ARM for few years and switch to barebox as to
have the feature and code quality I need it was too much time consuming.

Best Regards,
J.

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: I want to use Barebox
  2012-04-13 20:23 ` Sascha Hauer
  2012-04-13 20:38   ` ANDY KENNEDY
@ 2012-04-14  4:28   ` Jean-Christophe PLAGNIOL-VILLARD
  1 sibling, 0 replies; 6+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2012-04-14  4:28 UTC (permalink / raw)
  To: Sascha Hauer; +Cc: barebox

On 22:23 Fri 13 Apr     , Sascha Hauer wrote:
> On Fri, Apr 13, 2012 at 03:37:04PM +0000, ANDY KENNEDY wrote:
> > I first saw Barebox about a year ago, did a little poking around and
> > realized that this seems like the way to go for booting an embedded
> > system.  I am, however, meeting opposition to implementing Barebox in
> > our current system.  I need some help on questions I cannot answer.  If
> > you could, please take the time to answer the following few issues.
> > 
> > 1)  I have a concern that barebox is not mainstream enough yet.
> 
> Well by using it you could make it a bit more mainstream ;)
> 
> > 
> > 2)  I have a feeling we will always be porting everyone's bsp (that
> >     already has a working u-boot) to barebox.
> 
> I'd say that usually barebox better abstracts from the hardware, so
> different boards usually feel much more the same. With U-Boot the usage
> often differs across different boards. Having a common environment
> becomes a real advantage when you have many different boards.
> 
> > 3)  I also don't really see the real advantage over standard u-boot
> >     (what's the 'killer' application?).
> 
> For me the basic killing feature is that barebox has filesystem support
> which means that you can mount filesystems and only have one
> 'ls' (cp, rm,..) command to access all files and devices. U-Boot instead
> has a set of these commands for each filesystem and device:
> 
>   fatload <interface> <dev[:part]>  <addr> <filename> [bytes]
>   nand read - addr off|partition size
>   mmc read addr blk# cnt
>   eeprom read  devaddr addr off cnt
> 
> All these commands have a different syntax and are non obvious to use.
> Also note that the target of all the commands above is a chunk of plain
> SDRAM. This means that in case of a system update you always have to
> copy the update image first from the device to SDRAM and then from SDRAM
> to the target device. To do this you have to know where SDRAM is (varies
> across different boards) and also the size of the update image is
> limited by the amount of free SDRAM you have. With barebox all this goes
> down to for example cp /mnt/usb0-fat/rootimage /dev/nor0.root.
> 
> There are other things aswell:
> 
> - barebox has a sane configuration system (U-Boot is configured using
>   several thousand CFG_* defines)
> - barebox can always start itself as a second stage loader (with U-Boot
>   you have to compile a special ramboot image which then again can't
>   start first stage)
> - barebox can start zImages, raw Linux images, uImages, all using the
>   same command (U-Boot is limited to uImages)
you forget Android Image
> - barebox has command line options, U-Boot only supports positional
>   arguments
> - barebox has a driver model which means that you can register devices
>   which automatically find the correct driver.
> - you can put your environment into files as opposed to 'executable
>   environment variables' in U-Boot
we have full feature bootp support with a dhcp client supporting
vondor id
client id
client uuid
user class

and very esay to extend

we have menu support that you can write in c or shell

we have shell support with shell script (file)
U-Boot use var to store the shell which is quite hard to customised
and make it nearly imposssible to foactorize.

On barebox we have a defaultenv that you just need to cusmoize in your board
without having to touch it. (this simplify to adding of platform quite a lot).

We have DFU support, srial of USB device that you can select at the runtime
(take a look on the Atmel reference baord or the Calao)

We have pull support that allow you to have recurent task evenif we do not
support IRQ (impossible in u-boot)

And if you need modules support to extend barebox feature at the run time

And framebufer support (derived from the kernel)

I'm sure I forget some feature but barebox is design to easly share the code
with the kernel and to simplify the life of the developper and the end
customer

And I implement complex boot sequence easly in barebox where in U-Boot evenif
I known perfecly I get hard time.

Best Regards,
J.

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-04-14  4:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-13 15:37 I want to use Barebox ANDY KENNEDY
2012-04-13 20:23 ` Sascha Hauer
2012-04-13 20:38   ` ANDY KENNEDY
2012-04-13 21:12     ` Eric Bénard
2012-04-14  4:18       ` Jean-Christophe PLAGNIOL-VILLARD
2012-04-14  4:28   ` Jean-Christophe PLAGNIOL-VILLARD

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox