LG Doubleplay (lg-c729)

From postmarketOS
Jump to: navigation, search
LG Doubleplay
[[|200px|alt=]]
Manufacturer LG
Name Doubleplay
Codename lg-c729
Released 2011
Category testing
Original software Android 2.3
Hardware
Chipset Qualcomm MSM8255 Snapdragon S2
CPU 1.0 GHz Scorpion
GPU Adreno 205
Display 320 x 480 TFT
Storage 2 GB
Memory 512 MB
Architecture armv7
Features
USB Networking
Flashing
Touchscreen
Display
WiFi
Xwayland
FDE
Mainline
Battery
3D Acceleration
Accelerometer
Audio
Bluetooth
Camera
GPS
Mobile data
SMS
Calls
USB OTG


Contributors

  • Foldmorepaper

Users owning this device


What Works

Nothing. (besides rooting and kernel building)

Using the lg-c800 device tree, I have begun work on building TWRP. It boots and adb is useable, but no further testing has been done.

What Does Not Work

Everything.

Rooting

The exploit used on the LG Esteem also works on the Doubpleplay. Please see this forum thread on AndroidCentral for instructions. [1]

The tool referenced has a dead download link, but is available through the Internet Archive's Wayback Machine. LG_Esteem_Root.zip on archive.org

The tool runs from a .bat script. Though the changes necessary to run it on linux are trivial, here is the modified script:

run.sh
 1 #!/bin/bash                     
 2 #####################################
 3 #                  
 4 #  LG Esteem root script
 5 #  Linux version        
 6 #
 7 #  Exploit copyright (C) 2011 Revolutionary
 8 #  Scripting for LG Esteem by Dan Rosenberg (@djrbliss)
 9 #  Modified for Linux by foldmorepaper (@foldmorepaper)
10 #
11 #####################################
12 #                                                                                              
13 # Instructions:
14 #                  
15 #  1. Ensure you have the latest drivers installed from LG
16 #                                                                                              
17 #  2. Put your device in debugging mode                                                        
18 #                                                                                              
19 #  3. Attach it via USB   
20 #                                   
21 #  4. Run this script in the same directory as the rest of the extracted
22 #     zipfile                                                                                  
23 #                                                                                              
24 #####################################                                                          
25 echo "[*] LG Esteem root script (Linux version)"                
26 echo "[*] Exploit copyright (C) 2011 Revolutionary"                           
27 echo "[*] Scripting for LG Esteem by Dan Rosenberg (@djrbliss)"
28 echo "[*] Linux script by foldmorepaper (@foldmorepaper)"
29 echo "[*]"               
30 echo "[*] Before continuing, ensure USB debugging is enabled, that you"
31 echo "[*] have the latest LG drivers installed, and that your phone is"
32 echo "[*] connected via USB."
33 echo "[*]"             
34 read -p "[*] Press enter to root your phone..." 
35 echo "[*]"
36                                                
37 echo "[*] Waiting for device..."
38 adb kill-server                  
39 adb wait-for-device
40                                                                                                
41 echo "[*] Device found."
42 
43 echo "[*] Pushing exploit binary..."
44 adb push zergrush /data/local/tmp/zergrush
45 adb shell "chmod 755 /data/local/tmp/zergrush"
46 
47 echo "[*] Running exploit..."
48 adb shell "echo exit | /data/local/tmp/zergrush"
49 
50 # Install the goods
51 echo "[*] Installing root tools..."
52 adb shell /data/local/tmp/sh -c "mount -orw,remount /dev/block/system /system"
53 adb shell /data/local/tmp/sh -c "mkdir /system/tmp"
54 adb shell /data/local/tmp/sh -c "chmod 777 /system/tmp"
55 adb push su /system/tmp/su
56 adb push busybox /system/tmp/busybox
57 adb push Superuser.apk /system/tmp/Superuser.apk
58 adb shell /data/local/tmp/sh -c "mv /system/tmp/su /system/xbin/su"
59 adb shell /data/local/tmp/sh -c "mv /system/tmp/Superuser.apk /system/app/Superuser.apk"
60 adb shell /data/local/tmp/sh -c "mv /system/tmp/busybox /system/xbin/busybox"
61 adb shell /data/local/tmp/sh -c "chown root /system/xbin/su"
62 adb shell /data/local/tmp/sh -c "chmod 4755 /system/xbin/su"
63 adb shell /data/local/tmp/sh -c "ln -s /system/xbin/su /system/bin/su"
64 adb shell /data/local/tmp/sh -c "chmod 755 /system/xbin/busybox"
65 adb shell /data/local/tmp/sh -c "/system/xbin/busybox --install /system/xbin/"
66 
67 # Clean up after ourselves
68 echo "[*] Cleaning up..."
69 adb shell /data/local/tmp/sh -c "rmdir /system/tmp"
70 adb shell "rm /data/local/tmp/* 2>/dev/null"
71 
72 echo "[*] Rebooting..."
73 adb reboot
74 
75 adb wait-for-device
76 echo "[*] Root complete, enjoy!"
77 echo "[*] Press any key to exit."
78 adb kill-server

