All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/4] sunxi: Ease eMMC usage and flashing
@ 2017-11-15 10:11 Maxime Ripard
  2017-11-15 10:11 ` [U-Boot] [PATCH 1/4] part: efi: Add a Kconfig option for the number of partition entries Maxime Ripard
                   ` (4 more replies)
  0 siblings, 5 replies; 28+ messages in thread
From: Maxime Ripard @ 2017-11-15 10:11 UTC (permalink / raw)
  To: u-boot

Hi,

Here is a set of patches that have been sitting in some variations for
quite some time now.

This is mostly to ease the eMMC (and MMC, to some extent) flashing
using fastboot that in turn rely on GPT.

The Allwinner SoCs need to have the SPL located right in the middle of
a traditional GPT, at 8kB.

To deal with this, we would basically have two options:
  - Use the already in-tree solution to move the partition entries to
    another arbitrary offset in the MMC.
  - Use a smaller number of partitions entries

Both are non-standards, but are dealt with nicely by the regular tools
and users (at least on a Linux system). However, the first solution is
quite confusing for users (that needs to be aware where the partitions
will be), might be less flexible because not all tools will allow to
create partitions for things between the GPT main entry and the
partition entries, and might confuse tools if such a setup is
available.

In our case, using the first solution, gdisk will for example refuse
to create a partition for the SPL.

The second solution though seems to be well handled by all the tools,
and just feels the same, except that you end up with a smaller number
of partitions. In our case, that number is 56 partitions (16 sectors
before the SPL, 1 sector for the protective MBR, 1 sector for the GPT
header, and 4 partition entries per sector) instead of 128, which
doesn't sound very impractical either.

The two first patches deal with that.

We then provide a default partitionning scheme. I'd like feedback on
that one. I appreciate that having a good default in such a case, but
I'd like to have a reasonably simple layout that works good enough to
install a distro. I'm a bit short on background on what an EFI
partition is supposed to look like, and what a good size would be. I'd
really like some input on this.

Finally, we enable fastboot flashing to be able to flash a pristine
system just by using FEL, fastboot oem format, and then fastboot flash
for the various components.

Let me know what you think,
Maxime

Maxime Ripard (4):
  part: efi: Add a Kconfig option for the number of partition entries
  part: efi: Add default number of partition entries for sunxi
  sunxi: Add default partition scheme
  fastboot: Enable flashing by default on sunxi

 cmd/fastboot/Kconfig           |  1 +
 disk/Kconfig                   | 14 ++++++++++++++
 include/configs/sunxi-common.h |  7 +++++++
 include/part_efi.h             |  2 +-
 4 files changed, 23 insertions(+), 1 deletion(-)

-- 
2.14.3

