Hi Michael,

On 07/26/2016 05:08 PM, Michael Trimarchi wrote:
Hi

On Tue, Jul 26, 2016 at 10:59 AM, Kever Yang <kever.y...@rock-chips.com> wrote:
Hi Michael,


On 07/26/2016 04:37 PM, Michael Trimarchi wrote:
Hi

On Tue, Jul 26, 2016 at 9:56 AM, Kever Yang <kever.y...@rock-chips.com>
wrote:
The calculation of "dev_desc->lba - 34  - 1 - offset" is not correct for
size '-', because both fist_usable_lba and last_usable_lba will remain
34 sectors.

We can simply use 0 for size '-' because the part_efi module will decode
the size and auto extend the size to maximum available size.

Signed-off-by: Kever Yang <kever.y...@rock-chips.com>
---

   cmd/gpt.c | 4 ++--
   1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/cmd/gpt.c b/cmd/gpt.c
index 3d9706b..897596a 100644
--- a/cmd/gpt.c
+++ b/cmd/gpt.c
@@ -298,8 +298,8 @@ static int set_gpt_info(struct blk_desc *dev_desc,
                  if (extract_env(val, &p))
                          p = val;
                  if ((strcmp(p, "-") == 0)) {
-                       /* remove first usable lba and last block */
-                       parts[i].size = dev_desc->lba - 34  - 1 - offset;
+                       /* Let part efi module to auto extend the size */
+                       parts[i].size = 0;
gpt verify give you success?

Yes.

I use below gpt table and "gpt write mmc 0 $partitions" command to do the
test:
#define PARTS_DEFAULT \
        "uuid_disk=${uuid_gpt_disk};" \
        "name=boot,size=32M,uuid=${uuid_gpt_boot};" \
        "name=rootfs,size=-,uuid=${uuid_gpt_rootfs};"

Without this patch, I get message:
=> gpt write mmc 0 $partitions
Writing GPT: Partitions layout exceds disk size
error!

After I apply this patch, I get below message:
Writing GPT: success!

gpt read back does give you success?

Sorry, I misunderstand your mean about verify.

Here is the result with verify command, it do failed.
=> gpt verify mmc 0 $partitions
ERROR: Partition rootfs size: 30679007 does not match 0!

at disk/part_efi.c:660/gpt_verify_partitions()
Verify GPT: error!

So I get size check failed for the last partition, can we update the size check for
the last partition, or update the partition size after extend to maximum?

Thanks,
- Kever


Michael

Thanks,
- Kever


Michael

                  } else {
                          size_ll = ustrtoull(p, &p, 0);
                          parts[i].size = lldiv(size_ll, dev_desc->blksz);
--
1.9.1








_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to