Additional Info

/proc/partitions
# cat /proc/partitions
major minor  #blocks  name

 179        0    1912832 mmcblk0
 179        1       1024 mmcblk0p1
 179        2        512 mmcblk0p2
 179        3       2048 mmcblk0p3
 179        4          1 mmcblk0p4
 179        5       4096 mmcblk0p5
 179        6       4096 mmcblk0p6
 179        7       8192 mmcblk0p7
 179        8       4096 mmcblk0p8
 179        9       8192 mmcblk0p9
 179       10       8192 mmcblk0p10
 179       11      28672 mmcblk0p11
 179       12      28672 mmcblk0p12
 179       13       4096 mmcblk0p13
 179       14       4096 mmcblk0p14
 179       15     462848 mmcblk0p15
 179       16    1048576 mmcblk0p16
 179       17       8192 mmcblk0p17
 179       18     102400 mmcblk0p18
 179       19       8192 mmcblk0p19
 179       20       8192 mmcblk0p20
 179       21       8192 mmcblk0p21
 179       22       4096 mmcblk0p22
 179       23       4096 mmcblk0p23
 179       24       4096 mmcblk0p24
/proc/mounts
# cat /proc/mounts
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p15 /system ext4 ro,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p16 /data ext4 rw,nosuid,nodev,noatime,errors=panic,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p18 /cache ext4 rw,nosuid,nodev,noatime,errors=panic,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p20 /lgdrm ext4 rw,nosuid,nodev,relatime,barrier=1,data=ordered 0 0
/dev/block/mmcblk0p21 /multimedia ext4 rw,nosuid,nodev,relatime,barrier=1,data=ordered 0 0
/dev/block/vold/179:33 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:33 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
/cache/recovery/last_log
# cat /cache/recovery/last_log
Starting recovery on Tue May 19 20:15:45 2020
framebuffer: fd 4 (320 x 720)
recovery filesystem table
=========================
  0 /tmp ramdisk (null) (null)
  1 /boot emmc /dev/block/mmcblk0p7 (null)
  2 /cache ext4 /dev/block/mmcblk0p18 (null)
  3 /data ext4 /dev/block/mmcblk0p16 (null)
  4 /misc mtd misc (null)
  5 /recovery emmc /dev/block/mmcblk0p17 (null)
  6 /sdcard vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1
  7 /system ext4 /dev/block/mmcblk0p15 (null)
...

Custom Recovery

WIP

Stock Recovery

Stock recovery mode performs a factory reset

Fastboot

To enter fastboot mode, reboot the bootloader from android or "charging mode"

$ adb reboot bootloader

See also

FCC Internal Photos