[U-Boot] [PATCH 2/2] cmd:gpt: randomly generate each partition uuid if undefined

Przemyslaw Marczak p.marczak at samsung.com
Mon Mar 3 16:31:35 CET 2014


Hello Tom,

On 03/03/2014 03:13 PM, Tom Rini wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 03/03/2014 08:45 AM, Przemyslaw Marczak wrote:
>
> [snip]
>> Actually automatically generated uuids was the main purpose of this
>> patches. Setting each env variable in this place was the most easy way
>> to make this without a lot of duplicated code.
>>
>> Why do you treat it like a side-effect?
>> If user wants have own generated uuids - then he can manually set env
>> variables like "uuid_gpt_disk".
>> This actually is not changed - when uuid env is set then it will be used
>> like in current version of code.
>> When user can't generate uuids or just wants to have it automatically
>> generated then my code do this job.
>
> Having been using this code again myself recently, at the high level,
> this is useful.  Having to copy/paste in N UUIDs gets silly.  But I also
> wonder..
>
> [snip]
>> The one and only reason for put saveenv() here was that if uuids are
>> randomly generated or even just are in environment then I can be sure
>> that next gpt write (e.g. in case of overwrite sector 0 by mistake) is
>> using the same uuids values.
>
> Is this really an important use case to cover?
>

It can be important if somebody uses UUIDS to boot kernel. In kernel 
documentation you can find a notice about kernel function 
name_to_dev_t() - so by command line you can pass uuid for root 
partition. And the same is for arg "suspend" in kernel cmd line.

> The way I see things, would it be possible (and not a pain) to make the
> UUID part of the partition string passed to 'gpt write' optional.  If
> not passed, generate the UUIDs needed.  What was used would be seen in
> 'part list' and so forth.
>
> - --
> Tom

Ok, so I remove saveenv() from my changes and then we will have two cases:

# gpt write mmc 0 $partitions
case 1: envorinment uuids are not set; then:
   proper uuids variables are set automatically (and printed)
case 2: environment uuids are set in env (e.g. some user has put his own 
env); then
   users uuids will be used and new uuids are not generated automatically

So this will not change current "gpt" usability - just add new feature, 
moreover user will be informed about each uuid generation.
In case when someone use gpt write by mistake and overwrite uuids by 
randomly generated then he can easily back to his own uuids by setting 
each in environment and run gpt write again.

> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.11 (GNU/Linux)
> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>
> iQIcBAEBAgAGBQJTFI32AAoJENk4IS6UOR1WAyQP/2bfClvRaWtLzUDggRUnNr99
> RKSgB1m/nl09ZwclB2Gn1FZL2IR/M0u+ia89FE9leSN4eoOEswN2rrUiExVv7QpJ
> d+oCH/H3oNDAyb9L4HXXYHeRGCVHK7KE/KP5Ngb7KfTGZhj5kHdkx9iQM7dO9OtX
> DmvW5+JoRXgXPkpmvy5s20IzRUbBEqGC6Z2h8Y/VKHTDnrUmYvFb6XPgjwwrYVB6
> +Hx/7K2R1uXQTuoHM7FqVAqKx7GGiUmcpLG90iHeYcX4fib/+RwC7hcre0rRj71v
> NyAnO4t0nXKefLXYe5iGold7cNx9xUKO3s4u2EkC9lNGRkN6RcVuaxzEKGD4/QTX
> fHA2q6FwSVLv4lXBT6UWxXiky2C9TMY/DUNM0EWe2KSx2V2glXPKiBX7gRk0Rq0d
> EWq1G5oQS0qiZgb+vUQ4Acf4/HDjhAl1l18Hx6w+26LNvz8Fi+o7Om4kkBdI5sos
> GX2auS1RxQc3qQkrAjxFx1xpDr9iMikV6nNqYDcVU894PeCgzmUWaWG/IrBFixO6
> 2XjF1sMth8LrVqUHirh3Y7lDU+FFPP+mMb6eaY3oajtVkg3u6cpQ0eJ0A612CsXG
> oaTPxWKKTsWlBxaVIgzu2OXeYg5BJF4OTKxjNiV2wptheEVc4RVLDiQ1yf74YEHy
> Hve7lpxa9i4Oo9Vf2Pd7
> =5FKf
> -----END PGP SIGNATURE-----
>

Thank you,
-- 
Przemyslaw Marczak
Samsung R&D Institute Poland
Samsung Electronics
p.marczak at samsung.com


More information about the U-Boot mailing list