Enable dynamic partitions

This enables dynamic partitions build, which applies next changes:
 - building "super.img", which should be flashed to "super" partition;
   it contains system and vendor logical partitions
 - building boot.img with normal ramdisk; system won't be mounted as
   root anymore (it will be mounted to /system), as system partition
   is now logical partitions inside of super partition
 - building recovery.img, as we can't use boot.img to store recovery
   ramdisk anymore; we can't get away without recovery at all, because
   flashing logical partitions is only possible from fastbootd mode,
   which should be done on recovery boot
 - fstab is changed to mount system and vendor as logical partitions
 - early mounting should be removed from dts file, as system and vendor
   are logical and can't be mounted that easy; it's done from fstab
   now, when booting the ramdisk

Bootloader should be accommodated for this change, by replacing
"system" and "vendor" partitions with a single "super" partition. Also,
"skip_initramfs" param shouldn't be passed to kernel anymore, as we are
using ramdisk again.

In kernel we should remove dra7xx-android-fstab.dtsi file (so called
"dtb fstab", see [1] for details).

As super.img will be generated, one can flash it instead of system.img
and vendor.img, from bootloader's fastboot mode:

    $ fastboot flash super super.img

If it's needed to only update system or vendor partition, one can reboot
to recovery mode, enter "Android Fastboot" (fastbootd), and flash
logical partitions from there, like this:

    $ fastboot flash system_a system.img

[1] https://source.android.com/devices/architecture/kernel/mounting-partitions-early#fstab-entries

Change-Id: I83a2cff34ece945cae7689c6248bb7f1800cdac2
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
4 files changed