Larger partition size

Joined
Feb 2, 2020
Messages
40
Reaction score
7
Age
57
Anyone know how to build an image with a larger partition size. The current default is 90MB, which is very small. I'm trying to install some additional software that will not fit in the current partition size.

I changed the "BOOT_SPACE" variable in image_typpes_3dr.bbclass, and it made a larger .rootfs.sdcard, but if I write that to an sdcard it doesn't boot, and it doesn't appear to be a bootable image from what I can tell looking at the contents on another machine.
 
Booting these embedded systems isn't like booting an SSD on a regular x86 Machine. There are offsets and sizes to be observed.

I'll try to search it down tomorrow, but I wonder if mounting another partition during boot, but after the kernel loads might not be more effective? This is relatively easy to accomplish, but I don't know what software you're trying to include so I can't say for sure.
 
.....but if I write that to an sdcard it doesn't boot, and it doesn't appear to be a bootable image from what I can tell looking at the contents on another machine.
Do you have the required bootloader image available?

If you don't change the size does it make a bootable card?
 
Booting these embedded systems isn't like booting an SSD on a regular x86 Machine. There are offsets and sizes to be observed.

I'll try to search it down tomorrow, but I wonder if mounting another partition during boot, but after the kernel loads might not be more effective? This is relatively easy to accomplish, but I don't know what software you're trying to include so I can't say for sure.

I had hoped that, since there's a settable variable in a script that specifies the size, that it would figure that out for me. The only constraint that I saw was 4k alignment, which shouldn't be an issue, since I just tried doubling the size.

Do you have the required bootloader image available?

If you don't change the size does it make a bootable card?

I did not try making a bootable image without modifications. I suspect that might be "broken" as well, since the contents of the image did not look like a bootable image.

Maybe I should have just asked if anyone knows the process for making a bootable sdcard. I suppose I could try doing it manually by copying a known good sdcard and resize/copy the partitions. That might work unless uboot is storing absolute locations, but I doubt it's doing that.

As for the software that I want to install. The partitions are only 90MB, so adding just about anything to the build will exceed that. Maybe the sdcard image was originally intended to fit on a 512MB card, but that doesn't seem necessary these days, and it makes life difficult to try things out.

Specifically what' I'm trying to install is gstreamer-1.0, which there is a recipe for, and it builds with minimal modifications, but doesn't fit. The version of gstreamer-0.10 that is installed doesn't have h264 UVC webcam support, and I'm pretty sure both versions will work side-by-side, so adding it shouldn't be an issue.
 
To follow up on this. I was able to increase the partition size using the following process:
  1. Copy (dd/win32diskimager) the original 8G sdcard to a 32G sdcard
  2. Insert the sdcard into another linux system
  3. Mount each of the 4 partitions and copy them to a separate subdirectory using "rsync -av <solo dir>/ <backup dir>/
  4. Resize partitions 2, 3, and 4. I did not resize the first partition, which I think is a boot partition.
  5. Copy the data back onto each of the partitions using rsync the other way
I don't know if it's important, but I made each partition 2097152 512 byte blocks for 1G each, except for the last partition, which I sized to fit the remainder of the disk. I also reserved the same amount of space for the first partition but didn't use it.

I tested it by installing gstreamer-1.0, which makes my root partition now 134 MB. I have not yet tried making a golden backup with the new partition scheme, but I don't expect it to be a problem.

Now I have plenty of breathing room...
 
  • Like
Reactions: just_bruce
This was something I was also thinking about, but I've been busy with other things. Glad you're documenting all of this for the future. There is almost enough that we might think about hosting this on a git or a wiki somewhere.....
 
I'm just about to try it in-place so that it can be done (with some risk) on a Solo without pulling out the sd card. I think it will work, but not 100% sure. Fingers crossed!

Of course, it's on a copy of the sd card that that I have easy access to, so no risk to me... this time... :)
 
Just a minor update. So far the self healing embedded in the Solo has defeated my attempts to resize the partitions without removing the sd card, but I'm not finished yet!

Some of the issues that I ran into:
  1. mkfs.ext3 is not on the standard image. It must be somewhere in the recovery partition, but I haven't found it yet. Of course, you can scp a copy to the copter.
  2. The kernel refuses to re-read the partition table when it's changed, which means having to reboot after changing the partition table, which kick in the recover process that tends to undo all your efforts. I'm sure there's a way to turn that off, but I haven't found it / looked for it yet.
In any case, I haven't found any problems with solo or controller partitions that have been resized on another system, although I haven't tried a reset yet to see if it resets the partitions.
 
@webbbn
Have you considered moving to another platform? Are you dead set on staying with the sololink? And if so why?
 
What other platform?

The one unique (as far as I've seen) feature of the Sololink is the integrated HDMI encoder. Having an integrated high-power wifi is also pretty unique.

Do you know of anything else that has all the features of the Sololink? If so, I would love to see it.
 
What other platform?

The one unique (as far as I've seen) feature of the Sololink is the integrated HDMI encoder. Having an integrated high-power wifi is also pretty unique.

Do you know of anything else that has all the features of the Sololink? If so, I would love to see it.
I really want you to continue this work so I should probably keep my mouth shut but..... Have a look of the HereLink
 
Oh, I've seen herelink, but is that open source? Can I modify it?

It's also way more expensive than what I can pick up the equivalent parts for from soolink.
 

Members online

No members online now.

Forum statistics

Threads
13,093
Messages
147,741
Members
16,048
Latest member
ihatethatihavetomakeanacc