All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Kettenis <mark.kettenis@xs4all.nl>
To: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Cc: sjg@chromium.org, trini@konsulko.com,
	yanhong.wang@starfivetech.com, afd@ti.com,
	alpernebiyasak@gmail.com, sr@denx.de, andre.przywara@arm.com,
	cJ-uboot@zougloub.eu, hws@denx.de, u-boot@lists.denx.de
Subject: Re: [PATCH v2 1/1] spl: allow loading via partition type GUID
Date: Sun, 19 Feb 2023 20:52:03 +0100	[thread overview]
Message-ID: <87h6vhtov0.fsf@bloch.sibelius.xs4all.nl> (raw)
In-Reply-To: <855b2923-d6ad-674f-ef7f-e31c9502d539@canonical.com> (message from Heinrich Schuchardt on Fri, 17 Feb 2023 12:06:40 +0100)

> Date: Fri, 17 Feb 2023 12:06:40 +0100
> From: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> 
> On 2/17/23 11:34, Mark Kettenis wrote:
> >> Date: Fri, 17 Feb 2023 07:55:58 +0100
> >> From: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> >>
> >>> I'm not sure, but at some point this is all going to get out of hand.
> >>> Already we have these options:
> >>>
> >>> common/spl/Kconfig:config SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
> >>> common/spl/Kconfig:config SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR
> >>> common/spl/Kconfig:config SYS_MMCSD_RAW_MODE_U_BOOT_DATA_PART_OFFSET
> >>> common/spl/Kconfig:config SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
> >>> common/spl/Kconfig:config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION
> >>> common/spl/Kconfig:config SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE
> >>> common/spl/Kconfig:config SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_TYPE
> >>> common/spl/Kconfig:config SYS_MMCSD_RAW_MODE_EMMC_BOOT_PARTITION
> >>> common/spl/Kconfig:config SYS_MMCSD_FS_BOOT_PARTITION
> >>> common/spl/Kconfig:config SYS_MMCSD_RAW_MODE_KERNEL_SECTOR
> >>> common/spl/Kconfig:config SYS_MMCSD_RAW_MODE_ARGS_SECTOR
> >>> common/spl/Kconfig:config SYS_MMCSD_RAW_MODE_ARGS_SECTORS
> >>>
> >>> That is just for MMC raw mode.
> >>>
> >>> For environment we have SYS_MMC_ENV_DEV and _PART. If you look around
> >>> you'll see loads of these options.
> >>>
> >>> I see that rockchip uses u-boot,spl-boot-order as a way to determine
> >>> the boot order. This makes it configurable without rebuilding
> >>> U-Boot...although I don't think we need to make the MMC stuff
> >>> configurable, since I am assuming that the boot ROM determines at
> >>> least some of it...?
> >>
> >> This patch is about SPL loading main U-Boot. So the boot ROM is not
> >> involved.
> > 
> > But in that case we surely want to have a single board and SoC
> > independent partition GUID?
> > 
> 
> No. I want to create one installation image which runs on multiple 
> boards, e.g.
> 
> part 1, GUID 8300, /boot
> part 2, GUID 8300, /
> part 15, GUID EF00, /boot/efi
> part 20, GUID SPL 1, SPL for board 1
> part 21, GUID U-Boot 2, U-Boot for board 1
> ...
> part 127, GUID SPL 54, SPL for board 54
> part 128, GUID U-Boot 54, U-Boot for board 54

Interesting idea.  However, if you rely on the SoC bootrom to boot
from a partition with a specific GUID, you probably can't have
separate SPL partitions for each board; you'd just have one for each
SoC.  And that in turn means that you can't really have a separate
U-Boot partition for each board unless you have board-detection code
in SPL.  But in that case you'd probably be better off with putting
that board detection code in U-Boot itself and bundle U-Boot together
with the supported board device trees in a FIT.

> >>> It seems that the whole thing is crying out for a bit of organisation
> >>> and a proper schema.
> >>
> >> The discussion was about hard-coding the values vs configuration.
> >>
> >> OS distributions should have enough flexibility to deliver an
> >> installation image with U-Boot for multiple boards on the same medium.
> >> For the build process it is preferable to use different configurations
> >> instead of patching source code per U-Boot which might be required if
> >> hard-coded values for partition GUIDs in the device-trees are used.
> > 
> > Well, yes, but it would be even more helpful to have a single
> > well-known partition GUID such that the OS partitioning tools can
> > recognize the U-Boot partition.  If you make it configurable and every
> > contributed board uses a different GUID that will be impractical.
> 
> The OS partitioning tools simply shouldn't touch partitions with GUIDs 
> that they don't know.

Well, that makes it hard to "recycle" disks that have been partitioned
before.  Partition tools will have the ability to delete partitions to
make that possible.  In that case it is useful for users to be able to
determine the purpose of a partition.

By the way, you probably should set Bit 0 in the partition table entry
Attributes field for these partitions to indicate that a partition
should not be deleted.

> >> I think Tom's approach is right. The U-Boot documentation should give
> >> guidance on how new boards should find U-Boot SPL and main U-Boot.
> >>
> >> Best regards
> >>
> >> Heinrich
> >>
> 
> 

  parent reply	other threads:[~2023-02-19 19:52 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-16 15:29 [PATCH v2 1/1] spl: allow loading via partition type GUID Heinrich Schuchardt
2023-02-16 17:01 ` Tom Rini
2023-02-16 17:19   ` Heinrich Schuchardt
2023-02-16 17:22     ` Tom Rini
2023-02-16 20:17 ` Simon Glass
2023-02-16 21:31   ` Heinrich Schuchardt
2023-02-17  2:55     ` Simon Glass
2023-02-17  6:55       ` Heinrich Schuchardt
2023-02-17 10:34         ` Mark Kettenis
2023-02-17 11:06           ` Heinrich Schuchardt
2023-02-17 15:03             ` Tom Rini
2023-02-19 19:52             ` Mark Kettenis [this message]
2023-02-19 21:21               ` Heinrich Schuchardt
2023-02-21 19:41         ` Simon Glass
2023-02-26 14:56           ` Simon Glass

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=87h6vhtov0.fsf@bloch.sibelius.xs4all.nl \
    --to=mark.kettenis@xs4all.nl \
    --cc=afd@ti.com \
    --cc=alpernebiyasak@gmail.com \
    --cc=andre.przywara@arm.com \
    --cc=cJ-uboot@zougloub.eu \
    --cc=heinrich.schuchardt@canonical.com \
    --cc=hws@denx.de \
    --cc=sjg@chromium.org \
    --cc=sr@denx.de \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    --cc=yanhong.wang@starfivetech.com \
    /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 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.