Close
Advertise Here
Results 1 to 1 of 1
  1. #1
    OUYA Developer Eldon.McGuinness's Avatar
    Join Date
    Oct 2013
    Location
    www.Progressivethink.in
    Posts
    1,519


    2 members found this post helpful.

    Mount USB obb/data on internal SDCard

    Like most users I have a few number of side-loaded applications on my OUYA. One thing that has always bugged me is how some just refuse to work with external storage, forcing me to keep their LARGE data files on the limited internal storage space. Luckily, I finally figured out a good way to get around this limitation by mounting the needed folders onto the internal storage filesystem. If you would like a technical walkthrough on what happens please skip to the end of this post, if you just want to get it working then please see below.

    Screen Shots and Possibly a Youtube walkthrough will come in the future when I have time to grab them.

    Requirements


    • Universal Init.d
    • RootMyOUYA
    • SuperUser (SU)
    • Busybox
    • A way to copy mountUSB to /system/etc/init.d ( Can use an app or adb)


    Walkthrough

    Root your OUYA! Install and run [ RootMyOUYA ]

    Launch the RootMyOUYA application and click "ROOT", then wait for it to finish. Once it is done you can exit it and move on to Busybox.

    Install [ SuperUser ]


    Install the SuperUser application to ensure your applications can get elevated privileges if needed.

    Install [ Busybox ]


    Launch the Busybox application then click install, if prompted make sure you do a "Normal" install, DO NOT do a "Smart" install. Once the install is done continue to the next step.

    Put the [ usbMount.sh ] script in /system/etc/init.d/ using [ Root Browser ]

    Using Root Browser, ensure the folder "/system/etc/init.d" exists, if it does not create it and place the usbMount.sh file in it.
    Change the permissions on the usbMount.sh file to 774 (Giving Owner and Group Read, Write and Execute access, but limiting Others Read)


    Install [ Universal Init.d ]

    Launch the Universal Init.d application and toggle to On/Off switch to "On" to enable the application.

    Final bits

    Create an "obb" folder and "data" folder in "/mnt/usbdrive/Android", if the Android folder does not exist in "/mnt/usbdrive" then create it. Then populate the obb and data folders as needed. If you want to move data from the OUYA install memory to the USB drive then you need to do this before the usbMount.sh script is run, the easiest way to do this is by disabling Universal init.d by toggling the On/Off button to "Off" and then Powering the OUYA off then back on. You must power the device down with the power button on the OUYA, putting it to sleep is not the same thing. Don't forget to toggle Universal Init.d back to "On" when you are done.

    Common Questions

    - I copied the data to /mnt/usbdrive/Android/data or /mnt/usbdrive/Android/obb but the application is still not finding it, how do I fix this?
    Any time you place new files into either the data or obb directory you will need to power the OUYA down, using the power button on the OUYA, and then start it back up. This forces the script to re-read both directories and create the needed links.

    Thanks & Credits
    Big Ups to the makers of RootMyOUYA, Busybox, Root Browser, and Universal Init.d; to be clear, the only thing here that I created is the usbMount script.

    Techy Babble
    For those of you who want to know exactly what voodoo is going on, please read on, if you are happy in your bliss then please ignore this section.
    This script works by launching the mountUSB.sh file on each boot. This file sits and waits 15 minutes for a USB drive to be plugged in and mounted by the OUYA, once the device is seen it binds each directory in "/mnt/usbdrive/Android/obb" and "/mnt/usbdrive/Android/data" to their corresponding folders in "/mnt/sdcard/Android". The end result is the OS thinks the files in question are on the internal storage, so the apps work as they should. It is important to note this application is only run once on each cold boot, this means to get the mount points to update you need to power down the device using the power button and then power it back on.
    Last edited by Eldon.McGuinness; 07-26-2014 at 06:32 PM.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •