How to Root MID7024

I've followed all the steps outlined in Dave's initial post. All seems to go well until I reboot my tablet and attempt to execute the su command. Then I receive 'permission denied'. I have tried 3 different versions of the su command su-v3, su-v2 ( from superclickone) and a version 2.3.6.1 of 'su' downloaded from Superuser. Running 'adb shell' and attempting the modified /system/xbin/su command I also get permission denied. I know the su program works as after run /etc/psneuter and getting the root prompt, I am able to execute the /etc/xbin/su command and I receive a new root shell(so su command works while executing as a root user). This is my first android but I have years of computer experience on linux and unix operating systems. What am I missing?

Regards

Herb Swanson

It most likely is either a space missing or to many spaces. :) Would be nice if it was a simpler method. You could try mudknot's way posted here: http://www.androidtablets.net/forum...nical/12842-how-root-mid7024-2.html#post76696
 
Before i slap the GPL on Coby USA can someone please confirm that his device has Busybox on it?

By adb:
Code:
cd /
find |grep busybox

Please paste results here. I'm thinking it has it instead of standard 'toolbox' binary.
If they left busybox in the device.. bad for them..
 
Before i slap the GPL on Coby USA can someone please confirm that his device has Busybox on it?

By adb:
Code:
cd /
find |grep busybox
Please paste results here. I'm thinking it has it instead of standard 'toolbox' binary.
If they left busybox in the device.. bad for them..

Asure, probably can't help much with mine being rooted, however I did see busybox and terminal in the system directories before rooting.
 
Thanks Dave. That's more than enough to warrant an investigation by the SFLC into Coby's illegal distribution of Busybox.
Also, since you have the original Coby branded unit, did your Coby device come with any mention of GPL or the GPL license in the box? Or, a written offer, say PDF on CD-Rom to obtain Busybox, or Linux Kernel sources that they modified?

Fyi SFLC has sued, for example, Best Buy and Western Digital on behalf of the BusyBox owners before, to protect our rights and get source released for products that fail to comply with the GPL license. (They are based in New York and have a long history when it comes to GPL matters.)
 
Asure, here is the init.rc from my 7024:

Code:
on init

sysclktz 0

loglevel 3

# setup the global environment
    export PATH /system/busybox/bin:/system/busybox/sbin:/system/busybox/usr/bin:/system/busybox/usr/sbin:/sbin:/system/sbin:/system/bin:/system/xbin
    export LD_LIBRARY_PATH /system/lib
    export ANDROID_BOOTLOGO 1
    export ANDROID_ROOT /system
    export ANDROID_ASSETS /system/app
    export ANDROID_DATA /data
    export EXTERNAL_STORAGE /mnt/sdcard
    export EXTERNAL_STORAGE_SD /mnt/sdcard
    export EXTERNAL_STORAGE_EXTSD /mnt/extsd
    export EXTERNAL_STORAGE_UDISK /mnt/udisk
    export ASEC_MOUNTPOINT /mnt/asec
    export BOOTCLASSPATH /system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar

    # ko files for 3D
    insmod /modules/pvrsrvkm.ko
    insmod /modules/s3c_lcd.ko
    insmod /modules/s3c_bc.ko

# Backward compatibility
    chmod 0777 /system/etc
    symlink /system/etc /etc
    chmod 0777 /etc
    symlink /sys/kernel/debug /d

# create mountpoints
    mkdir /mnt 0775 root system
    mkdir /mnt/sdcard 0000 system system
    mkdir /mnt/extsd 0000 system system
    mkdir /mnt/udisk 0000 system system

# Create cgroup mount point for cpu accounting
    mkdir /acct
    mount cgroup none /acct cpuacct
    mkdir /acct/uid

# Backwards Compat - XXX: Going away in G*
    symlink /mnt/extsd /extsd
    symlink /mnt/sdcard /sdcard
    symlink /mnt/udisk /udisk

    mkdir /system
    mkdir /data 0771 system system
    mkdir /cache 0770 system cache
    mkdir /config 0500 root root

    # Directory for putting things only root should see.
    mkdir /mnt/secure 0700 root root

    # Directory for staging bindmounts
    mkdir /mnt/secure/staging 0700 root root

    # Directory-target for where the secure container
    # imagefile directory will be bind-mounted
    mkdir /mnt/secure/asec  0700 root root

    # Secure container public mount points.
    mkdir /mnt/asec  0700 root system
    mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000
    mount usbfs none /proc/bus/usb -o devmode=0666
    mkdir /var
    mkdir /var/run

#    mount rootfs rootfs / ro remount

    write /proc/sys/kernel/panic_on_oops 1
    write /proc/sys/kernel/hung_task_timeout_secs 0
    write /proc/cpu/alignment 4
    write /proc/sys/kernel/sched_latency_ns 10000000
    write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
    write /proc/sys/kernel/sched_compat_yield 1
    write /proc/sys/kernel/sched_child_runs_first 0

# Create cgroup mount points for process groups
    mkdir /dev/cpuctl
    mount cgroup none /dev/cpuctl cpu
    chown system system /dev/cpuctl
    chown system system /dev/cpuctl/tasks
    chmod 0777 /dev/cpuctl/tasks
    write /dev/cpuctl/cpu.shares 1024

    mkdir /dev/cpuctl/fg_boost
    chown system system /dev/cpuctl/fg_boost/tasks
    chmod 0777 /dev/cpuctl/fg_boost/tasks
    write /dev/cpuctl/fg_boost/cpu.shares 1024

    mkdir /dev/cpuctl/bg_non_interactive
    chown system system /dev/cpuctl/bg_non_interactive/tasks
    chmod 0777 /dev/cpuctl/bg_non_interactive/tasks
    # 5.0 %
    write /dev/cpuctl/bg_non_interactive/cpu.shares 52

# mount mtd partitions
    # Mount /system rw first to give the filesystem a chance to save a checkpoint
#    mount yaffs2 mtd@system /system
#    mount yaffs2 mtd@system /system ro remount

    # We chown/chmod /data again so because mount is run as root + defaults
#    mount ubifs ubi0:userdata /data nosuid nodev
     mount ext4 /dev/block/mmcblk0p3 /data nosuid nodev

    mkdir /system/mnt/
    mkdir /system/mnt/flash
##    mkdir /NandDisk
#    mount ubifs ubi0:flash /system/mnt/flash nosuid nodev                                
    chown system system /data
    chmod 0771 /data

#install kernel driver modules
    insmod /system/utmodules/battery.ko                                         
    insmod /system/utmodules/button_ut7gm.ko                                         
    insmod /system/utmodules/mma7660.ko
    insmod /system/utmodules/s3c-ts.ko
    insmod /system/utmodules/uor6x5x_2p_ts.ko
    insmod /system/utmodules/ft5x0x_ts.ko                                       
    insmod /system/utmodules/ata2538.ko
    insmod /system/utmodules/pixcir_i2c_ts.ko
    insmod /system/utmodules/egalax_i2c.ko
    insmod /system/utmodules/goodix_touch.ko
    
        

    # Create dump dir and collect dumps.
    # Do this before we mount cache so eventually we can use cache for
    # storing dumps on platforms which do not have a dedicated dump partition.
   
    mkdir /data/dontpanic
    chown root log /data/dontpanic
    chmod 0750 /data/dontpanic

    # Collect apanic data, free resources and re-arm trigger
    copy /proc/apanic_console /data/dontpanic/apanic_console
    chown root log /data/dontpanic/apanic_console
    chmod 0640 /data/dontpanic/apanic_console

    copy /proc/apanic_threads /data/dontpanic/apanic_threads
    chown root log /data/dontpanic/apanic_threads
    chmod 0640 /data/dontpanic/apanic_threads

    write /proc/apanic_console 1

    # Same reason as /data above
#    mount yaffs2 mtd@cache /cache nosuid nodev
#    mount ubifs ubi0:cache /cache nosuid nodev
    mount ext4 /dev/block/mmcblk0p2 /cache nosuid nodev
    chown system cache /cache
    chmod 0770 /cache

    # This may have been created by the recovery system with odd permissions
    chown system cache /cache/recovery
    chmod 0770 /cache/recovery

    #change permissions on vmallocinfo so we can grab it from bugreports
    chown root log /proc/vmallocinfo
    chmod 0440 /proc/vmallocinfo

# create basic filesystem structure
    mkdir /data/misc 01771 system misc
    mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth
    mkdir /data/misc/bluetooth 0770 system system
    mkdir /data/misc/keystore 0700 keystore keystore
    mkdir /data/misc/vpn 0770 system system
    mkdir /data/misc/systemkeys 0700 system system
    mkdir /data/misc/vpn/profiles 0770 system system
    # give system access to wpa_supplicant.conf for backup and restore
    mkdir /data/misc/wifi 0770 wifi wifi
    chmod 0770 /data/misc/wifi
    chmod 0660 /data/misc/wifi/wpa_supplicant.conf
    mkdir /data/local 0771 shell shell
    mkdir /data/local/tmp 0771 shell shell
    mkdir /data/data 0771 system system
    mkdir /data/app-private 0771 system system
    mkdir /data/app 0771 system system
    mkdir /data/property 0700 root root

 #create wifi folders
       mkdir /system/etc/wifi 0770 wifi wifi
    chmod 0777 /system/etc/wifi
    chmod 0666 /system/etc/wifi/wpa_supplicant.conf
    chown wifi wifi /system/etc/wifi/wpa_supplicant.conf
 #wpa_supplicant socket
    mkdir /data/system/ 0771 system system
    mkdir /data/system/wpa_supplicant 0771 wifi wifi
    chmod 0771 /data/system/wpa_supplicant
 #wpa_supplicant control socket for android wifi.c
    mkdir /data/misc/wifi 0770 wifi wifi
    mkdir /data/misc/wifi/sockets 0770 wifi wifi
    chmod 0770 /data/misc/wifi
    chmod 0660 /data/misc/wifi/wpa_supplicant.conf
 #for dhcpd
    mkdir /data/misc/dhcp 0777 dhcp dhcp
    chown dhcp dhcp /data/misc/dhcp

    # create dalvik-cache and double-check the perms
    mkdir /data/dalvik-cache 0771 system system
    chown system system /data/dalvik-cache
    chmod 0771 /data/dalvik-cache

    # create the lost+found directories, so as to enforce our permissions
    mkdir /data/lost+found 0770
    mkdir /cache/lost+found 0770
There was not much in the way of paperwork in the box, I'll dig it out and look again.
Thanks for your help
 
Part 2

Code:
# double check the perms, in case lost+found already exists, and set owner
    chown root root /data/lost+found
    chmod 0770 /data/lost+found
    chown root root /cache/lost+found
    chmod 0770 /cache/lost+found
#for GPS uart com
    chown system system /dev/s3c_serial2
    chmod 0777  /dev/s3c_serial2

#for g-sensor
    chmod 0777 /dev/mma7660
    chmod 0777 /system/etc/asound.conf

on boot
# basic network init
    ifup lo
    hostname localhost
    domainname localdomain

# set RLIMIT_NICE to allow priorities from 19 to -20
    setrlimit 13 40 40

# Define the oom_adj values for the classes of processes that can be
# killed by the kernel.  These are used in ActivityManagerService.
    setprop ro.FOREGROUND_APP_ADJ 0
    setprop ro.VISIBLE_APP_ADJ 1
    setprop ro.SECONDARY_SERVER_ADJ 2
    setprop ro.BACKUP_APP_ADJ 2
    setprop ro.HOME_APP_ADJ 4
    setprop ro.HIDDEN_APP_MIN_ADJ 7
    setprop ro.CONTENT_PROVIDER_ADJ 14
    setprop ro.EMPTY_APP_ADJ 15

# Define the memory thresholds at which the above process classes will
# be killed.  These numbers are in pages (4k).
    setprop ro.FOREGROUND_APP_MEM 1536
    setprop ro.VISIBLE_APP_MEM 2048
    setprop ro.SECONDARY_SERVER_MEM 4096
    setprop ro.BACKUP_APP_MEM 4096
    setprop ro.HOME_APP_MEM 4096
    setprop ro.HIDDEN_APP_MEM 5120
    setprop ro.CONTENT_PROVIDER_MEM 5632
    setprop ro.EMPTY_APP_MEM 6144
    
    setprop ro.com.google.locationfeatures 1
    setprop ro.url.legal http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html 
    setprop ro.url.legal.android_privacy http://www.google.com/intl/%s/mobile/android/basic/privacy.html
    setprop ro.setupwizard.mode DISABLED

# Write value must be consistent with the above properties.
# Note that the driver only supports 6 slots, so we have HOME_APP at the
# same memory level as services.
    write /sys/module/lowmemorykiller/parameters/adj 0,1,2,7,14,15

    write /proc/sys/vm/overcommit_memory 1
    write /proc/sys/vm/min_free_order_shift 4
    write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,4096,5120,5632,6144

    # Set init its forked children's oom_adj.
    write /proc/1/oom_adj -16

    # Tweak background writeout
    write /proc/sys/vm/dirty_expire_centisecs 200
    write /proc/sys/vm/dirty_background_ratio  5

    # Permissions for System Server and daemons.
    chown radio system /sys/android_power/state
    chown radio system /sys/android_power/request_state
    chown radio system /sys/android_power/acquire_full_wake_lock
    chown radio system /sys/android_power/acquire_partial_wake_lock
    chown radio system /sys/android_power/release_wake_lock
    chown radio system /sys/power/state
    chown radio system /sys/power/wake_lock
    chown radio system /sys/power/wake_unlock
    chmod 0660 /sys/power/state
    chmod 0660 /sys/power/wake_lock
    chmod 0660 /sys/power/wake_unlock
    chown system system /sys/class/timed_output/vibrator/enable
    chown system system /sys/class/leds/keyboard-backlight/brightness
#    chown system system /sys/class/leds/lcd-backlight/brightness
    chown system system /sys/class/backlight/pwm-backlight/brightness
    chown system system /sys/class/leds/button-backlight/brightness
    chown system system /sys/class/leds/jogball-backlight/brightness
    chown system system /sys/class/leds/red/brightness
    chown system system /sys/class/leds/green/brightness
    chown system system /sys/class/leds/blue/brightness
    chown system system /sys/class/leds/red/device/grpfreq
    chown system system /sys/class/leds/red/device/grppwm
    chown system system /sys/class/leds/red/device/blink
    chown system system /sys/class/leds/red/brightness
    chown system system /sys/class/leds/green/brightness
    chown system system /sys/class/leds/blue/brightness
    chown system system /sys/class/leds/red/device/grpfreq
    chown system system /sys/class/leds/red/device/grppwm
    chown system system /sys/class/leds/red/device/blink
    chown system system /sys/class/timed_output/vibrator/enable
    chown system system /sys/module/sco/parameters/disable_esco
    chown system system /sys/kernel/ipv4/tcp_wmem_min
    chown system system /sys/kernel/ipv4/tcp_wmem_def
    chown system system /sys/kernel/ipv4/tcp_wmem_max
    chown system system /sys/kernel/ipv4/tcp_rmem_min
    chown system system /sys/kernel/ipv4/tcp_rmem_def
    chown system system /sys/kernel/ipv4/tcp_rmem_max
    chown root radio /proc/cmdline
    chmod 0777 /system/etc/init.gprs-pppd

