From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Thu, 16 Nov 2017 12:30:04 -0500 Subject: [U-Boot] [PATCH 3/4] sunxi: Add default partition scheme In-Reply-To: <716f0816-ec3c-e581-2332-7ab1dbe53a11@arm.com> References: <20171115101151.11382-1-maxime.ripard@free-electrons.com> <20171115101151.11382-4-maxime.ripard@free-electrons.com> <5945773e-f80f-8205-41d8-6a68f7263cde@suse.de> <20171116112113.enn6bdjjpnbnbe4b@flea> <716f0816-ec3c-e581-2332-7ab1dbe53a11@arm.com> Message-ID: <20171116173004.GK9986@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > >>>> --- > >>>> 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: