256gb EMMC Experiment

~~Tito~~ Jul 24, 2019.

  1. ~~Tito~~
    OP

    ~~Tito~~ GBAtemp Regular

    Member
    4
    Apr 7, 2009
    United States
    So I’ve hit a major roadblock. I can’t create more than 11 partitions on the emmc. I think this is related to nintendo’s partition scheme.

    Going to do some digging, but I thought GPT could have at least 128 partitions?

    I can make extended partitions...

    Edit:

    Just remade the partition map with gdisk. I can now create more than 11 partitions. Copied all the unique GUIDs that each partition had, and ensured that each had the correct GUID type code that nintendo sets. Looks as though we will have to manually remake the gpt table after restoring from a NAND Backup in order to get past the partition limitation. Going to post the before and after below. I've removed my GUIDs from this post just incase that is relied upon by nintendo's encryption. Horizon boots just fine with these changes. If you attempt to read the emmc info in hekate it will cause a bug which can only be fixed by relaunching hekate. So once you add the new gpt table. Don’t read emmc info in Hekate.

    Nintendo GPT Map after I extended the user partition
    Code:
    Disk /dev/disk3: 488554496 sectors, 233.0 GiB
    Sector size (logical): 512 bytes
    Disk identifier (GUID): XXXX-XXXX-XXXX-XXXX-XXXX
    Partition table holds up to 11 entries
    Main partition table begins at sector 2 and ends at sector 4
    First usable sector is 34, last usable sector is 488554462
    Partitions will be aligned on 2-sector boundaries
    Total free space is 63635423 sectors (30.3 GiB)
    
    Number  Start (sector)    End (sector)  Size       Code  Name
       1              34            8191   4.0 MiB     FFFF  PRODINFO
       2            8192           16383   4.0 MiB     FFFF  PRODINFOF
       3           16384           32767   8.0 MiB     FFFF  BCPKG2-1-Normal-Main
       4           32768           49151   8.0 MiB     FFFF  BCPKG2-2-Normal-Sub
       5           49152           65535   8.0 MiB     FFFF  BCPKG2-3-SafeMode-Main
       6           65536           81919   8.0 MiB     FFFF  BCPKG2-4-SafeMode-Sub
       7           81920           98303   8.0 MiB     FFFF  BCPKG2-5-Repair-Main
       8           98304          114687   8.0 MiB     FFFF  BCPKG2-6-Repair-Sub
       9          114688          245759   64.0 MiB    FFFF  SAFE
      10          245760         5488639   2.5 GiB     FFFF  SYSTEM
      11         5488640       424919039   200.0 GiB   FFFF  USER
    New GPT Table that correctly allows for 128 entries. This will cause a bug in hekate when reading EMMC partition information.
    Code:
    Disk /dev/disk3: 488554496 sectors, 233.0 GiB
    Sector size (logical): 512 bytes
    Disk identifier (GUID): XXXX-XXXX-XXXX-XXXX-XXXX
    Partition table holds up to 128 entries
    Main partition table begins at sector 2 and ends at sector 33
    First usable sector is 34, last usable sector is 488554462
    Partitions will be aligned on 2-sector boundaries
    Total free space is 63635423 sectors (30.3 GiB)
    
    Number  Start (sector)    End (sector)  Size       Code  Name
       1              34            8191   4.0 MiB     FFFF  PRODINFO
       2            8192           16383   4.0 MiB     FFFF  PRODINFOF
       3           16384           32767   8.0 MiB     FFFF  BCPKG2-1-Normal-Main
       4           32768           49151   8.0 MiB     FFFF  BCPKG2-2-Normal-Sub
       5           49152           65535   8.0 MiB     FFFF  BCPKG2-3-SafeMode-Main
       6           65536           81919   8.0 MiB     FFFF  BCPKG2-4-SafeMode-Sub
       7           81920           98303   8.0 MiB     FFFF  BCPKG2-5-Repair-Main
       8           98304          114687   8.0 MiB     FFFF  BCPKG2-6-Repair-Sub
       9          114688          245759   64.0 MiB    FFFF  SAFE
      10          245760         5488639   2.5 GiB     FFFF  SYSTEM
      11         5488640       424919039   200.0 GiB   FFFF  USER
    Just created my final partition map. Going to run L4T Last. Less partitions to deal with. Ignore the last two filesystem names. That will be changed once I restore each image. Last steps are to get the boot.scr files to point to the correct partitions on the EMMC instead of the SD. Pretty Excited at this point!
    Code:
    Disk /dev/disk3: 488554496 sectors, 233.0 GiB
    Sector size (logical): 512 bytes
    Disk identifier (GUID): XXXX-XXXX-XXXX-XXXX-XXXX
    Partition table holds up to 128 entries
    Main partition table begins at sector 2 and ends at sector 33
    First usable sector is 34, last usable sector is 488554462
    Partitions will be aligned on 2-sector boundaries
    Total free space is 0 sectors (0 bytes)
    
    Number  Start (sector)    End (sector)  Size       Code  Name
       1              34            8191   4.0 MiB     FFFF  PRODINFO
       2            8192           16383   4.0 MiB     FFFF  PRODINFOF
       3           16384           32767   8.0 MiB     FFFF  BCPKG2-1-Normal-Main
       4           32768           49151   8.0 MiB     FFFF  BCPKG2-2-Normal-Sub
       5           49152           65535   8.0 MiB     FFFF  BCPKG2-3-SafeMode-Main
       6           65536           81919   8.0 MiB     FFFF  BCPKG2-4-SafeMode-Sub
       7           81920           98303   8.0 MiB     FFFF  BCPKG2-5-Repair-Main
       8           98304          114687   8.0 MiB     FFFF  BCPKG2-6-Repair-Sub
       9          114688          245759   64.0 MiB    FFFF  SAFE
      10          245760         5488639   2.5 GiB     FFFF  SYSTEM
      11         5488640       424919039   200.0 GiB   FFFF  USER
      12       424919040       427141119   1.1 GiB     8300  vendor
      13       427141120       431681535   2.2 GiB     8300  system
      14       431681536       431824895   70.0 MiB    8300  boot
      15       431824896       431968255   70.0 MiB    8300  recovery
      16       431968256       432029695   30.0 MiB    8300  dtb
      17       432029696       463486975   15.0 GiB    8300  userdata
      18       463486976       484458495   10.0 GiB    AF00  Apple HFS/HFS+
      19       484458496       488554462   2.0 GiB     AF00  Apple HFS/HFS+
     
    Last edited by ~~Tito~~, Sep 2, 2019
    Rahkeesh and ganons like this.
  2. ganons

    ganons GBAtemp Addict

    Member
    7
    Jun 12, 2005
    You cant get SXOS to read XCI files from nand can you?
     
  3. ~~Tito~~
    OP

    ~~Tito~~ GBAtemp Regular

    Member
    4
    Apr 7, 2009
    United States
    Another update. Looks as though booting android/linux off EMMC is a bit more complicated than I thought. I'll have to compile a custom boot.scr binary, and add EMMC entries to the dts portion of the boot process? Once I have built that I'll add them to the thread for others to use.

    A ton of this is super new to me and I'll have to do more digging. I also did find that this has been tested before by the switchroot team. Which is good news. Right now the android images have been written to their respective partitions and are primed for booting.
     
    Last edited by ~~Tito~~, Sep 3, 2019
    Rahkeesh and Switch_Maniac like this.
  4. Rahkeesh

    Rahkeesh GBAtemp Maniac

    Member
    7
    Apr 3, 2018
    United States
    Dammit why can't they offer that. XD

    Told ya they were too afraid of people doing stupid things.

    Looking forward to what you come up with!
     
Quick Reply
Draft saved Draft deleted
Loading...