Changing partition setup on Edison

This is a quick note on how the partitions are setup on Edison and how to change that should you want to. We’re also discussing this in this Edison Community thread.

Partitions are setup by the U-Boot script after the so-called “recovery” flashing which reflashes the U-Boot piece. A list of partitions to be created is stored in in edison-src/device-software/meta-edison-distro/recipes-bsp/u-boot/files/edison.env file in the BSP, in “partitions” variable. Rootfs one is set to 512MB there, /home is set to “all the rest”, so you can just increase rootfs and /home will shrink automatically.

And a second part of this is the rootfs image size itself, which is set in the edison-src/device-software/meta-edison-distro/recipes-core/images/edison-image.bb and is also 512MB.

I’m not sure if the flashing process would be able to write smaller image to bigger partition automatically, so I’d rather modify both in sync to make sure.

And then first-install shell script runs upon the first boot and creates filesystems on those partitions. It’s not affected by this change unless you change the order of partitions.

Note that you have to be able to flash your Edison using the wired connection and dfu-util. OTA method won’t work for this approach as it doesn’t change the partitioning scheme. When flashing you’ll need to run flashall.[bat or sh] --recovery first – that will create new partitions, among other things – and then just a usual flashall.[bat or sh], without arguments, which would flash the rootfs and format the partitions with file systems.

Note that messing up with partitions may brick your Edison (so you better know what you’re doing), however just reflashing it with the official image and --recovery switch first, then without any switches, should get you back to normal, if you haven’t broken it beyond what that U-Boot partitioning script can handle.

Leave a Reply

Your email address will not be published. Required fields are marked *