On 19 November 2013 10:34, Leif Lindholm <leif.lindh...@linaro.org> wrote:

> Hi Ryan,
>
> On Tue, Nov 19, 2013 at 08:30:25AM +0000, Ryan Harkin wrote:
> > Hi Olivier/Steve/Leif/whoever is interested,
> >
> > I have a problem I'm trying to solve and I don't think there is a proper
> > solution using the current ARM BDS.
> >
> > Basically, some of Linaro's releases are failing to boot &quot;out of the
> > box&quot; due to incorrect default BDS config.  The default assumes that
> the
> > image has an initrd.
> >
> > Android (the main focus of our releases) and Ubuntu images use an
> initrd.
> > OpenEmbedded images do not.
> >
> > I'd like a single UEFI binary that can work on all three without
> > reconfiguration.
> >
> > The obvious solutions are:
> > 1) there is no default config that always works and the user should
> configure
> > the board
> >    themselves each time they want to boot a different image type.
> >    Our LAVA automated test environment and people like myself who boot
> test
> > many images
> >   daily don't favour this option.
> >
> > 2) change OpenEmbedded to use an initrd
> >    It's not my image to change and the owners don't want to do that
> because
> > it's also wrong.
> >
> > 3) Have different UEFI binaries for each image type
> >    This isn't ideal because I (and LAVA) would be forever reflashing
> UEFI.
> >
> > 4) Make BDS continue if it can't load the initrd
> >    This isn't ideal because if there is no initrd, it could be for a bad
> > reason.  By continuing, we
> >    aren't giving the user the change to immediately correct the config.
> >    However, the likelihood of the initrd being completely missing,
> whilst a
> > valid kernel and FDT
> >    is provided seems slim.  If it is missing, it's most likely on
> purpose.
> >
> > Of the options above, I prefer #4 and have provided a patch below for
> > discussion.  I suspect that if it's not going to cause other problems,
> it could
> > be like my other BDS hacks, fixes and improvements and only live in the
> Linaro
> > tree, which would be fine with me too.
> >
> > Opinions on a way forward and/or this patch?
>
> Medium-term, I would say that the correct thing to do will be to simply
> use the UEFI stub loader version of the kernel image. But you may not
> want to take on the tediousness of having to sync this not-yet-upstream
> patchset across the various kernel branches things will build from for
> each new release until this code does go upstream?
>

I agree, moving to a proper boot solution is the end goal.  But a lot of
that end-goal is out of my control/domain, so I'm hacking what I have to
make it more usable until the cool stuff hits mainline.


>
> I would say that the solution your patch introduces is wrong, but it is
> less wrong than the current situation - so I have no fundamental
> objection.
>

I agree, it's not ideal, but as you say, it's less wrong.


>
> If we wanted to keep the built-in Linux loader, I would say that the
> correct fix would be to add a "has initrd" property, or a NULL string
> chack for the path. But we don't, so we shouldn't spend time trying to
> to improve a way too old stop-gap solution.
>

The initrd can be configured out in the default config, so UEFI does not
attempt to even load it.  However, in that case, a single UEFI binary's
default config will fail to load an Android or Ubuntu image, because they
need an initrd.

Really, I'm working around the fact that we cannot provide a config to BDS;
the config either has to be initialised by the UEFI binary or hand edited
by the user.  If we had that feature, each image (Android, Ubuntu, OE)
could provide a config that it knew would work.



> /
>     Leif
>
> p.s.
> The built-in Linux loader delenda est!
>

Yes please :-)
------------------------------------------------------------------------------
Shape the Mobile Experience: Free Subscription
Software experts and developers: Be at the forefront of tech innovation.
Intel(R) Software Adrenaline delivers strategic insight and game-changing 
conversations that shape the rapidly evolving mobile landscape. Sign up now. 
http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to