From: Stephen Warren <swarren@wwwdotorg.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 3/7] gpt:doc: GPT (GUID Partition Table) documentation
Date: Fri, 05 Oct 2012 10:05:59 -0600 [thread overview]
Message-ID: <506F0567.9070001@wwwdotorg.org> (raw)
In-Reply-To: <20121005123528.73196e27@amdc308.digital.local>
On 10/05/2012 04:35 AM, Lukasz Majewski wrote:
> Hi Stephen,
>
>> On 09/13/2012 02:10 AM, Lukasz Majewski wrote:
... [patch to implement GPT creation]
>> Then, I wonder if you couldn't define the partitions environment
>> variable as:
>>
>> partitions=\
>> name=u-boot,size=60M,uuid=${uuid_gpt_u_boot};\
>> name=kernel,size=60M,uuid=${uuid_gpt_kernel};...
>>
>> and have the environment variables expanded as in:
>>
>> setenv uuid_gpt_u_boot=ed09c4b0-fbf5-11e1-9a95-001fd09285c0
>> setenv uuid_gpt_kernel=...
>
> This is a good idea to allow uuid_gpt_u_boot= to be set via setenv.
> Moreover I think, that "editing" of "partitions" names, uuid and other
> parameters shall be done via setenv (as you proposed).
>
>> gpt mmc 0 ${partitions}
>
> Moreover I think, that parsing ${partitions} as a list of argv[n] is
> not the best option to proceed.
>
> I think that it would be easier to:
> 1. Prepare predefined "partitions=" variable
> at ./include/configs/trats.h (when no one is available on the platform)
> 2. Edit relevant env variables (uuid_gpt_u_boot=, etc) via setenv and
> saveenv.
> 3. restore it with gpt mmc 0 partitions (- the name of the stored and
> prepared env variable)
>
> I'd like to emphasis, that I strive to avoid parsing possibly (very)
> long list of GPT partition definition via gpt command's argv[n].
>
> If user wants to edit something, then one can use setenv to do that.
This forces the user to put the partition layout into an environment
variable. I don't like that idea. What if the user is running some
script on a recovery boot media to create the partition layout, rather
then restoring some partition layout defined in the default environment
in the board's U-Boot configuration file? Why should we force them to write:
setenv foo <<partition_layout>>
gpt create mmc 0 ${foo}
rather than simply:
gpt create mmc 0 <<partition_layout>>
The amount of work the command itself has to do for parsing is identical
or in fact slightly less; it just has to go to argv[4] and interpret it
as a partition list, rather than go to argv[4], read an environment
variable of that name and then interpret it as a partition list.
Admittedly, the command-shell has to do (very marginally) more work
since it has to scan more characters for the spaces that delimit
arguments, but I imagine that overhead is irrelevant compared to the
actual disk IO required to write the new partition tables, or even the
CPU calculations to calculate a UUID.
...
>> Oh, and don't you want the "gpt" command to take a sub-command like
>> "create", so that "gpt" could do different things in the future, e.g.
>> take an existing GPT layout, and edit, say, one partition's name:
>>
>
> This is a nice idea to divide the gpt commands to subcommands. However
> I now focus on gpt restoration (done in a correct and agreed way :-) ).
> I will prepare the gpt command to be easily dividable to sub-commands.
I certainly agree that the other sub-commands can be implemented later;
I just wanted to make sure that the command syntax was extensible in a
backwards compatible manner.
next prev parent reply other threads:[~2012-10-05 16:05 UTC|newest]
Thread overview: 95+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-24 8:13 [U-Boot] [PATCH 0/6] gpt: GUID Partition Table (GPT) restoration Lukasz Majewski
2012-08-24 8:13 ` [U-Boot] [PATCH 1/6] gpt:doc: GPT (GUID Partition Table) documentation Lukasz Majewski
2012-09-05 19:31 ` Stephen Warren
2012-09-06 9:22 ` Lukasz Majewski
2012-08-24 8:13 ` [U-Boot] [PATCH 2/6] gpt: Replace the leXX_to_int() calls with ones defined at <compiler.h> Lukasz Majewski
2012-09-05 19:35 ` Stephen Warren
2012-09-06 10:20 ` Lukasz Majewski
2012-09-06 18:53 ` Stephen Warren
[not found] ` <SNT002-W181FE3CE14BE68990CDF80CCB920@phx.gbl>
2012-09-12 14:42 ` Lukasz Majewski
2012-09-05 19:45 ` Stephen Warren
2012-09-06 10:15 ` Lukasz Majewski
2012-08-24 8:13 ` [U-Boot] [PATCH 3/6] gpt: Replacement of GPT structures members with ones indicating endianness and size Lukasz Majewski
2012-09-05 19:41 ` Stephen Warren
2012-09-06 10:24 ` Lukasz Majewski
2012-08-24 8:13 ` [U-Boot] [PATCH 4/6] gpt: Support for GPT (GUID Partition Table) restoration Lukasz Majewski
2012-09-05 19:49 ` Stephen Warren
2012-09-06 11:19 ` Lukasz Majewski
2012-09-06 18:55 ` Stephen Warren
2012-09-05 20:19 ` Stephen Warren
2012-10-03 23:00 ` [U-Boot] [U-Boot, " Tom Rini
2012-10-04 7:18 ` [U-Boot] [u-boot] Adding missing CONFIG_SYS_CACHELINE_SIZE to boards definitions Lukasz Majewski
2012-10-04 8:28 ` esw
2012-10-18 18:48 ` Albert ARIBAUD
2012-10-04 9:02 ` Helmut Raiger
2012-08-24 8:13 ` [U-Boot] [PATCH 5/6] gpt: Support for new "gpt" command Lukasz Majewski
2012-09-05 20:08 ` Stephen Warren
2012-09-06 14:01 ` Lukasz Majewski
2012-08-24 8:13 ` [U-Boot] [PATCH 6/6] gpt: Enable support for GPT partition table restoration at Samsung's Trats Lukasz Majewski
2012-08-24 8:48 ` [U-Boot] gpt: GUID/UUID - GPT restoration - open questions Lukasz Majewski
2012-09-05 20:21 ` Stephen Warren
2012-09-06 11:27 ` Lukasz Majewski
2012-09-06 12:27 ` Rob Herring
2012-09-06 14:14 ` Lukasz Majewski
2012-09-06 18:57 ` Stephen Warren
2012-09-07 6:45 ` Lukasz Majewski
2012-09-03 9:28 ` [U-Boot] gpt: GUID/UUID - GPT restoration - open questions - RESEND Lukasz Majewski
2012-10-02 13:46 ` Simon Glass
2012-10-02 16:39 ` Lukasz Majewski
2012-09-03 9:30 ` [U-Boot] [PATCH 0/6] gpt: GUID Partition Table (GPT) restoration Lukasz Majewski
2012-09-12 14:50 ` [U-Boot] [PATCH v2 0/7] " Lukasz Majewski
2012-09-12 14:50 ` [U-Boot] [PATCH v2 1/7] vsprintf:fix: Change type returned by ustrtoul Lukasz Majewski
2012-09-12 14:50 ` [U-Boot] [PATCH v2 2/7] part:efi: Move part_efi.h file to ./include Lukasz Majewski
2012-09-12 14:50 ` [U-Boot] [PATCH v2 3/7] gpt:doc: GPT (GUID Partition Table) documentation Lukasz Majewski
2012-09-12 14:50 ` [U-Boot] [PATCH v2 4/7] gpt: The leXX_to_int() calls replaced with ones defined at <compiler.h> Lukasz Majewski
2012-09-12 14:50 ` [U-Boot] [PATCH v2 5/7] gpt: Support for GPT (GUID Partition Table) restoration Lukasz Majewski
2012-09-12 17:22 ` Tom Rini
2012-09-12 14:50 ` [U-Boot] [PATCH v2 6/7] gpt: Support for new "gpt" command Lukasz Majewski
2012-09-12 17:21 ` Tom Rini
2012-09-12 14:50 ` [U-Boot] [PATCH v2 7/7] gpt: Enable support for GPT partition table restoration at Samsung's Trats Lukasz Majewski
2012-09-12 17:23 ` [U-Boot] [PATCH v2 0/7] gpt: GUID Partition Table (GPT) restoration Tom Rini
2012-09-13 6:20 ` Lukasz Majewski
2012-09-13 17:39 ` Tom Rini
2012-09-13 8:09 ` [U-Boot] [PATCH v3 " Lukasz Majewski
2012-09-13 8:09 ` [U-Boot] [PATCH v3 1/7] vsprintf:fix: Change type returned by ustrtoul Lukasz Majewski
2012-09-13 8:10 ` [U-Boot] [PATCH v3 2/7] part:efi: Move part_efi.h file to ./include Lukasz Majewski
2012-09-13 18:54 ` Kim Phillips
2012-09-13 8:10 ` [U-Boot] [PATCH v3 3/7] gpt:doc: GPT (GUID Partition Table) documentation Lukasz Majewski
2012-09-17 17:58 ` Stephen Warren
2012-10-05 10:35 ` Lukasz Majewski
2012-10-05 15:19 ` Lukasz Majewski
2012-10-05 16:05 ` Stephen Warren [this message]
2012-09-13 8:10 ` [U-Boot] [PATCH v3 4/7] gpt: The leXX_to_int() calls replaced with ones defined at <compiler.h> Lukasz Majewski
2012-09-13 8:10 ` [U-Boot] [PATCH v3 5/7] gpt: Support for GPT (GUID Partition Table) restoration Lukasz Majewski
2012-09-17 18:07 ` Stephen Warren
2012-10-05 10:50 ` Lukasz Majewski
2012-09-13 8:10 ` [U-Boot] [PATCH v3 6/7] gpt: Support for new "gpt" command Lukasz Majewski
2012-09-13 8:10 ` [U-Boot] [PATCH v3 7/7] gpt: Enable support for GPT partition table restoration at Samsung's Trats Lukasz Majewski
2012-11-09 9:22 ` [U-Boot] [PATCH v4 0/7] gpt: GUID Partition Table (GPT) restoration Piotr Wilczek
2012-11-09 9:22 ` [U-Boot] [PATCH v4 1/7] vsprintf:fix: Change type returned by ustrtoul Piotr Wilczek
2012-11-19 19:19 ` Stephen Warren
2012-11-09 9:22 ` [U-Boot] [PATCH v4 2/7] part:efi: Move part_efi.h file to ./include Piotr Wilczek
2012-11-19 19:30 ` Stephen Warren
2012-11-19 20:41 ` Tom Rini
2012-11-20 17:46 ` Lukasz Majewski
2012-11-09 9:22 ` [U-Boot] [PATCH v4 3/7] gpt:doc: GPT (GUID Partition Table) documentation Piotr Wilczek
2012-11-19 19:28 ` Stephen Warren
2012-11-09 10:48 ` [U-Boot] [PATCH v4 4/7] gpt: The leXX_to_int() calls replaced with ones defined at <compiler.h> Piotr Wilczek
2012-11-09 10:48 ` [U-Boot] [PATCH v4 5/7] gpt: Support for GPT (GUID Partition Table) restoration Piotr Wilczek
2012-11-19 20:16 ` Stephen Warren
2012-11-21 13:18 ` Piotr Wilczek
2012-11-22 12:16 ` Lukasz Majewski
2012-11-26 23:46 ` Stephen Warren
2012-11-24 18:05 ` Stephen Warren
2012-11-26 13:08 ` Piotr Wilczek
2012-11-09 10:48 ` [U-Boot] [PATCH v4 6/7] gpt: Support for new "gpt" command Piotr Wilczek
2012-11-19 21:34 ` Stephen Warren
2012-11-21 11:22 ` Piotr Wilczek
2012-11-24 18:00 ` Stephen Warren
2012-11-26 13:08 ` Piotr Wilczek
2012-11-26 23:49 ` Stephen Warren
2012-11-09 10:48 ` [U-Boot] [PATCH v4 7/7] gpt: Enable support for GPT partition table restoration at Samsung's Trats Piotr Wilczek
2012-11-19 19:39 ` [U-Boot] [PATCH v4 4/7] gpt: The leXX_to_int() calls replaced with ones defined at <compiler.h> Stephen Warren
2012-11-19 20:43 ` [U-Boot] [PATCH v4 0/7] gpt: GUID Partition Table (GPT) restoration Tom Rini
2012-12-06 20:40 ` Tom Rini
2012-12-07 9:03 ` Piotr Wilczek
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=506F0567.9070001@wwwdotorg.org \
--to=swarren@wwwdotorg.org \
--cc=u-boot@lists.denx.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox