The version of Android I used was Lollipop 5.1, the version of Multirom was v32, and the version of TWRP was 2.8.6. I used the TWRP from Multirom package which means it comes with multirom menu within it.
Installing Multirom is the pre-requisite to run FatdogArm on Nexus7.
Skip directly to the steps.
Multirom is a boot-manager that enables us to run multiple operating systems (including multiple versions of Androids) on Nexus7 and its close variants.
Its purpose is a very close to KexecBootMenu which I wrote a couple of years ago, but it is a lot more polished and encompassing - not only it can boot Linux, it can also boot Android. Not only it acts as boot-manager, it also manages the images of the operating systems (aka "firmware" or "ROMs") that it uses for bootin: you can install and remove these operating systems with easy; from either Nexus7 internal MMC or from external USB OTG flash drive.
KexecBootMenu was not too successful because of one BIG problem: many ARM kernels are not compatible with Linux kexec system call. The kexec is effectively a warm-boot: the current kernel loads the new kernel, and then executes it; and hardware is NOT reset during the kernel switching. A lot of the devices on the ARM SoC does not like to be re-initialised for the second time, so when the new kernel starts it will immediately crash because of unexpected behaviour from the devices that is trying to initialise.
Nexus7 which uses Nvidia Tegra3 SoC is no exception. But Vojtěch Boček (tasssadar) - the author of Multirom - found a solution: instead of doing a warmboot, why not doing a cold boot (in his term - a "hard boot")? This will reset all the devices to their initial states, and the new kernel will have no problem re-initialising them later.
Of course, the really hard problem is figuring out how to keep the new kernel stay in memory during a hard boot :) A hard boot means you need to re-initialise the memory controller too, and during that period you can generally expect that memory contents will not be preserved.
Well, Vojtěch is a really smart person and he figured out in certain SoCs (e.g. in Nexus7) that some memory regions is preserved during such cycle. He used to knowledge to patch the Linux kernel kexec and reboot syscall to use that area and modified the warm-reboot process into a hard-reboot process, and you can find his announcement here. (kudos!). He even provided a guide on how to do that on other SoC too! Look here if you want details.
With Multirom, you can do a multi-boot various operating systems without having to permanently install them into Nexus7. You can install and uninstall OS images as you wish, and you can choose which one to use at boot time. It is the ideal choice to run FatdogArm - you can run it when you like it, and run the original Android on your Nexus7,
If you have a compatible device with Multirom, I recommend that you try it. Even if you don't plan to use FatdogArm or other operating system, you can at least try to boot multiple versions of Android ☺
You can either get this by downloading Android SDK and installing it and asking it to update the platform tools to the latest version, or download directly from here: https://dl-ssl.google.com/android/repository/platform-tools_r22-linux.zip
Note that this contains 32-bit binaries, so you will need your 32-bit compatibilty libraries if you run 64-bit Linux.
This guide for Lollipop 5.1, so the links given are for those, but the multirom homepage contains binaries for other versions of Androids too; as well as for devices other than Nexus7. You must make sure that you choose the right version for your device and the version of Android you're using. If you are using Cyanogen instead of stock android, he has supports for some versions too.
All done, now is the time to do the actual installation. It is quite straightforward really, just follow the steps:
adb push multirom-grouper.zip /sdcard/
adb push kernel.zip /sdcard/
adb reboot bootloader
fastboot oem unlock
#
adb reboot bootloader
again.
fastboot flash recovery twrp-multirom.zip
adb install multirom.apk
.
Done.
Then it's time to use Multirom to install FatdogArm or any other operating systems supported by Multirom.
I did it this way so I can install Multirom directly from clean, un-rooted device.