[U-Boot] [PATCH 3/4] sunxi: Add default partition scheme

Tom Rini trini at konsulko.com
Thu Nov 16 17:30:04 UTC 2017


On Thu, Nov 16, 2017 at 11:41:57AM +0000, Andre Przywara wrote:
> Hi,
> 
> On 16/11/17 11:21, Maxime Ripard wrote:
> > On Thu, Nov 16, 2017 at 10:30:38AM +0000, Andre Przywara wrote:
> >> Hi,
> >>
> >> On 15/11/17 21:03, Alexander Graf wrote:
> >>>
> >>>
> >>> On 15.11.17 11:11, Maxime Ripard wrote:
> >>>> The partitions variable is especially useful to create a partition table
> >>>> from U-Boot, either directly from the U-Boot shell, or through flashing
> >>>> tools like fastboot and its oem format command.
> >>>>
> >>>> This is especially useful on devices with an eMMC you can't take out to
> >>>> flash from another system, and booting a Linux system first to flash our
> >>>> system then is not really practical.
> >>>>
> >>>> Signed-off-by: Maxime Ripard <maxime.ripard at free-electrons.com>
> >>>> ---
> >>>>  include/configs/sunxi-common.h | 7 +++++++
> >>>>  1 file changed, 7 insertions(+)
> >>>>
> >>>> diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
> >>>> index 4391a8cbc824..11da6ccfbf54 100644
> >>>> --- a/include/configs/sunxi-common.h
> >>>> +++ b/include/configs/sunxi-common.h
> >>>> @@ -493,6 +493,12 @@ extern int soft_i2c_gpio_scl;
> >>>>  #define SUNXI_MTDPARTS_DEFAULT
> >>>>  #endif
> >>>>  
> >>>> +#define PARTS_DEFAULT \
> >>>> +	"name=loader1,start=8k,size=32k;" \
> >>>> +	"name=loader2,size=984k;" \
> >>>> +	"name=boot,size=128M,bootable;" \
> >>>> +	"name=system,size=-;"
> >>>
> >>> Is there a particular reason you're creating a boot and system
> >>> partition? In a normal distro world, the distro installer will take care
> >>> of creating ESP + root + swap + whatever for you - and they (or the user
> >>> driving the installation) usually know best what they need :)

So, from another part of this thread, yes, this should not be called
boot but be called esp so it's clearer.

> >> But do we actually care about this?
> > 
> > I do.
> 
> I know, this was a misunderstanding, sorry. By "we" I meant Alex and
> Karsten's generic distribution point of view. I was arguing that this
> patch is of no big importance for them.
> 
> I think we agree that there are quite different use cases, and I don't
> fight the usefulness of both.

Yes, "we" care about the use case here.  No one wants to re-invent the
wheel on "how do I find and boot the OS" and the generic distro
framework is fairly easy for most cases to tap into.

And then on the "we" side of things, the problem here that everyone
needs to care about it how do we setup a partition table so that we can
have SPL where it's required by firmware to be.  How is this particular
hurdle handled today in fedora/debian/opensuse?

> >> If I understand this correctly, these are default settings for
> >> U-Boot's "mtdparts default" command, which honestly I didn't even
> >> know existed so far.
> > 
> > No, this has nothing to do with MTD. It's a default GPT partitioning
> > scheme. And only when you want to create the table from U-Boot, it
> > will not mangle with any pre-existing partition table if there is any
> > (unless you tell U-Boot to overwrite it, of course).
> 
> This is what I tried to say: It only affects you if you use U-Boot's
> partitioning command, which you probably won't do if you are running an
> off-the-shelf distribution installer. Is that understanding correct?
> 
> >> So in a distribution scenario I wouldn't expect somebody to actually use
> >> this. Instead you boot from a (possibly unpartitioned) SD card with just
> >> U-Boot on it or from SPI flash, then launch an installer from somewhere
> >> (PXE, USB drive) and let it do its job. No U-Boot partition involved.
> >> And even if you use mtdpart, you can always override these default
> >> settings on the command line.
> > 
> > Like I was telling Alexander, that makes a number of assumptions, the
> > two most obvious one being that you have an installer and that you
> > want to use it, both with reasonable reasons on why they wouldn't be
> > true.
> > 
> > More tailored fit distros like ELBE, yocto or Buildroot will not have
> > an installer in the first place but an image.
> > 
> > And even if you have an installer for the distro you want to use, if
> > you ever go to production, you will not use it since the time spent to
> > flash a pre-filled image compared to running the installer is
> > significantly lower. And time is money :)
> > 
> > Just like plugging / unplugging microSD card isn't really realistic in
> > that scenario.
> 
> I don't argue this (see above) and surely understand that generic
> installers don't fly when it comes to bootstrapping devices.

My recollection from having installed Debian the other week is that you
can say "I have things partitioned, please use this".  And what we're
talking about here is that there's cases where we might want to have a
layout suggested to the user / distribution.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171116/10327508/attachment.sig>


More information about the U-Boot mailing list