[OnePlus Nord N200 5G] oCAPTCHA:
A Generic System Image, is a universal version of android, which is available since project Treble separated the O/S into a "HAL" (Hardware Abstraction Layer) driver layer interface and the core operating system.

boot contains the kernel.

vendor, vendor_dlkm, odm, odm_dlkm are the drivers.

system, system_ext are the O/S core.

product is device specific O/S customizations.

View attachment 5431175

Overview | Android Open Source Project

source.android.com

Project Treble is a good thing, making strides for Android to become a standardized operating system.

GSI install Guide:

Using information from:

Generic system images | Android Open Source Project

source.android.com

We find that we are supposed to flash vbmeta.img with "--disable-verification" because GSIs don't "include a verify boot solution". However, this step is not required on our particular device, due to OnePlus specific changes of verification being automatically disabled upon bootloader unlock.

Prerequisites: unlocked bootloader, up to date fastboot installed on a computer

1. Boot the phone into fastbootd mode by:

booting into recovery mode, by holding power and volume down during boot, then

rebooting into fastboot (only) mode, using touch menus: advanced, reboot into fastboot, then

connecting usb-c to a computer and using the poorly named command:

fastboot reboot fastboot.

Now we can use fastbootd commands.

2. We must erase the system partition:

fastboot erase system

3. next we need to obtain a GSI. I used phhusson's GSI build.

Releases · phhusson/treble_experimentations

Notes about tinkering with Android Project Treble. Contribute to phhusson/treble_experimentations development by creating an account on GitHub.

github.com

Choose arm64-ab for our phone's architechture

floss for open source apps but no GAPPS or vanilla for no GAPPS,

don't choose vndklite (Vendor Native Development Kit Lite) as it is a compatibility version for older versions of android's "HAL" layers.

"system-roar-arm64-ab-floss.img.xz"

decompress it to .img (and rename to GSI.img for brevity)

4. If we attempt to flash our GSI into the system partition:

fastboot flash system GSI.img

It will inevitably fail due to "not enough space to resize partiion"

The tool isn't smart enough to handle this task of resizing a "full" dynamic partition.

So we have to delete virtual partitions out of super to make room.

5. We must remove any present -COW partitions, which are Copy On Write partitions, which seem to be made by an A-Only virtual dyamic upgrade system. Their purpose is to host temporary changes to a partition, so the original partition is preserved for an emergency rollback, using associated interfaces to the original partition and the COW partition for access.

check your "fastboot getvar all" for any COW partitions, and delete them.

fastboot delete-logical-partition system_b-cow

6. In the official documentation, they admit that we have to delete the product partition(s) manually to make room.

fastboot delete-logical-partition product_a

fastboot delete-logical-partition product_b

7. With that done, we can reattempt to flash the GSI.

fastboot flash system GSI.img

8. The official instructions then require a fastboot -w in order to clear user data and "system partitions" data, but this is optional.