[U-Boot] Adding new partition in uboot

Sagar Heroorkar sagar.heroorkar at gmail.com
Sun Mar 21 23:13:44 CET 2010


Hi David,

I was exploring the ways to add partition into the blob dynamically.

I followd the following steps.

1) say we have 5 partitions.  Flash size is 128mb

norflash at 0,0{
1----------
2------------------
3
----
    5
      partition at f80000 {
                        label = "u_booot";
                        reg = <0xf80000 0x60000>;
                    };

2) i am trying to add 6th partition dynamically in uboot.

   I used the the nodeoffset of norflash at 0,0 which is parent offset wher i
want to create 6th partiton. I passed  this parent offset to
        ret  =  fdt_add_subnode(blob,nodeoffset, "partition at 6800000");
        nodeoffset = ret;
        ptr[0] = 0x6800000;
        ptr[1] = 0x800000;
        offset = 0x6800000;
        regs[0] += size_delta;
        memcpy(regs, ptr, plen);
        ret = fdt_setprop(blob, nodeoffset, "reg", regs, plen);

I am printing the the blob later. i see that node is created but the last
partition ie u-boot @ f80000  is going away.

the blob size is 8000 byes which we built using the

dtc -S 8000 -R 7 -I dts -O dtb -o file.dtb file.dts


Let me know if we need to increase size of the blob or something which i m
missing.
This is going to help  a lot if you can reply.

-Sagar


More information about the U-Boot mailing list