Before I begin, I'm probably 8/10 competent with linux and 5/10 competent with android development. I've flashed many a phone with a new ROM, recovered from some bad flashes, etc. I've never screwed anything up as bad as this.
I had the v480 upgraded to Android 5.0, but wanted to get rid of that and try Lineage. To get TWRP on there, I needed to flash the Android 4.4 kdz, which I was able to do (V48010b0.kdz). Great. I got root, but no method I tried got TWRP to load; it would flash, but then it would never boot into the recovery, it would sit at the LG screen forever. I was using TWRP_2.8.6.0_v480_bumped.img from this thread: https://forum.xda-developers.com/g-pad-10/development/recovery-twrp2-8-5-0lgv400-410-t3049568
Here is the first screw up. I tried to re-flash the kdz file after screwing around for a while, and the Windows 7 laptop I was using with the LG tools bluescreened right in the god damned middle of the flash.. The tablet was DEAD. Full blown brick, no charging light, no nothing.
So, I found this thread and adapted it to my tablet. https://forum.xda-developers.com/an...9008-fix-tested-lg-v410g-pad-7-0-att-t3269057 I was able to make progress. I did NOT record the partition layout at the time, so I attempted to order the partitions based on the data in the partition filenames extracted from the kdz file:
The "Part Map Number" column is something I added much later in the troubleshooting. SO...I basically guessed the partition layout for this, and got it close...doing this, and preparing an sd card, I was able to get TWRP to boot off of an SD card. HUZZAH. Now I'm able to get adb going and get into the tablet! I tried to flash a .zip file for CM12 or Lineage14.1...neither "worked" and rebooting to system/recovery/or bootloader just launched back into TWRP.
Now is where I'm in over my head. I was able to get the partition layout by doing this:
There is a msm_sdcc.2 as well with the same partition layout. At this point, I figured, I could push the .dz files for each partition to /sdcard (which was still populated with android stuff) then just flash the required partitions. I ran mount to see which was mounted where:
Then planned to completely destroy the system with this. I ran the following:
My understanding is, in theory, this should COMPLETELY blow away the internal storage of the device (flashing the primary GPT table) and then write over the important partitions. If I can get to TWRP, I should be able to flash a rom zip. So I did that...removed the SD card, and the tablet won't do anything. Put the SD card back in, did the whole "boot from SD" thing from before...TWRP comes back, ADB is up...Android files in /sdcard are still there, so I'm wondering if it didn't wipe! So, I figure maybe the block device was the wrong one...I dd'd the partitions at "mmcblk1" instead of 0. Same thing. External SD is unmodified, /sdcard directory is still there.
By this point I was confused. I got another MicroSD card and tried to set it up like I did the first one. I cannot get the tablet to boot. Put the original microSD card back in...boot to TWRP and nothing else. I have no idea what is running from what. I finally, out of desperation, decide to "dd if=/dev/zero of=/dev/mmcblk0" just to be sure I'm starting from scratch...finish that, restart...tablet comes back up to TWRP when SD card is inserted WITH data in the /sdcard folder.
So now I'm stuck. I feel like having ADB access and a running linux shell means I should be able to get something loading somewhere. I have parted on there, but it just gives me partition errors based on what I assume is the GPT table being flashed insanely:
Just to be thorough:
So, I'm not sure what to do now. I have all the .dz files from Android 4.4 and 5.0.2, I have 2 custom rom files for CM and LOS, 2 sets of OpenGapps, TWRP, kdz files, and a working adb shell from a TWRP install I'm not sure where it's being executed from. I feel like it's working to a state I should be able to get out of this, but everything I try is failing. Am I hosed or do I have an option to get out of this? I can provide any output needed...this was interesting to me:
I had the v480 upgraded to Android 5.0, but wanted to get rid of that and try Lineage. To get TWRP on there, I needed to flash the Android 4.4 kdz, which I was able to do (V48010b0.kdz). Great. I got root, but no method I tried got TWRP to load; it would flash, but then it would never boot into the recovery, it would sit at the LG screen forever. I was using TWRP_2.8.6.0_v480_bumped.img from this thread: https://forum.xda-developers.com/g-pad-10/development/recovery-twrp2-8-5-0lgv400-410-t3049568
Here is the first screw up. I tried to re-flash the kdz file after screwing around for a while, and the Windows 7 laptop I was using with the LG tools bluescreened right in the god damned middle of the flash.. The tablet was DEAD. Full blown brick, no charging light, no nothing.
So, I found this thread and adapted it to my tablet. https://forum.xda-developers.com/an...9008-fix-tested-lg-v410g-pad-7-0-att-t3269057 I was able to make progress. I did NOT record the partition layout at the time, so I attempted to order the partitions based on the data in the partition filenames extracted from the kdz file:
Code:
Num PartStart PartName Size Size(K) PartMapNumber
01 16384 modem_16384.bin 23.1M 22528 1
02 147456 sbl1_147456.bin 512K 512 2
03 149504 rpm_149504.bin 512K 512 3
04 150528 tz_150528.bin 512K 512 4
05 151552 sdi_151552.bin 512K 512 5
06 152576 aboot_152576.bin 1M 1024 6
07 156672 rpmb_156672.bin 512K 512 7
08 157696 tzb_157696.bin 512K 512 8
09 158720 abootb_158720.bin 1M 1024 9
10 212992 persist_212992.bin 5.2M 5120 15
11 278528 laf_278528.bin 18.4M 17920 16
12 327680 boot_327680.bin 12.6M 12288 17
13 376832 recovery_376832.bin 13.1M 12800 18
14 444416 sbl1b_444416.bin 512K 512 22
15 447488 rct_447488.bin 512K 512 24
16 492544 factory_492544.bin 14.2M 13824 28
17 688128 cust_688128.bin 9.4M 9216 31
18 901120 system_901120.bin 134.7M 131584
19 1164296 system_1164296.bin 512K 512
20 1168408 system_1168408.bin 131.6M 128516
21 1429520 system_1429520.bin 133.2M 130048
22 1692696 system_1692696.bin 131.6M 128512
23 1953808 system_1953808.bin 133.2M 130048
24 2216984 system_2216984.bin 131.6M 128512
25 2478096 system_2478096.bin 133.2M 130048
26 2741272 system_2741272.bin 131.6M 128512
27 3002384 system_3002384.bin 133.2M 130048
28 3265560 system_3265560.bin 131.6M 128512
29 3526672 system_3526672.bin 132.1M 129024
30 3788816 system_3788816.bin 132.1M 129024
31 4050960 system_4050960.bin 47.7M 46592
32 4308992 system_4308992.bin 512K 512
33 4571136 system_4571136.bin 512K 512
34 4833280 system_4833280.bin 512K 512
35 15269855 BackupGPT_15269855.bin 512K 512
Now is where I'm in over my head. I was able to get the partition layout by doing this:
Code:
~ # ls -asl /dev/block/platform/msm_sdcc.1/by-name/
total 0
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
lrwxrwxrwx root root 1970-01-02 21:57 DDR -> /dev/block/mmcblk0p25
lrwxrwxrwx root root 1970-01-02 21:57 aboot -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 1970-01-02 21:57 abootb -> /dev/block/mmcblk0p9
lrwxrwxrwx root root 1970-01-02 21:57 boot -> /dev/block/mmcblk0p17
lrwxrwxrwx root root 1970-01-02 21:57 cache -> /dev/block/mmcblk0p33
lrwxrwxrwx root root 1970-01-02 21:57 cust -> /dev/block/mmcblk0p31
lrwxrwxrwx root root 1970-01-02 21:57 drm -> /dev/block/mmcblk0p26
lrwxrwxrwx root root 1970-01-02 21:57 eksst -> /dev/block/mmcblk0p10
lrwxrwxrwx root root 1970-01-02 21:57 encrypt -> /dev/block/mmcblk0p23
lrwxrwxrwx root root 1970-01-02 21:57 factory -> /dev/block/mmcblk0p28
lrwxrwxrwx root root 1970-01-02 21:57 fota -> /dev/block/mmcblk0p29
lrwxrwxrwx root root 1970-01-02 21:57 fsc -> /dev/block/mmcblk0p20
lrwxrwxrwx root root 1970-01-02 21:57 fsg -> /dev/block/mmcblk0p19
lrwxrwxrwx root root 1970-01-02 21:57 grow -> /dev/block/mmcblk0p35
lrwxrwxrwx root root 1970-01-02 21:57 laf -> /dev/block/mmcblk0p16
lrwxrwxrwx root root 1970-01-02 21:57 misc -> /dev/block/mmcblk0p14
lrwxrwxrwx root root 1970-01-02 21:57 modem -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 1970-01-02 21:57 modemst1 -> /dev/block/mmcblk0p12
lrwxrwxrwx root root 1970-01-02 21:57 modemst2 -> /dev/block/mmcblk0p13
lrwxrwxrwx root root 1970-01-02 21:57 mpt -> /dev/block/mmcblk0p30
lrwxrwxrwx root root 1970-01-02 21:57 pad -> /dev/block/mmcblk0p11
lrwxrwxrwx root root 1970-01-02 21:57 persist -> /dev/block/mmcblk0p15
lrwxrwxrwx root root 1970-01-02 21:57 rct -> /dev/block/mmcblk0p24
lrwxrwxrwx root root 1970-01-02 21:57 recovery -> /dev/block/mmcblk0p18
lrwxrwxrwx root root 1970-01-02 21:57 rpm -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 1970-01-02 21:57 rpmb -> /dev/block/mmcblk0p7
lrwxrwxrwx root root 1970-01-02 21:57 sbl1 -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 1970-01-02 21:57 sbl1b -> /dev/block/mmcblk0p22
lrwxrwxrwx root root 1970-01-02 21:57 sdi -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 1970-01-02 21:57 sns -> /dev/block/mmcblk0p27
lrwxrwxrwx root root 1970-01-02 21:57 ssd -> /dev/block/mmcblk0p21
lrwxrwxrwx root root 1970-01-02 21:57 system -> /dev/block/mmcblk0p32
lrwxrwxrwx root root 1970-01-02 21:57 tz -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 1970-01-02 21:57 tzb -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 1970-01-02 21:57 userdata -> /dev/block/mmcblk0p34
Code:
~ # mount
rootfs on / type rootfs (rw)
tmpfs on /dev type tmpfs (rw,seclabel,nosuid,relatime,size=441232k,nr_inodes=110308,mode=755)
devpts on /dev/pts type devpts (rw,seclabel,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,seclabel,relatime)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
tmpfs on /tmp type tmpfs (rw,seclabel,relatime,size=441232k,nr_inodes=110308)
/dev/block/mmcblk0p34 on /data type ext4 (rw,seclabel,relatime,resuid=1000,data=ordered)
/dev/block/mmcblk0p34 on /sdcard type ext4 (rw,seclabel,relatime,resuid=1000,data=ordered)
/dev/block/mmcblk0p33 on /cache type ext4 (rw,seclabel,relatime,data=ordered)
/dev/block/mmcblk1p1 on /external_sd type vfat (rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
Code:
dd if=/sdcard/V48010b0/PrimaryGPT_0.bin of=/dev/block/mmcblk0; sleep 2
dd if=/sdcard/V48010b0/modem_16384.bin of=/dev/mmcblk0p1; sleep 2
dd if=/sdcard/V48010b0/sbl1_147456.bin of=/dev/mmcblk0p2; sleep 2
dd if=/sdcard/V48010b0/rpm_149504.bin of=/dev/mmcblk0p3; sleep 2
dd if=/sdcard/V48010b0/tz_150528.bin of=/dev/mmcblk0p4; sleep 2
dd if=/sdcard/V48010b0/sdi_151552.bin of=/dev/mmcblk0p5; sleep 2
dd if=/sdcard/V48010b0/aboot_152576.bin of=/dev/mmcblk0p6; sleep 2
dd if=/sdcard/V48010b0/rpmb_156672.bin of=/dev/mmcblk0p7; sleep 2
dd if=/sdcard/V48010b0/tzb_157696.bin of=/dev/mmcblk0p8; sleep 2
dd if=/sdcard/V48010b0/abootb_158720.bin of=/dev/mmcblk0p9; sleep 2
dd if=/sdcard/V48010b0/persist_212992.bin of=/dev/mmcblk0p15; sleep 2
#dd if=/sdcard/V48010b0/laf_278528.bin of=/dev/mmcblk0p16; sleep 2
dd if=/sdcard/V48010b0/boot_327680.bin of=/dev/mmcblk0p17; sleep 2
dd if=/sdcard/V48010b0/recovery_376832.bin of=/dev/mmcblk0p18; sleep 2
#dd if=/sdcard/V48010b0/TWRP_2.8.6.0_v480_bumped.img of=/dev/mmcblk0p18; sleep 2
#dd if=/sdcard/V48010b0/TWRP_3.0.3-0_v480.img of=/dev/mmcblk0p18; sleep 2
dd if=/sdcard/V48010b0/sbl1b_444416.bin of=/dev/mmcblk0p22; sleep 2
dd if=/sdcard/V48010b0/rct_447488.bin of=/dev/mmcblk0p24; sleep 2
dd if=/sdcard/V48010b0/factory_492544.bin of=/dev/mmcblk0p28; sleep 2
dd if=/sdcard/V48010b0/cust_688128.bin of=/dev/mmcblk0p31; sleep 2
By this point I was confused. I got another MicroSD card and tried to set it up like I did the first one. I cannot get the tablet to boot. Put the original microSD card back in...boot to TWRP and nothing else. I have no idea what is running from what. I finally, out of desperation, decide to "dd if=/dev/zero of=/dev/mmcblk0" just to be sure I'm starting from scratch...finish that, restart...tablet comes back up to TWRP when SD card is inserted WITH data in the /sdcard folder.
So now I'm stuck. I feel like having ADB access and a running linux shell means I should be able to get something loading somewhere. I have parted on there, but it just gives me partition errors based on what I assume is the GPT table being flashed insanely:
Code:
/sdcard # parted /dev/block/mmcblk0
GNU Parted 1.8.8.1.179-aef3
Using /dev/block/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
print
Error: The backup GPT table is not at the end of the disk, as it should be.
This might mean that another operating system believes the disk is smaller.
Fix, by moving the backup to the end (and removing the old backup)?
Fix/Ignore/Cancel? fix
fix
Warning: Not all of the space available to /dev/block/mmcblk0 appears to be
used, you can fix the GPT to use all of the space (an extra 15507456 blocks) or
continue with the current setting?
Fix/Ignore? fix
fix
Error: Can't have the end before the start!
Code:
/sdcard # df -h
Filesystem Size Used Available Use% Mounted on
tmpfs 430.9M 16.0K 430.9M 0% /dev
tmpfs 430.9M 16.0K 430.9M 0% /tmp
/dev/block/mmcblk0p34
11.2G 3.7G 7.4G 34% /data
/dev/block/mmcblk0p34
11.2G 3.7G 7.4G 34% /sdcard
/dev/block/mmcblk0p33
888.5M 14.5M 874.1M 2% /cache
/dev/block/mmcblk1p1 64.0M 21.9M 42.0M 34% /external_sd
Code:
/proc # cat partitions
major minor #blocks name
179 0 15388672 mmcblk0
179 1 65536 mmcblk0p1
179 2 1024 mmcblk0p2
179 3 512 mmcblk0p3
179 4 512 mmcblk0p4
179 5 512 mmcblk0p5
179 6 2048 mmcblk0p6
179 7 512 mmcblk0p7
179 8 512 mmcblk0p8
179 9 2048 mmcblk0p9
179 10 512 mmcblk0p10
179 11 2048 mmcblk0p11
179 12 3072 mmcblk0p12
179 13 3072 mmcblk0p13
179 14 16384 mmcblk0p14
179 15 32768 mmcblk0p15
179 16 24576 mmcblk0p16
179 17 24576 mmcblk0p17
179 18 24576 mmcblk0p18
179 19 3072 mmcblk0p19
179 20 512 mmcblk0p20
179 21 512 mmcblk0p21
179 22 1024 mmcblk0p22
179 23 512 mmcblk0p23
179 24 512 mmcblk0p24
179 25 512 mmcblk0p25
179 26 8192 mmcblk0p26
179 27 8192 mmcblk0p27
179 28 24576 mmcblk0p28
179 29 32768 mmcblk0p29
179 30 32768 mmcblk0p30
179 31 106496 mmcblk0p31
259 0 2097152 mmcblk0p32
259 1 925696 mmcblk0p33
259 2 11911168 mmcblk0p34
259 3 9223372036847026159 mmcblk0p35
179 32 4096 mmcblk0rpmb
179 64 31166976 mmcblk1
179 65 65536 mmcblk1p1
179 66 1024 mmcblk1p2
179 67 512 mmcblk1p3
179 68 512 mmcblk1p4
179 69 512 mmcblk1p5
179 70 2048 mmcblk1p6
179 71 512 mmcblk1p7
179 72 512 mmcblk1p8
179 73 2048 mmcblk1p9
179 74 512 mmcblk1p10
179 75 2048 mmcblk1p11
179 76 3072 mmcblk1p12
179 77 3072 mmcblk1p13
179 78 16384 mmcblk1p14
179 79 32768 mmcblk1p15
179 80 24576 mmcblk1p16
179 81 24576 mmcblk1p17
179 82 24576 mmcblk1p18
179 83 3072 mmcblk1p19
179 84 512 mmcblk1p20
179 85 512 mmcblk1p21
179 86 1024 mmcblk1p22
179 87 512 mmcblk1p23
179 88 512 mmcblk1p24
179 89 512 mmcblk1p25
179 90 8192 mmcblk1p26
179 91 8192 mmcblk1p27
179 92 24576 mmcblk1p28
179 93 32768 mmcblk1p29
179 94 32768 mmcblk1p30
179 95 106496 mmcblk1p31
259 4 2097152 mmcblk1p32
259 5 925696 mmcblk1p33
259 6 11911168 mmcblk1p34
259 7 9223372036847026159 mmcblk1p35