linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Jerry Van Baren <gvb.linuxppc.dev@gmail.com>
To: Scott Wood <scottwood@freescale.com>
Cc: linuxppc-dev@ozlabs.org
Subject: Re: Mikrotik RouterBoard 333
Date: Mon, 21 Jul 2008 22:54:58 -0400	[thread overview]
Message-ID: <48854C02.7000307@gmail.com> (raw)
In-Reply-To: <20080721211344.GA13268@loki.buserror.net>

Scott Wood wrote:
> On Sun, Jul 13, 2008 at 08:44:46PM -0400, Jerry Van Baren wrote:
>> I'm a half-ack.  ;-)  I'm partial to u-boot's implementation rather than  
>> using a bootwrapper for obvious reasons.  The u-boot implementation  
>> takes the blob as a boot parameter and passes it along to the kernel  
>> after doing appropriate (optional) fixups.
> 
> And if those fixups expect a malformed device tree?

Oops, very bad choice of terms on my part.  :-(  The fixups I referred 
to are mostly "fill in the blank" things like setting the various 
clocks, MAC information, PCI information, etc. to the correct values 
based on hardware probing or a priori knowledge.  U-boot does not 
(should not / will not!) fix broken device trees.  A broken tree w/ the 
u-boot methodology is fixed by loading a corrected one, not requiring a 
full rebuild and reload of the firmware.

Note that the blobs are (should be) made from the *.dts files that are 
part of the linux kernel source, so having correct ones has not been a 
problem.  Since replacement ones are easily loaded, broken blobs are 
fixed by replacement, not by contorted fixups a'la the start of this 
thread.  Since blobs are well defined, even if some boneheaded company 
didn't release their blob source, it is trivial to dump it (e.g. "fdt 
print /"), fixed, and then replaced.

>> Other than that quibble, I agree that burning the blob into the firmware  
>> so that the firmware must be recompiled and reburned to change the blob  
>> is very undesirable.
> 
> I thought the device tree was *supposed* to be an interface between the
> firmware and the kernel?  What if the firmware produces the tree
> dynamically?  What if the firmware itself depends on having the device tree
> in order to operate?
> 
> -Scott

Well, yes and no on dynamically generated blobs.  There isn't much point 
"dynamically" generating the static parts of the blob - if you have 
static code "dynamically" generating the static parts of the blob, is it 
dynamic or static?  That is probably exactly where Mikrotik has 
problems.  The truly dynamic parts are a small part of the blob.

If all else fails, u-boot is GPLed and the user is able to get the 
source and fix it (well, at least for 3 years after purchasing the 
hardware).

There are advantages and disadvantages to u-boot and boot-wrapper 
methods.  There are nothing but disadvantages to having the blob 
physically a part of the firmware (with a double whammy if the firmware 
source is not readily available).

Best regards,
gvb

  parent reply	other threads:[~2008-07-22  3:00 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-08  4:26 Mikrotik RouterBoard 333 David Gibson
2008-07-09  4:09 ` Grant Likely
2008-07-14  0:44   ` Jerry Van Baren
2008-07-21 21:13     ` Scott Wood
2008-07-21 22:13       ` Segher Boessenkool
2008-07-22  2:54       ` Jerry Van Baren [this message]
2008-07-22  3:48         ` David Gibson
2008-07-22 14:56         ` Scott Wood
2008-07-15  0:17 ` Segher Boessenkool
2008-07-15  1:41   ` David Gibson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48854C02.7000307@gmail.com \
    --to=gvb.linuxppc.dev@gmail.com \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=scottwood@freescale.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).