# Define TCP buffer sizes for various networks
#   ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
    setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
    setprop net.tcp.buffersize.wifi    4095,87380,110208,4096,16384,110208
    setprop net.tcp.buffersize.umts    4094,87380,110208,4096,16384,110208
    setprop net.tcp.buffersize.edge    4093,26280,35040,4096,16384,35040
    setprop net.tcp.buffersize.gprs    4092,8760,11680,4096,8760,11680
    setprop wifi.interface wlan0
    setprop net.dns1 8.8.8.8
    setprop net.eth0.dns1 8.8.8.8
    setprop au.switch 0

# Prepare for bluetooth
    chmod 666 /sys/class/rfkill/rfkill0/state
    chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
    write /sys/class/rfkill/rfkill0/state 0

# Enable USB host1'remote wakeup event wakeup android system
    write /sys/bus/platform/drivers/s5pv210-ehci/s5pv210-ehci/power/wakeup enabled

                                                                 
#    losetup /dev/block/loop0 /system/mnt/flash/vfat.img                                    
    
    class_start default

## Daemon processes to be run by init.
##
#service console /system/bin/sh
service console /system/busybox/bin/ash
    console

# adbd is controlled by the persist.service.adb.enable system property
service adbd /sbin/adbd
    disabled

# adbd on at boot in emulator
on property:ro.kernel.qemu=1
    start adbd

on property:persist.service.adb.enable=1
    start adbd

on property:persist.service.adb.enable=0
    stop adbd

# 3D init
service pvrsrvinit /system/bin/pvrsrvinit
   user root
   group root
   oneshot
 
service servicemanager /system/bin/servicemanager
    user system
    critical
    onrestart restart zygote
    onrestart restart media

service vold /system/bin/vold
    socket vold stream 0660 root mount
    ioprio be 2

service netd /system/bin/netd
    socket netd stream 0660 root system

service debuggerd /system/bin/debuggerd

service ril-daemon /system/bin/rild
    socket rild stream 660 root radio
    socket rild-debug stream 660 radio system
    user root
    group radio cache inet misc audio

service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
    socket zygote stream 666
    onrestart write /sys/android_power/request_state wake
    onrestart write /sys/power/state on
    onrestart restart media

service media /system/bin/mediaserver
    user media
    group system audio camera graphics inet net_bt net_bt_admin net_raw
    ioprio rt 4

service watchdogd /system/xbin/watchdogd

service rtctimed /system/xbin/rtctimed
    oneshot

service bootanim /system/bin/bootanimation
    user graphics
    group graphics
    disabled
    oneshot

service dbus /system/bin/dbus-daemon --system --nofork
    socket dbus stream 660 bluetooth bluetooth
    user bluetooth
    group bluetooth net_bt_admin

service bluetoothd /system/bin/bluetoothd -n
    socket bluetooth stream 660 bluetooth bluetooth
    socket dbus_bluetooth stream 660 bluetooth bluetooth
    # init.rc does not yet support applying capabilities, so run as root and
    # let bluetoothd drop uid to bluetooth with the right linux capabilities
    group bluetooth net_bt_admin misc
    disabled

service hfag /system/bin/sdptool add --channel=10 HFAG
    user bluetooth
    group bluetooth net_bt_admin
    disabled
    oneshot

service hsag /system/bin/sdptool add --channel=11 HSAG
    user bluetooth
    group bluetooth net_bt_admin
    disabled
    oneshot

service opush /system/bin/sdptool add --channel=12 OPUSH
    user bluetooth
    group bluetooth net_bt_admin
    disabled
    oneshot

service pbap /system/bin/sdptool add --channel=19 PBAP
    user bluetooth
    group bluetooth net_bt_admin
    disabled
    oneshot