^ permalink raw reply	[flat|nested] 28+ messages in thread
* [U-Boot] [PATCH 0/4] sunxi: Ease eMMC usage and flashing
@ 2017-11-28 10:34 Maxime Ripard
  2017-11-28 10:34 ` [U-Boot] [PATCH 3/4] sunxi: Add default partition scheme Maxime Ripard
  0 siblings, 1 reply; 28+ messages in thread
From: Maxime Ripard @ 2017-11-28 10:34 UTC (permalink / raw)
  To: u-boot

Hi,

Here is a set of patches that have been sitting in some variations for
quite some time now.

This is mostly to ease the eMMC (and MMC, to some extent) flashing
using fastboot that in turn rely on GPT.

The Allwinner SoCs need to have the SPL located right in the middle of
a traditional GPT, at 8kB.

To deal with this, we would basically have two options:
  - Use the already in-tree solution to move the partition entries to
    another arbitrary offset in the MMC.
  - Use a smaller number of partitions entries

Both are non-standards, but are dealt with nicely by the regular tools
and users (at least on a Linux system). However, the first solution is
quite confusing for users (that needs to be aware where the partitions
will be), might be less flexible because not all tools will allow to
create partitions for things between the GPT main entry and the
partition entries, and might confuse tools if such a setup is
available.

In our case, using the first solution, gdisk will for example refuse
to create a partition for the SPL.

The second solution though seems to be well handled by all the tools,
and just feels the same, except that you end up with a smaller number
of partitions. In our case, that number is 56 partitions (16 sectors
before the SPL, 1 sector for the protective MBR, 1 sector for the GPT
header, and 4 partition entries per sector) instead of 128, which
doesn't sound very impractical either.

The two first patches deal with that.

We then provide a default partitionning scheme. I'd like feedback on
that one. I appreciate that having a good default in such a case, but
I'd like to have a reasonably simple layout that works good enough to
install a distro. I'm a bit short on background on what an EFI
partition is supposed to look like, and what a good size would be. I'd
really like some input on this.

Finally, we enable fastboot flashing to be able to flash a pristine
system just by using FEL, fastboot oem format, and then fastboot flash
for the various components.

Let me know what you think,
Maxime

Changes from v1:
  - Changed the boot partition name to ESP
  - Used default UUID for the rootfs and esp partitions

Maxime Ripard (4):
  part: efi: Add a Kconfig option for the number of partition entries
  part: efi: Add default number of partition entries for sunxi
  sunxi: Add default partition scheme
  fastboot: Enable flashing by default on sunxi

 cmd/fastboot/Kconfig           |  1 +
 disk/Kconfig                   | 14 ++++++++++++++
 include/configs/sunxi-common.h |  9 +++++++++
 include/part_efi.h             |  2 +-
 4 files changed, 25 insertions(+), 1 deletion(-)

base-commit: c253573f3e269fd9a24ee6684d87dd91106018a5
-- 
git-series 0.9.1

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2017-11-30 15:49 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-15 10:11 [U-Boot] [PATCH 0/4] sunxi: Ease eMMC usage and flashing Maxime Ripard
2017-11-15 10:11 ` [U-Boot] [PATCH 1/4] part: efi: Add a Kconfig option for the number of partition entries Maxime Ripard
2017-11-15 10:11 ` [U-Boot] [PATCH 2/4] part: efi: Add default number of partition entries for sunxi Maxime Ripard
2017-11-15 10:11 ` [U-Boot] [PATCH 3/4] sunxi: Add default partition scheme Maxime Ripard
2017-11-15 21:03   ` Alexander Graf
2017-11-16  9:29     ` Maxime Ripard
2017-11-16 10:30     ` Andre Przywara
2017-11-16 11:21       ` Maxime Ripard
2017-11-16 11:41         ` Andre Przywara
2017-11-16 11:54           ` Alexander Graf
2017-11-16 12:32             ` Emmanuel Vadot
2017-11-16 17:30           ` Tom Rini
2017-11-17  8:29             ` Maxime Ripard
     [not found]             ` <20171116194248.fk75jtez4unq2lse@excalibur.cnev.de>
2017-11-17  8:31               ` Maxime Ripard
2017-11-17  8:27           ` Maxime Ripard
2017-11-17 12:21             ` Andre Przywara
2017-11-17 13:04               ` Maxime Ripard
2017-11-17 14:20                 ` Alexander Graf
2017-11-20  9:24                   ` Maxime Ripard
2017-11-20 11:37                     ` Emmanuel Vadot
2017-11-20 13:17                       ` Maxime Ripard
2017-11-15 10:11 ` [U-Boot] [PATCH 4/4] fastboot: Enable flashing by default on sunxi Maxime Ripard
     [not found] ` <20171115204134.7ervzwcfrc67m6jt@excalibur.cnev.de>
2017-11-16  9:32   ` [U-Boot] [PATCH 0/4] sunxi: Ease eMMC usage and flashing Maxime Ripard
2017-11-28 10:34 Maxime Ripard
2017-11-28 10:34 ` [U-Boot] [PATCH 3/4] sunxi: Add default partition scheme Maxime Ripard
2017-11-30  0:23   ` André Przywara
2017-11-30  7:56     ` Maxime Ripard
2017-11-30  9:22       ` Andre Przywara
2017-11-30 15:49         ` Maxime Ripard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.