This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Is it possible to root Beaglebone Black Android image


I'm trying to mount USB storage from terminal. I'm using "Terminal Emulator" app. I'm trying to use following commands to mount USB:

mount -t vfat -o rw /dev/block/sd* /storage/usb1


su mount -t vfat -o rw /dev/block/sd* /storage/usb1

I'm getting "permission denied" message. I tried different su binaries. One of them is:

The shell command which I'm using is working in adb. But I have to execute it within an app. Without permissions I cannot do that. So:

1) Is it possible to root this Android image (I'm using TI release for Beaglebone Black).

2) Or can i give permissions using chmod ? If i can, which files should i give permission?

3) Or is my approach wrong?

  • Hi,

    BeagleBone Black console is alread rooted and root prompt is available through serial connection or adb shell. Can you use a serial prompt or adb shell instead of terminal emulator?

    ADB user guide



  • Hi Arun,

    Thanks for reply. Adb is working fine. But  I want to mount USB storage within an application. Basically I'm trying this code:

    Process proc = Runtime.getRuntime().exec("su mount -t vfat -o rw /dev/block/sd* /storage/usb1");

    But since there isn't a working su library, code doesn't work. I'm not getting an exception but nothing happens either. I tried:

    Process proc = Runtime.getRuntime().exec("ls");

    BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(proc.getInputStream()));


    and it's working fine. So i assume that the problem is the permissions. Terminal Emulator says I don't have permission for "mount" and the above code works the same way. 

    If I can correctly set permission of files using "chmod 0666 ....", I think problem can be solved. But I'm not sure which files' permission I should change. And some permissions are being set in boot process I think I should change some of them too.

    Or if I have a working su binary, I could mount USB storage without proper permissions.

  • I finally found the solution. Yes ADB of Beaglebone is rooted but there isn't a SU binary. So I wasn't able to execute this code within my app:

    Process proc = Runtime.getRuntime().exec("su mount -t vfat -o rw /dev/block/sd* /storage/usb1"); 

    But I finally find a program to root Beaglebone Black and install a valid SU binary. You can download it here :

    But be careful! It installs bunch of unwanted programs to your computer too. Once you install the program, connect your Beaglebone via USB. First you need to unroot Beaglebone. So open the program, you downloaded, and click UNROOT. It will take a couple of minutes. Then restart your Beaglebone and click ROOT from program. Then restart your Beaglebone again. And voila :D You have 100% rooted Beaglebone with a valid SU binary.

    You can mount and unmount USB storages and copy files within your application . But You should do it like that :

    Process proc = Runtime.getRuntime().exec("su", null, null);
    OutputStream os = proc.getOutputStream();

    os.write(("mount -t vfat -o rw /dev/block/sd* /storage/usb1; cp -R /myFile /storage/usb1").getBytes("ASCII"));

  • Hey Arun,

    I am a newbie to the BBB-Android platform and have run into some glitch regarding this. I wanted to run android apps through BBB. I was following the rowboat procedure, also the steps mentioned by TI. I have mounted my BBB with the android image file, but now i cannot get the BBB to detect in my pc. Hence I am kinda stuck and not sure how to go forward. Can you please guide me??