All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] Mainlining android fastboot support to upstream u-boot
@ 2011-04-20 16:15 John Rigby
  2011-04-21 23:08 ` Wolfgang Denk
  0 siblings, 1 reply; 10+ messages in thread
From: John Rigby @ 2011-04-20 16:15 UTC (permalink / raw)
  To: u-boot

On Tue, Apr 19, 2011 at 12:33 PM, Wolfgang Denk <wd@denx.de> wrote:
> Dear Jim Huang,
>
> In message <BANLkTi=yNnA9nBxWNG_1mfwfd6G_O09GOA@mail.gmail.com> you wrote:
>>
>> My idea is that we require abstract 'bootloader' component in Android
>> device/linaro/common, and (patched) 'u-boot' would be the provider of
>> 'bootloader' component in
>> device/linaro/Linaro-Evaluation-Build-Hardware. ?Also, supporting
>
> If you are discussing requirements for U-Boot, and plan to get these
> merged in to mainlineU-Boot one day, it would probably be a good idea
> to discuss these plans on the U-Boot mailing list as well - ideally
> before any design is cast in iron.
>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH, ? ? MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> The management question ... is not _whether_ to build a pilot ?system
> and ?throw ?it away. You _will_ do that. The only question is whether
> to plan in advance to build a throwaway, or to promise to deliver the
> throwaway to customers. ? ? ? - Fred Brooks, "The Mythical Man Month"
>
> _______________________________________________
> linaro-dev mailing list
> linaro-dev at lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-dev
>

Wolfgang,

As you can see from this discussion, Linaro is considering applying
resources (probably me) to upstreaming Android Fastboot features into
mainline u-boot.  What suggestions do you have for making this process
as painless as possible?

The topic came up briefly here last year:
http://lists.denx.de/pipermail/u-boot/2010-August/076343.html

An implementation exists for omap4/panda on gitorious:
git://gitorious.org/pandaboard/u-boot.git in the omap4_panda_es2.0
branch.  There is also a version for omap3 somewhere else on
gitorious.

To bring this to mainline one would have to:

1) Bring code up to current mainline revision.
2) Fix any coding standards issues.
3) Document the new features.

What else?  I know one issue maybe why does this need to exist when
other solutions exist.  I think that since Android uses it, it is
somewhat of a de facto standard.

All comments welcome,
John

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

* [U-Boot] Mainlining android fastboot support to upstream u-boot
  2011-04-20 16:15 [U-Boot] Mainlining android fastboot support to upstream u-boot John Rigby
@ 2011-04-21 23:08 ` Wolfgang Denk
  2011-04-22  3:33   ` Zach Pfeffer
  0 siblings, 1 reply; 10+ messages in thread
From: Wolfgang Denk @ 2011-04-21 23:08 UTC (permalink / raw)
  To: u-boot

Dear John Rigby,

In message <BANLkTikMfdknySqnOe6KvGJpdK2bUxtiVQ@mail.gmail.com> you wrote:
>
> > If you are discussing requirements for U-Boot, and plan to get these
> > merged in to mainlineU-Boot one day, it would probably be a good idea
> > to discuss these plans on the U-Boot mailing list as well - ideally
> > before any design is cast in iron.
...

> As you can see from this discussion, Linaro is considering applying
> resources (probably me) to upstreaming Android Fastboot features into
> mainline u-boot.  What suggestions do you have for making this process
> as painless as possible?

I already wrote this above: discuss the _design_ early with the
respective community. Don't define some design and implement it and
then confront the community with your solution which you consider
ready at this point: this is guaranteed to cause frustration, because
you think you are done but we may think the design should be done
differently and ask you to restart from scratch.

> An implementation exists for omap4/panda on gitorious:
> git://gitorious.org/pandaboard/u-boot.git in the omap4_panda_es2.0
> branch.  There is also a version for omap3 somewhere else on
> gitorious.

Ah, cool.  So we already have the situation I warned about above.

> To bring this to mainline one would have to:
> 
> 1) Bring code up to current mainline revision.
> 2) Fix any coding standards issues.
> 3) Document the new features.
> 
> What else?  I know one issue maybe why does this need to exist when
> other solutions exist.  I think that since Android uses it, it is
> somewhat of a de facto standard.
 
Oh. Android uses it. It must be The Right Thing (TM), then, I guess.
Probably like some of the Linux kernel code they use.

This is the killer argument I really like. Thank you very much.

I don't exactly feel motivated to accept just any stuff just because
company A or project B uses it (even if they appear to be really
big), or because already lots of efforts have been spent to implement
something.  On contrary.  Usually an argumentation like that means
that the design or the implementation are poor. Often both are.

It's 14 years or so that ESR formulated the RERO principle of
software development; one could really think this is time enough to
sink in.  Alas, I know I'm an optimist...

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
It's not an optical illusion, it just looks like one.   -- Phil White

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

* [U-Boot] Mainlining android fastboot support to upstream u-boot
  2011-04-21 23:08 ` Wolfgang Denk
@ 2011-04-22  3:33   ` Zach Pfeffer
  2011-04-22  8:59     ` Wolfgang Denk
  0 siblings, 1 reply; 10+ messages in thread
From: Zach Pfeffer @ 2011-04-22  3:33 UTC (permalink / raw)
  To: u-boot

>> What else? ?I know one issue maybe why does this need to exist when
>> other solutions exist. ?I think that since Android uses it, it is
>> somewhat of a de facto standard.
>
> Oh. Android uses it. It must be The Right Thing (TM), then, I guess.
> Probably like some of the Linux kernel code they use.
>
> This is the killer argument I really like. Thank you very much.

So, "Google uses it aside", it seems that being able to boot via USB
is a useful thing and fastboot is a particular solution; I'm not
entirely sure what other USB u-boot extensions exist apart from those
already mentioned. I find u-boot great and think being able to use USB
instead of a serial port would help adoption. Perhaps we can do away
with fastboot if u-boot had USB support?

> I don't exactly feel motivated to accept just any stuff just because
> company A or project B uses it (even if they appear to be really
> big), or because already lots of efforts have been spent to implement
> something. ?On contrary. ?Usually an argumentation like that means
> that the design or the implementation are poor. Often both are.
>
> It's 14 years or so that ESR formulated the RERO principle of
> software development; one could really think this is time enough to
> sink in. ?Alas, I know I'm an optimist...

Of course part of RERO is "listen to your customers." With the end of
native serial port inclusion on most systems and the proliferation of
USB, it seems that something could be done to the benefit of all.
Actually, it would be kind of cool to have some low level USB config
in u-boot.

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

* [U-Boot] Mainlining android fastboot support to upstream u-boot
  2011-04-22  3:33   ` Zach Pfeffer
@ 2011-04-22  8:59     ` Wolfgang Denk
  2011-04-22 15:17       ` Zach Pfeffer
  0 siblings, 1 reply; 10+ messages in thread
From: Wolfgang Denk @ 2011-04-22  8:59 UTC (permalink / raw)
  To: u-boot

Dear Zach Pfeffer,

In message <BANLkTinddBZbb3yaaoiqM-QZLf9GJen9tw@mail.gmail.com> you wrote:
>
> So, "Google uses it aside", it seems that being able to boot via USB
> is a useful thing and fastboot is a particular solution; I'm not
> entirely sure what other USB u-boot extensions exist apart from those

Well, DFU support is a standard solution, and the LF / CELF has just
recently assigned resources to adapt the existingout-of-tree port for
mainline U-boot.

> already mentioned. I find u-boot great and think being able to use USB
> instead of a serial port would help adoption. Perhaps we can do away
> with fastboot if u-boot had USB support?

U-Boot has this.  We have serial console over USB. We even have
netconsole over Ethernet over USB.

OK, not on all boards and architectures, butthe gound has been laid
and there is something to build on.

> Of course part of RERO is "listen to your customers." With the end of
> native serial port inclusion on most systems and the proliferation of
> USB, it seems that something could be done to the benefit of all.
> Actually, it would be kind of cool to have some low level USB config
> in u-boot.

I cannot really follow this argument.  A plain simple USB serial
adapter will do the job as well.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Mistakes are often the stepping stones to utter failure.

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

* [U-Boot] Mainlining android fastboot support to upstream u-boot
  2011-04-22  8:59     ` Wolfgang Denk
@ 2011-04-22 15:17       ` Zach Pfeffer
  2011-04-24  3:14         ` John Rigby
  0 siblings, 1 reply; 10+ messages in thread
From: Zach Pfeffer @ 2011-04-22 15:17 UTC (permalink / raw)
  To: u-boot

>> So, "Google uses it aside", it seems that being able to boot via USB
>> is a useful thing and fastboot is a particular solution; I'm not
>> entirely sure what other USB u-boot extensions exist apart from those
>
> Well, DFU support is a standard solution, and the LF / CELF has just
> recently assigned resources to adapt the existingout-of-tree port for
> mainline U-boot.

Perhaps John and the LF /CELF resource could work together so both DFU
and fastboot would work?

>> already mentioned. I find u-boot great and think being able to use USB
>> instead of a serial port would help adoption. Perhaps we can do away
>> with fastboot if u-boot had USB support?
>
> U-Boot has this. ?We have serial console over USB. We even have
> netconsole over Ethernet over USB.
>
> OK, not on all boards and architectures, butthe gound has been laid
> and there is something to build on.
>
>> Of course part of RERO is "listen to your customers." With the end of
>> native serial port inclusion on most systems and the proliferation of
>> USB, it seems that something could be done to the benefit of all.
>> Actually, it would be kind of cool to have some low level USB config
>> in u-boot.
>
> I cannot really follow this argument. ?A plain simple USB serial
> adapter will do the job as well.

I just meant to say that many customers have fastbootable devices and
development stations without native serial. It is easy to get a
converter, but its even easier to just use a USB cable.

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

* [U-Boot] Mainlining android fastboot support to upstream u-boot
  2011-04-22 15:17       ` Zach Pfeffer
@ 2011-04-24  3:14         ` John Rigby
  2011-04-24 14:25           ` Wolfgang Denk
  0 siblings, 1 reply; 10+ messages in thread
From: John Rigby @ 2011-04-24  3:14 UTC (permalink / raw)
  To: u-boot

On Fri, Apr 22, 2011 at 9:17 AM, Zach Pfeffer <zach.pfeffer@linaro.org> wrote:
>>> So, "Google uses it aside", it seems that being able to boot via USB
>>> is a useful thing and fastboot is a particular solution; I'm not
>>> entirely sure what other USB u-boot extensions exist apart from those
>>
>> Well, DFU support is a standard solution, and the LF / CELF has just
>> recently assigned resources to adapt the existingout-of-tree port for
>> mainline U-boot.
>
> Perhaps John and the LF /CELF resource could work together so both DFU
> and fastboot would work?
So Wolfgang,  let's assume that Fastboot could coexist with and share
code with the DFU implementation.  Would that be more acceptable?  Or
is any effort to get Fastboot into mainline just a waste of time?
What additional info is needed to answer that question?

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

* [U-Boot] Mainlining android fastboot support to upstream u-boot
  2011-04-24  3:14         ` John Rigby
