How to flash Android to Nintendo Switch SD card with bigger FAT32 partition REQUIREMENTS: An unpatched Nintendo Switch that can boot payloads from RCM (this means later models and the Switch Lite will not work) A Micro SD card A PC running Linux (a Linux virtual machine will not work) An archive manager that can open .img files (like P7Zip GUI version or Peazip) GParted partition manager 16GB Android SD card image downloaded from XDA forums Shield-ifier ZIP L3/R3 fix ZIP OpenGapps ARM64 Android 8.1 ZIP (any flavour will do, I suggest pico or nano as you can always download the apps you need later) Hekate IPL bootloader OPTIONAL: Magisk Manager APK This process will delete all the contents of your micro SD card, so back them up before proceeding! 1) Extract the Android SD card image from the .img.gz archive if not done so already, then open the .img file with your archiving software and extract the .img files inside. You will need them later. 2) Insert the micro SD card into your computer and open GParted. Select your micro SD card from the device selection menu and delete all partitions on the micro SD card. Then, go to Device > Create Partition Table, select gpt from the dropdown menu and click apply. 3) Now it's time to create the required partitions. Create them in the following order. (For the first partition, the size in MiB will be the free space in MiB minus 12795MiB, minus more if you want to expand the Android userdata partition or install emuMMC in the future). PARTITION NAME: PARTITION LABEL: SIZE (MiB): FILESYSTEM: hos_data hos_data See above FAT32 (none) (none) 1127 unformatted (none) (none) 2253 unformatted (none) (none) 70 unformatted (none) (none) 70 unformatted (none) (none) 30 unformatted (none) (none) 9245 unformatted Apply the pending operations. Do not resize the userdata partition or create the emuMMC partition just yet. 4) Close GParted and open a temrinal window. Enter "sudo fdisk -l" and type your password if it asks you to. It will show you information about your micro SD card and all the partitions on it. The command output should look something like this: Disk /dev/sdc: X.X GiB, X bytes, X sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX Device Start End Sectors Size Type /dev/sdc1 X X X XG Microsoft basic data /dev/sdc2 X X X 1.1G Linux filesystem /dev/sdc3 X X X 2.2G Linux filesystem /dev/sdc4 X X X 70M Linux filesystem /dev/sdc5 X X X 70G Linux filesystem /dev/sdc6 X X X 30M Linux filesystem /dev/sdc7 X X X 9G Linux filesystem Then CD to the directory where you have the .img files that you extracted in step 1, and type ls to view the files in that directory. 5) Now, enter this command: sudo dd if=vendor.img bs=512M of=/dev/sdc2 status=progress && sudo dd if=system.img bs=512M of=/dev/sdc3 status=progress && sudo dd if=boot.img bs=512M of=/dev/sdc4 status=progress && sudo dd if=recovery.img bs=512M of=/dev/sdc5 status=progress && sudo dd if=dtb.img bs=512M of=/dev/sdc6 status=progress && sudo dd if=userdata.img bs=512M of=/dev/sdc7 status=progress If the command output in step 4 has /dev/mmcblk0p instead of /dev/sdc for example, use that. Make sure you double check that it is the micro SD card that you are writing to, and not another disk like your PC's HDD. I am not responsible if you blindly copy and paste this command and end up making your PC unbootable, if the partition paths are different then change them before running this command. If all's fine however, press ENTER after inserting the command and go make a cup of tea because this will take a long time. 6) After that's done, enter "sudo fdisk -l" and check your micro SD card again. The device path might have changed (e.g. from /dev/sdc to /dev/sde). Now we will be converting a partition to hybrid GPT/MBR. Enter "sudo gdisk /dev/sde" and then enter "p" when prompted to list the partitions, then enter "r" and then "h". It will ask you which partition to add to hybrid MBR. First, we'll do the 1st partition (hos_data), so enter "1". Then enter "N", then "EE", then "N", then "N" again after it asks you about finding unused space on the disk. Once it asks to enter a recovery/transformation command again, enter "o" to view, then "w" to write, then "Y" to confirm. 7) Once it's finished, open GParted again and select your micro SD card from the device selection menu. You'll see that the vendor and system partition each have a label but no name. Right click on each partition, select name partition and name them "vendor" and "system" respectively. Then, name the four partitions after that "boot", "recovery", "dtb" and "userdata" in the same order. 8) If you want to, now's the time to expand the userdata partition to any size you want. Otherwise, skip this step. 9) Apply the changes and exit GParted. Then, open a terminal window and "sudo fdisk -l" and check your micro SD card once again, just to make sure everything has been done correctly so far. We will now be converting another partition to hybrid GPT/MBR. Now, enter "sudo gdisk /dev/sde" and then enter "p" when prompted to list the partitions, then enter "r" and then "o". As you will see, the MBR partition scheme has been re-written. Enter "h". It will ask you which partition to add to hybrid MBR. We'll do the 1st partition (hos_data) again, so enter "1". Then enter "N", then "EE", then "N", then "N" again after it asks you about finding unused space on the disk. Once it asks to enter a recovery/transformation command again, enter "o" to view, then "w" to write, then "Y" to confirm. 10) OK, we are now officially done with messing about with the filesystem, partitions, partition tables and all that other crap. We just need to copy the required files to the hos_data partition (the one that the Switch will be able to read) to boot Android. Open the hos_data.img file (extracted in step 1) with your archiving software and extract the files to hos_data. However, the version of Hekate included is outdated. Delete the existing Hekate payload, then download the latest one and copy it to hos_data. Also, if you backed up your micro SD card before starting this tutorial, you can copy all the files back so you can play all your Switch games/homebrew. Don't overwrite/delete hekate_ipl.ini (located in the bootloader folder) if you have an existing configuration, instead edit the one included in the hos_data.img file. Don't change the Switchroot Android entry. 11) Now, we will copy over the files we need for Android. This is important if you want to use Google Play and root access, along with fixes/enhancements for games on Android. Download the Shield-ifier ZIP, L3/R3 fix ZIP, OpenGapps (make sure you choose ARM64 for Android 8.1, any flavour will do but I suggest pico or nano as you can always download the apps you need later) and the latest version Magisk ZIP. You can use any root package you like, for example SuperSU, but I prefer Magisk as it is a system-less root method that does not change any files on the system. Plus, you can download additional modules through the Magisk manager app. There's one module that adds iOS 12 emojis to your Android system. Anyways, copy them somewhere on hos_data, as you will flash them later. 12) Everything is done on the PC side of things. You have now fully prepared your micro SD card, so insert it into your Switch. I recommend you boot into Horizon/CFW first just to make sure all your games/homebrew is still working. After that, boot into Hekate and select "more configs". You'll see the "Switchroot Android" option, so press and hold volume up on your Switch, select Switchroot Android while still holding volume up, and don't release it until you boot into TWRP. 13) Once you've booted into TWRP, swipe the slider to allow modifications. Then tap "Mount" and select all the partitions displayed. Uncheck "make system read only". Go back to the TWRP main menu, then select "Install". Navigate to your micro SD card, to the directory where your ZIP files are, and install them. You need to perform this step before you boot Android for the first time, if you do it later it won't work. 14) Once that's done, reboot and wait for Android to start. It will probably take a long time to boot for the first time. Once it's booted, go through the initial setup. There should be an ANR dialog, just tap "ignore" and it won't appear again. That's it! You've successfully installed Android on your micro SD card. I'm not going to include instructions for emuMMC as I don't use it, so you'll have to watch the video for that. Enjoy!