first i would like to say, if anything here is confusing in any way, its better to save yourself the headache and do nothing less you brick something, thought khadas devices are VERY hard to brick. still though better safe than sorry.
i compiled a new bootloader based on the latest one from the master branch with the changes for the userdata partition to take up the remainder of the storage and for rootfs to be a static 1GB. this may cause space problems on the vim3 basic that only has 16GB of storage so i dont recommend flashing on that device. i am not sure how much space is remaining for the rootfs to take up, or how much it needs so i just put it at a gig to not have issues. the userdata image is scaled up ~2x or 25GB for testing purposes so again should only be used on the pro version.
for those wanting to make changes to the bootloader to get a more optimal rootfs size you only need to change the config file {WORKINGDIR}>include>configs>khadas-vim3_android.h to the quoted below with size being where you make your changes:
#if defined(CONFIG_CMD_AB_SELECT)
#define PARTS_DEFAULT
“uuid_disk=${uuid_gpt_disk};”
“name=logo,start=512K,size=2M,uuid=” LOGO_UUID
“name=misc,size=512K,uuid=${uuid_gpt_misc};”
“name=dtbo_a,size=8M,uuid=${uuid_gpt_dtbo_a};”
“name=dtbo_b,size=8M,uuid=${uuid_gpt_dtbo_b};”
“name=vbmeta_a,size=512K,uuid=${uuid_gpt_vbmeta_a};”
“name=vbmeta_b,size=512K,uuid=${uuid_gpt_vbmeta_b};”
“name=boot_a,size=32M,bootable,uuid=${uuid_gpt_boot_a};”
“name=boot_b,size=32M,bootable,uuid=${uuid_gpt_boot_b};”
“name=super,size=3072M,uuid=${uuid_gpt_super};”
“name=rootfs,size={SIZE}M,uuid=” ROOT_UUID
“name=userdata,size=-,uuid=${uuid_gpt_userdata};”
#else
#define PARTS_DEFAULT
“uuid_disk=${uuid_gpt_disk};”
“name=logo,start=512K,size=2M,uuid=” LOGO_UUID
“name=misc,size=512K,uuid=${uuid_gpt_misc};”
“name=dtbo,size=8M,uuid=${uuid_gpt_dtbo};”
“name=vbmeta,size=512K,uuid=${uuid_gpt_vbmeta};”
“name=boot,size=32M,bootable,uuid=${uuid_gpt_boot};”
“name=recovery,size=32M,uuid=${uuid_gpt_recovery};”
“name=cache,size=256M,uuid=${uuid_gpt_cache};”
“name=super,size=1792M,uuid=${uuid_gpt_super};”
“name=rootfs,size={SIZE}M,uuid=” ROOT_UUID
“name=userdata,size=-,uuid=${uuid_gpt_userdata};”
#endif
the source code for this and compile instructions can be found here or in the device source bootloader folder. hope this helps others