@ 2011-04-24 14:25           ` Wolfgang Denk
  2011-04-25  3:54             ` John Rigby
  2011-04-25  3:57             ` Zach Pfeffer
  0 siblings, 2 replies; 10+ messages in thread
From: Wolfgang Denk @ 2011-04-24 14:25 UTC (permalink / raw)
  To: u-boot

Dear John Rigby,

In message <BANLkTi=um9HTWdpWeee+Y1FZ2w4Y=QMOsA@mail.gmail.com> you wrote:
>
> So Wolfgang,  let's assume that Fastboot could coexist with and share
> code with the DFU implementation.  Would that be more acceptable?  Or

It is always nice if features can share common code, but here this is
actually completely unrelated to the question I raised.

> is any effort to get Fastboot into mainline just a waste of time?

The basic rule is that we accept what is useful for some (even if a
few), unless it hurts others (including maintainers).

> What additional info is needed to answer that question?

I wrote this in my initial posting to the Linaro list, and explicitly
pointed you to it before, see
http://thread.gmane.org/gmane.linux.linaro.devel/3823/focus=3842
and especially
http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/98145/focus=98283

I don't want to talk about code before we have heard anything about
the design.  This may be a trivial thing for you after having used
this for some amount of time, but please consider the mental welfare
of the  persons who never heard about this before, and who will
probably have to maintain the code after you.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The use of Microsoft crippleware systems is a sin that  carries  with
it its own punishment.
         -- Tom Christiansen in <6bo3fr$pj8$5@csnews.cs.colorado.edu>

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

* [U-Boot] Mainlining android fastboot support to upstream u-boot
  2011-04-24 14:25           ` Wolfgang Denk
@ 2011-04-25  3:54             ` John Rigby
  2011-04-25  9:44               ` Wolfgang Denk
  2011-04-25  3:57             ` Zach Pfeffer
  1 sibling, 1 reply; 10+ messages in thread
From: John Rigby @ 2011-04-25  3:54 UTC (permalink / raw)
  To: u-boot

On Sun, Apr 24, 2011 at 8:25 AM, Wolfgang Denk <wd@denx.de> wrote:
> Dear John Rigby,
>
> In message <BANLkTi=um9HTWdpWeee+Y1FZ2w4Y=QMOsA@mail.gmail.com> you wrote:
>>
>> So Wolfgang, ?let's assume that Fastboot could coexist with and share
>> code with the DFU implementation. ?Would that be more acceptable? ?Or
>
> It is always nice if features can share common code, but here this is
> actually completely unrelated to the question I raised.
>
>> is any effort to get Fastboot into mainline just a waste of time?
>
> The basic rule is that we accept what is useful for some (even if a
> few), unless it hurts others (including maintainers).
>
>> What additional info is needed to answer that question?
>
> I wrote this in my initial posting to the Linaro list, and explicitly
> pointed you to it before, see
> http://thread.gmane.org/gmane.linux.linaro.devel/3823/focus=3842
> and especially
> http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/98145/focus=98283
>
> I don't want to talk about code before we have heard anything about
> the design. ?This may be a trivial thing for you after having used
> this for some amount of time, but please consider the mental welfare
> of the ?persons who never heard about this before, and who will
> probably have to maintain the code after you.
Ok, I had already read both of those posts and when I read "design" I
was thinking that Android Fastboot exists and the feature list is
already set as is the wire protocol, so I don't see that we have a lot
of flexibility in those areas.  The only design I see that is up for
definition is how it can be implemented in U-Boot, that was why I
brought up sharing with DFU.

I will follow up in a separate email with summary design docs of what
fastboot is including what the wire protocol is and what services it
needs from the environment it is running in.  Along with this I will
have pointers to more detailed docs.

Does that sound reasonable?

Thanks for your patience,
John

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

* [U-Boot] Mainlining android fastboot support to upstream u-boot
  2011-04-24 14:25           ` Wolfgang Denk
  2011-04-25  3:54             ` John Rigby
@ 2011-04-25  3:57             ` Zach Pfeffer
  1 sibling, 0 replies; 10+ messages in thread
From: Zach Pfeffer @ 2011-04-25  3:57 UTC (permalink / raw)
  To: u-boot

Wolfgang,

Would you be able to join us at UDS
(https://wiki.linaro.org/Events/2011-05-LDS)? We can also set up a
conference line as well.

-Zach

On 24 April 2011 09:25, Wolfgang Denk <wd@denx.de> wrote:
> Dear John Rigby,
>
> In message <BANLkTi=um9HTWdpWeee+Y1FZ2w4Y=QMOsA@mail.gmail.com> you wrote:
>>
>> So Wolfgang, ?let's assume that Fastboot could coexist with and share
>> code with the DFU implementation. ?Would that be more acceptable? ?Or
>
> It is always nice if features can share common code, but here this is
> actually completely unrelated to the question I raised.
>
>> is any effort to get Fastboot into mainline just a waste of time?
>
> The basic rule is that we accept what is useful for some (even if a
> few), unless it hurts others (including maintainers).
>
>> What additional info is needed to answer that question?
>
> I wrote this in my initial posting to the Linaro list, and explicitly
> pointed you to it before, see
> http://thread.gmane.org/gmane.linux.linaro.devel/3823/focus=3842
> and especially
> http://thread.gmane.org/gmane.comp.boot-loaders.u-boot/98145/focus=98283
>
> I don't want to talk about code before we have heard anything about
> the design. ?This may be a trivial thing for you after having used
> this for some amount of time, but please consider the mental welfare
> of the ?persons who never heard about this before, and who will
> probably have to maintain the code after you.
>
> Best regards,
>
> Wolfgang Denk
>
> --
> DENX Software Engineering GmbH, ? ? MD: Wolfgang Denk & Detlev Zundel
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
> The use of Microsoft crippleware systems is a sin that ?carries ?with
> it its own punishment.
> ? ? ? ? -- Tom Christiansen in <6bo3fr$pj8$5@csnews.cs.colorado.edu>
>

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

* [U-Boot] Mainlining android fastboot support to upstream u-boot
  2011-04-25  3:54             ` John Rigby
@ 2011-04-25  9:44               ` Wolfgang Denk
  0 siblings, 0 replies; 10+ messages in thread
From: Wolfgang Denk @ 2011-04-25  9:44 UTC (permalink / raw)
  To: u-boot

Dear John Rigby,

In message <BANLkTin6bvvn1_JCBk5zB3j5biYXZgBY5g@mail.gmail.com> you wrote:
>
> Ok, I had already read both of those posts and when I read "design" I
> was thinking that Android Fastboot exists and the feature list is
> already set as is the wire protocol, so I don't see that we have a lot
> of flexibility in those areas.  The only design I see that is up for
> definition is how it can be implemented in U-Boot, that was why I
> brought up sharing with DFU.

Well, this is certainly one aspect of the implementation for U-Boot.

> I will follow up in a separate email with summary design docs of what
> fastboot is including what the wire protocol is and what services it
> needs from the environment it is running in.  Along with this I will
> have pointers to more detailed docs.
> 
> Does that sound reasonable?

It's probably sufficient to just provide pointers to these documents.
What I'm really looking for is not the protocol, but how you design
the implementation for U-Boot.  There are several aspects that
probably should be covered, for example the user interface (how to
start it, how to handle errors, how to handle timeouts, etc.), the
integration into the USB subsystem (which parts can be shared with
others like serial console, how to handle device IDs, ...) and so on
and on.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
One difference between a man and a machine is that a machine is quiet
when well oiled.

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

end of thread, other threads:[~2011-04-25  9:44 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-20 16:15 [U-Boot] Mainlining android fastboot support to upstream u-boot John Rigby
2011-04-21 23:08 ` Wolfgang Denk
2011-04-22  3:33   ` Zach Pfeffer
2011-04-22  8:59     ` Wolfgang Denk
2011-04-22 15:17       ` Zach Pfeffer
2011-04-24  3:14         ` John Rigby
2011-04-24 14:25           ` Wolfgang Denk
2011-04-25  3:54             ` John Rigby
2011-04-25  9:44               ` Wolfgang Denk
2011-04-25  3:57             ` Zach Pfeffer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.