service installd /system/bin/installd
    socket installd stream 600 system system

service flash_recovery /system/etc/install-recovery.sh
    oneshot

service racoon /system/bin/racoon
    socket racoon stream 600 system system
    # racoon will setuid to vpn after getting necessary resources.
    group net_admin
    disabled
    oneshot

service mtpd /system/bin/mtpd
    socket mtpd stream 600 system system
    user vpn
    group vpn net_admin net_raw
    disabled
    oneshot

service keystore /system/bin/keystore /data/misc/keystore
    user keystore
    group keystore
    socket keystore stream 666

service dumpstate /system/bin/dumpstate -s
    socket dumpstate stream 0660 shell log
    disabled
    oneshot

#for sd8686
service wpa_supplicant /system/bin/wpa_supplicant -Dwext -iwlan0 -c/system/etc/wifi/wpa_supplicant.conf
    group wifi inet
    socket wpa_wlan0 dgram 660 wifi wifi
    oneshot

service dhcpcd /system/bin/dhcpcd -d -f /system/etc/dhcpcd/dhcpcd.conf wlan0
#service dhcpcd /system/bin/dhcpcd wlan0 -d
     group system dhcp
     disabled
     oneshot
#for sd8686

service pppd /system/bin/pppd
    disabled

#using hdmi sound card para for sound card init
#service soundinitd /system/xbin/soundinitd
#    oneshot

#check property for first boot
service check_property /system/busybox/bin/sh /system/etc/check_property.sh
    user root
    oneshot
 
Not a good day. While trying to step through this procedure I have somehow screwed up. I might have used the wrong superuser the first time around. Now when I boot it displays the Coby logo then goes blank with random screen flashes

When I do the last line "ln -s /system/xbin/su /system/bin/su" it tells me "ln: /system/bin/su: File exists. "

Anybody have any ideas?
 
Can you factory reset? Remove the SD card from external slot than hold Home + Power

Don't Root! It serves no purpose at this time!
 
Actually. There is a new fix for netflix (which works on my Evo) that requires me to change build.prop on another device, so I thought rooting would help me achieve that. Unfortunately, I failed.

Factory reset acts like it fixes the partition but it still doesnt boot to the home screen/lock.

The guy at coby said that if I found a working 7024, I could open it up and make a copy of the microsd card inside. I wasn't sure if he was joking or not.
 
Last edited:
Actually. There is a new fix for netflix (which works on my Evo) that requires me to change build.prop on another device, so I thought rooting would help me achieve that. Unfortunately, I failed.

Factory reset acts like it fixes the partition but it still doesnt boot to the home screen/lock.

The guy at coby said that if I found a working 7024, I could open it up and make a copy of the microsd card inside. I wasn't sure if he was joking or not.

---

Hmm... now I never thought about that. I killed my recovery image during a failed ClockworkMod install. Although the system still boots, I no longer have the recovery ability. But if this Coby rep said make a copy of the internal microSD card... I may pop this thing open (since I have 2) and make a duplicate of the card. That would be awesome and would answer a question as to where the recovery image is located (internal memory versus the internal microSD card).

So thanks for posting that info. I'm definitely going to try it.

Also... the easiest way to open this device (and the HTC EVO) is with a guitar pick. No fingernails or scratch potential from a flat-head screwdriver. Easy, quick, and easy to find. Even Best Buy's music room has guitar picks. =)
 
Last edited:
The memory card is under the black tape opposite corner from the external card slot.

Good luck. I tried the gb Rom fix bit it is not usable. Hopefully, if you can copy your card, I might get my baby back. Heh.
 
Last edited:
> When I do the last line "ln -s /system/xbin/su /system/bin/su" it tells me "ln: /system/bin/su: File exists. "

Tekmisia, I'm getting the same error. Have you been able to get past this?
 
There should be no su file in the /system/bin/ directory prior to typing the symlink command.
 
Back
Top