linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: Building kernel for more than one SoC
Date: Mon, 11 Aug 2014 23:43:28 +0100	[thread overview]
Message-ID: <20140811224328.GD30401@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <lsbbp9$j4n$1@ger.gmane.org>

On Mon, Aug 11, 2014 at 09:15:22PM +0000, Grant Edwards wrote:
> On 2014-08-11, Russell King - ARM Linux <linux@arm.linux.org.uk> wrote:
> > On Mon, Aug 11, 2014 at 08:43:35PM +0000, Grant Edwards wrote:
> >> On 2014-08-11, Robert Nelson <robertcnelson@gmail.com> wrote:
> >> >> Now it's up to somebody else to decide if the price difference between
> >> >> a G20 and G25 is worth the engineering time to upgrade U-Boot and
> >> >> Linux kernel to versions that know about device trees...
> >> >
> >> > http://cateee.net/lkddb/web-lkddb/ARM_APPENDED_DTB.html
> >> 
> >> Interesting.  That would still require modifying U-Boot so that at
> >> run-time it detects the SoC type and appends the proper DTB to the
> >> kernel image, but it that may be less work than "real" DTB support in
> >> U-Boot.
> >
> > The idea of that feature is:
> >
> > - You take the kernel zImage
> > - You take the appropriate dtb file
> > - You concatenate the dtb file into the zImage
> > - You run mkimage on the resulting combined image to create the special
> >   uboot format file for uboot to load
> 
> The problem is now you've got a kernel image that won't run on both
> the '9g20 and the '9g25.  The requirement is to have a kernel image
> that will run on either.

It depends what you call a kernel image.

As far as I'm concerned (and as I've been concerned from day one of uboot
coming into ARM), the kernel image is the zImage, not the crap that uboot
decides to dictate that you must provide for it to use.

I've been pretty clear over the years that I utterly despise uboot's
custom format - and you're starting to find out why.  Welcome to the
inflexibility has caused. :)

> > - You use it with uboot as you have done in the past with non-DT
> >   kernels.
> 
> Logistically, there's little difference between that and compiling the
> kernel twice.  It's more elegant than compiling the kernel twice, but 
> in the end it requires the maintenance of two separate kernel images
> and some way for customers to figure out which one they should
> download (and no matter what you do, when given a choice between two
> files, they will download and attempt to install the wrong one more
> than half of the time).

While you have a point there, that's a choice of how you do your kernel
upgrades.

If you supply a zImage, all the dtbs, a script which does the
programming of the kernel onto the target, and a copy of mkimage, then
you can do all the steps I've highlighted above on the target - without
the customer even having to know what platform they're on, because your
script can work it out.

If you don't have a shell on the target, then write a C program to do it
instead.

There's plenty of workarounds possible for the old uboot dilemma...

-- 
FTTC broadband for 0.8mile line: currently at 9.5Mbps down 400kbps up
according to speedtest.net.

  parent reply	other threads:[~2014-08-11 22:43 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-31 13:59 Building kernel for more than one SoC Grant Edwards
2014-07-31 21:07 ` Thomas Petazzoni
2014-08-04 19:11   ` Grant Edwards
2014-08-04 20:17 ` Russell King - ARM Linux
2014-08-11 15:42   ` Nicolas Ferre
2014-08-11 15:47     ` Grant Edwards
2014-08-11 16:12       ` Robert Nelson
2014-08-11 20:43         ` Grant Edwards
2014-08-11 20:59           ` Russell King - ARM Linux
2014-08-11 21:15             ` Grant Edwards
2014-08-11 21:38               ` Robert Nelson
2014-08-11 21:57                 ` Grant Edwards
2014-08-11 22:43               ` Russell King - ARM Linux [this message]
2014-08-11 23:02                 ` Grant Edwards
2014-08-14  1:12                   ` Tomasz Figa
2014-08-12  3:52                 ` Olof Johansson

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=20140811224328.GD30401@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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).