1. All devices running X (let's call it U-X)
2. New devices launching with X (let's call it L-X)
This means old devices upgrading to X only need to follow U-X, not L-X.
It is called "2-Stage-Init", or let's shorten as 2SI. 2SI is required to support logical partitions as the kernel cannot mount the super blocks directly without userspace support.
P.S. 2SI is a NIGHTMARE to work with, so yeah....
source.android.com/devices/bootlo…