Coby Kyros ships rooted

Discussion in 'Coby Generation 1' started by l_n, Jan 6, 2011.

  1. l_n

    l_n Senior Member

    Joined:
    Dec 28, 2010
    Messages:
    788
    Likes Received:
    99
    Trophy Points:
    102
    Location:
    TN, USA
    Tablet / Device:
    Mid7015
    I just tested my theory about ro.secure=0 meaning the kyros was already rooted.

    i mv'ed SuperUser.apk to SuperUser.bak and mv'd su to su.bak and then rebooted the device.

    after rebooting, i connected via adb and had a root shell. so, for apps to have root access, all we have to do is push su, busybox, and SuperUser.apk onto the device via adb. z4root is *not* necessary.

    (and, just for good measure, after rebooting i killed the adbd process and then reconnected. i still had a root shell)
     
    Last edited: Jan 6, 2011
  2. Ridgeland

    Ridgeland Member

    Joined:
    Dec 14, 2010
    Messages:
    285
    Likes Received:
    9
    Trophy Points:
    87
    Location:
    Ridgeland, WI, USA
    Tablet / Device:
    Coby MID7015-4G
    Good progress!
    I have Eclipse with Android SDK and adb.
    With Eclipse running AVD emulator and with the Coby also attached to the PC I get:
    $ adb devices
    List of devices attached
    emulator-5554 device
    ???????????? no permissions

    I have not rooted the Coby so it denies access as I would expect. The emulator is open for adb.

    So Catch 22? Do you have to root the Coby to be able to use root without rooting?
    I'm following with interest...
     
    Last edited: Jan 6, 2011
  3. l_n

    l_n Senior Member

    Joined:
    Dec 28, 2010
    Messages:
    788
    Likes Received:
    99
    Trophy Points:
    102
    Location:
    TN, USA
    Tablet / Device:
    Mid7015
    run (on the linux box):
    Code:
    sudo adb kill-server
    sudo adb start-server
    adbd has to be running as root.

    my coby shows up as device # 0123456789ABCDEF
     
    Last edited: Jan 6, 2011
    • Like Like x 2
  4. Ridgeland

    Ridgeland Member

    Joined:
    Dec 14, 2010
    Messages:
    285
    Likes Received:
    9
    Trophy Points:
    87
    Location:
    Ridgeland, WI, USA
    Tablet / Device:
    Coby MID7015-4G
    $ sudo adb kill-server
    sudo: adb: command not found
    $ which adb
    /Data/Linux/OperatingSystems/Android/android-sdk-linux_86/tools/adb
    which is really a link to:
    /Data/Linux/OperatingSystems/Android/android-sdk-linux_86/platform-tools/adb
    Took some trial and error but this worked:
    $ sudo su
    # cd /Data/Linux/OperatingSystems/Android/android-sdk-linux_86/
    # platform-tools/adb kill-server
    # platform-tools/adb start-server
    # platform-tools/adb devices
    List of devices attached
    0123456789ABCDEF device

    I guess it has to do with root's PATH variable.

    Thanks for getting me there. Now I can learn how to use adb, I had ignored it since hitting the no permissions.
     
    Last edited: Jan 9, 2011
  5. Ridgeland

    Ridgeland Member

    Joined:
    Dec 14, 2010
    Messages:
    285
    Likes Received:
    9
    Trophy Points:
    87
    Location:
    Ridgeland, WI, USA
    Tablet / Device:
    Coby MID7015-4G
    studying
    Android Build System | Android Open Source
    It looks like Coby built the update.zip as build_variant=eng not build_variant=user
    Because by default adb client should be OFF, not ON.
    Also sets the ro.secure flag to 0 rather than 1
    default "make" is "make eng" although Android expects the shipped version to be "make user"
    I hope there are more than two of us exploring the possiblities. :)
     
  6. l_n

    l_n Senior Member

    Joined:
    Dec 28, 2010
    Messages:
    788
    Likes Received:
    99
    Trophy Points:
    102
    Location:
    TN, USA
    Tablet / Device:
    Mid7015
    Yeah, I saw that. I think to get non-adb root working you have to be sure to set the
    permissions of su to 4755 (Srw--rw-rw-).
    So manual rooting of this thing is:
    Code:
    adb root
    adb push SuperUser.apk /system/app/SuperUser.apk
    adb push su /system/xbin/su
    adb push busybox /system/xbin/busybox
    adb shell
    chmod 4755 /system/xbin/su
    chmod 0755 /system/xbin/busybox
    chmod 0644 /system/app/SuperUser.apk
    sync
    exit
     
    Last edited: Feb 27, 2011
  7. Ridgeland

    Ridgeland Member

    Joined:
    Dec 14, 2010
    Messages:
    285
    Likes Received:
    9
    Trophy Points:
    87
    Location:
    Ridgeland, WI, USA
    Tablet / Device:
    Coby MID7015-4G
    I don't have the file to push:
    SuperUser.apk
    In Ubuntu I have /bin/su and /bin/busybox
    are they the ones to push?
    With google I found Superuser.apk from mediafire
    unzipping the apk I see the dates are 4-29-2009 --- doesn't sound fresh.
     
  8. l_n

    l_n Senior Member

    Joined:
    Dec 28, 2010
    Messages:
    788
    Likes Received:
    99
    Trophy Points:
    102
    Location:
    TN, USA
    Tablet / Device:
    Mid7015
    No. you'll need the versions floating around for android. I think all three are floating around xda
     
  9. Ridgeland

    Ridgeland Member

    Joined:
    Dec 14, 2010
    Messages:
    285
    Likes Received:
    9
    Trophy Points:
    87
    Location:
    Ridgeland, WI, USA
    Tablet / Device:
    Coby MID7015-4G
    Thanks,
    I found su-2.3.6.1-ef-signed.zip in xda thread
    [APP] Superuser 2.3.6.1 - Now on the Market [2010-09-05] - xda-developers
    This zip is for eclair. Unzipping I found Superuser.apk and su. busybox is already on the Coby I pushed the other two on and ran chmod's and sync. Rebooted.
    I downloaded from AppsLib "Terminal Emmulator"
    Running the emmulator I can
    $ su
    Superuser pops up asking for permission - I OK it and get to
    #

    I also have a download of
    gapps-passion-EPE54B-signed.zip
    Which has a boat load of apps like GoogleApps.apk and Vending.apk (Market).
    Unzipping on the Coby in /nand/ I can see all these apps. But if I try to install Vending.apk I get an "Application not installed". No superuser pop-up asking if I want to give it root privileges.

    How do I install Market?
     
  10. l_n

    l_n Senior Member

    Joined:
    Dec 28, 2010
    Messages:
    788
    Likes Received:
    99
    Trophy Points:
    102
    Location:
    TN, USA
    Tablet / Device:
    Mid7015
    d/l the recovery.img from the Ultimate Guide thread. put it on your SD card. then do the following:
    Code:
    adb shell
    flash_image recovery /sdcard/recovery.img
    exit
    adb reboot recovery
    use home to move down in the menu (should be a green menu on black bacukground), menu button selects.
    scroll down to install zip from sdcard, push menu
    scroll down to choose zip from sdcard, push menu
    scroll to where you put the gapps zip (MUST BE ON THE SD CARD), press menu on the gapps zip
    scroll to Yes and press menu. wait.
    once it finishes, push the back button until you get to reboot device now and then press menu.
    gapps should be installed.
     
  11. Ridgeland

    Ridgeland Member

    Joined:
    Dec 14, 2010
    Messages:
    285
    Likes Received:
    9
    Trophy Points:
    87
    Location:
    Ridgeland, WI, USA
    Tablet / Device:
    Coby MID7015-4G
    Thanks l_n,
    I got Market installed.
    Compared to the Ultimate Guide, seems the only step this route bypasses is the z4root.
    I wanted Market for GasBuddy which works great.
    I don't see why apps like gasbuddy would be "Market-only" except maybe to use GoogleMaps maybe. Oh well.
     
  12. l_n

    l_n Senior Member

    Joined:
    Dec 28, 2010
    Messages:
    788
    Likes Received:
    99
    Trophy Points:
    102
    Location:
    TN, USA
    Tablet / Device:
    Mid7015
    this method is more enjoyable for the tinkerer, IMO. i like to do things by hand myself so that i *understand* what it is i'm doing. that's why I've always preferred working with the command line over a GUI. (as it stands, i have 3-4 terminals open running nano, emacs, whatever on one of my xfce desktops so i can actually get stuff done.)
     
  13. jegg

    jegg Member

    Joined:
    Dec 27, 2010
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    60

    Could you repost this message as something like "Kyros Ships Rooted For Dummies" so I can have a clue as to what you are talking about?:eek:
     
  14. l_n

    l_n Senior Member

    Joined:
    Dec 28, 2010
    Messages:
    788
    Likes Received:
    99
    Trophy Points:
    102
    Location:
    TN, USA
    Tablet / Device:
    Mid7015
    most production devices ship with ro.secure (in /system/build.prop) set to 1, which restricts root access. the coby has it set to zero, and adbd (the android debugging bridge daemon) runs as root on the device. so, to get permanent root access, all you have to do is put SuperUser.apk (the permission managing app), su (switch user) (installed with the setuid bit turned on (so it always runs as the root user)), and busybox (for lots of fun unix utilities in one binary) on the kyros and run 'sync' or reboot. and then you have permanent root access for applications.
     
  15. Ridgeland

    Ridgeland Member

    Joined:
    Dec 14, 2010
    Messages:
    285
    Likes Received:
    9
    Trophy Points:
    87
    Location:
    Ridgeland, WI, USA
    Tablet / Device:
    Coby MID7015-4G
    I learned a lot from this thread so I'll recap some here for others who find it cryptic.

    OP (Original Post) -
    mv is a Linux command for move or rename - mv'd is just englishing the command --- what was su is now su.bak
    l_n is just renaming two files to have them as backup when installing a new file of the same name.

    #2 #3 #4 - in Linux users have permissions - you already have enough Android (Linux) experience to know that root has "super power".
    From Linux run adb as root not as default user then you can access the device.
    adb is Android Debug Bridge Android Debug Bridge | Android Developers
    It's a tool to allow remote access to files on the Coby from your PC via the USB connection.
    I have it because I installed Android SDK - Developers kit and Eclipse.
    (Later I edited /root/.bashrc to have PATH=$PATH:/pathto/android-sdk-linux_86/platform-tools --- setting in PC-Linux
    Then when I started a terminal session I didn't even need to kill and start the server, just # adb devices and it launched the server.)
    A note: In the Linux terminal (like DOS or Windows->Command Line) the prompt $ is for the user, the prompt # is for root (system administrator, or super-user)
    In Linux the command "su" is the command to switch from user to root, $ changes to #

    #6, #7, #8 ,#9 - Now that adb is connecting to the Coby from my PC (Linux) it's time to setup those two files in the original post. Superuser.apk and su
    #9 is the zip file I downloaded that contained both Superuser.apk and su
    push is the command in adb to move something from the PC to the Coby (adb runs on the PC)
    #6 there are those permission settings again chmod is "change mode" is change permissions r-w-x (read-write-execute).

    #10, #11 - OK I got root but the only reason to do it is for Market. I followed in parallel this thread and the "Ultimate Guide" thread. All this thread did was skip z4root, and teach me more about Android. Now it's back to recovery.img The only real difference in the two threads is Ultimate Guide recommends and explains doing a backup.

    This post is an effort to demystify what is going on here for Windows users who don't yet know Linux (Android user = Linux user)
     
    Last edited: Jan 10, 2011

Share This Page