yashsingh1/xdaforums huggingface dataset:
[General Questions and Answers] jmo:
Fastbootable image

I have created a rooted, updated device image for the tablet that can be flashed via fastboot. As with anything else posted here, I don't take responsibility if you brick your device. However, I do have two of these tablets and have flashed my tablets safely many times. Since the flashing is not via fastboot, there is little chance that you will brick your device. There are some important things to note:

1. Bootloader must be unlocked (instructions previously in this thread)

2. Your serial number will be overwritten with my serial number

a. If you don't like this fact (and it isn't ideal) you are better off rooting using the existing blind TWRP method

b. I am investigating how to avoid this... It isn't stored in the OEM partition but in the system partition. You can change your serial number (/persist/.sn.bin) but in order to take effect you must factory reset, thus losing root

3. Factory reset loses root (I am guessing that system updates can also lose root. System rooting doesn't work for some reason... I'll keep looking into it.)

This was done using FireFlash. If you know what you are doing, you are better off rooting with TWRP and using FireFlash to create your own images (thus preserving your serial number).

Instructions:

1. Unzip package

2. Connect your device in fastboot mode and ensure fastboot sees your device

3. Run flash-all.bat

USE AT YOUR OWN RISK!!! Questions?

Download link - https://www.androidfilehost.com/?w=files&flid=137578
[General Questions and Answers] GartimusPrime:
I had no idea FlashFire could create a fastboot backup! So this means if I bork my tablet (which I will) I can restore my own backup?!
[General Questions and Answers] jmo:
Yes and it is very easy. I was creating a minimal image by removing all unwanted software and occasionally I would get too aggressive but was easily able to restore back to my previous known good. A couple of notes based upon my experience...

1. If you have the tablet connected to power when running FlashFire, you only get a black screen and it never runs. But if you wait for FlashFire to boot and start working, you can connect your tablet to power.

2. Backup to MicroSD works well but backup to OTG USB (despite being seen) didn't work for me.
[General Questions and Answers] GartimusPrime:
If anyone is interested, multi window mode can be enabled in the build.prop. Works quite well!
[General Questions and Answers] bbelos:
UPDATE: LINK REMOVED. USE NEXT VERSION.

I have taken the recovery referenced in post 23, replaced the kernel with our stock zImage, and now have a working display. I have also enabled adb while in recovery.

It's not perfect yet. Backups will fail because it can't seem to create the directories it needs, but at least you don't have to blindly tap around the screen. :p

Other than that, I make no guarantees that other things work, but it shouldn't be any different than what you guys are already testing.

I'm still working on building it from source. First attempt has a display, but it's unresponsive and it auto reboots after a few seconds.
[General Questions and Answers] bbelos:
UPDATE: LINK REMOVED. USE NEXT VERSION.

Well, here's another version for anyone interested that's primarily source built, although I had to do a couple post-build changes.

Couple things:

1. Backups appear to be working, although I have not tested a restore yet. I did test the factory reset.

2. It won't let me reboot out of TWRP (it just boots back into TWRP). You can get out of it with a hard reboot (hold down power for 10-15 secs). So, I would not recommend actually flashing it. Just do a fastboot boot for now.

3. I haven't tested an external sdcard yet, so I don't know if that's working or not.
[General Questions and Answers] bbelos:
OK, one more. Sorry for the spam but I think I figured out what I was missing.

This version required no post-build manipulation. I was able to reboot normally from this build. I also did a seemingly successful data restore. I didn't test everything yet, but if anyone finds anything broken, please let me know.
[General Questions and Answers] vampirefo:
Will it play pokemon go ?
[General Questions and Answers] isaac2k10:
thx for this guys, been looking for root for this tab
[General Questions and Answers] menace211:
Thank you for your time and effort with this tablet. I bought one a few days ago and thankfully was able to get it rooted. I hope a rom or 2 comes from this since the bootloader is unlocked
[General Questions and Answers] GartimusPrime:
The new trwp works great! I have backed up, restored and flashed successfully. Much easier to see!
[General Questions and Answers] Green Like Kermit:
fyi, the latest beta supersu doesn't work, but the latest stable version works fine. thanks to everyone who participated in the thread, got my tab 10 rooted.
[General Questions and Answers] bbelos:
Source for the recovery: https://github.com/bbelos/android_device_qcom_msm8909

There's obviously a lot more there than is necessary to build TWRP, but it started from the source drop and I wasn't going to bother removing the extra stuff since it will be needed again later anyway :p
[General Questions and Answers] bbelos:
A bit of bad news. The source code on the Lenovo website is actually incomplete and/or corrupted. All the .c & .cpp files are in an unreadable raw binary format instead of plain text. I'm trying to make a request to get a new version but we'll see how that goes. If anyone else would like to try as well, maybe it would help.

At this point, I'm still going to attempt to build CM or whatever, but it won't be as easy without the source code that I thought was available.

EDIT: Actually, it might just be encrypted. Not sure if that means they're making people pay to unlock it or what. The files all contain the text "E-SafeNet" & "LOCK" near the beginning. Either way, it still not very helpful yet.
[General Questions and Answers] Trekz:
i ran into this issue, rooted no problem but didnt do OTA updates, not no matter what. Factory reset tablet many times, it will not install the update. Any ideas? Wife and kids got same tablets and their tables updated no problem. Any ideas what i can do to make it take update?
[General Questions and Answers] bbelos:
Now for some more good news, I was able to get the rest of the source files decrypted. :victory:

Kernel source: https://github.com/bbelos/android_kernel_lenovo_msm8909

There appears to still be some missing files, but I'll start to just fill in the gaps from mainline. Hopefully lenovo didn't leave out anything too critical.
[General Questions and Answers] Trekz:
Sorry unable to post IMG.

"System/recovery-from-boot.p has unexpected contents. Few other things and installation aborted. If I try to update from lenovo recovery software it just says flash failed, and on tabled throws sdcars error., bootloader relocked factory reset multiple times through setting, fastboot, and recovery. No matter what I try it will not take the update.
[General Questions and Answers] vampirefo:
How did you decrypt the files?

Did you just replace them with files from other source?
[General Questions and Answers] menace211:
Much appreciated for the hard work so far!
[General Questions and Answers] chibot75:
If not CM, maybe AOSP?
[General Questions and Answers] isaac2k10:
Man keep up the good work, appreciate it
[General Questions and Answers] aslezak:
stock boot.img? for OTA updates

Thanks bbelos/jmo.

I also could not install the OTA updates after rooting. I tried jmo's dump of the stock firmware (via fastboot)

https://www.androidfilehost.com/?w=files&flid=137503

, but the kernel (boot.img) doesn't match what the OTA update (0144a2a9b950e1716bb19e4da7985130_lenovoota.zip) is expecting. Do you or anyone else have a factory boot.img I could use to apply the OTA update(s)? Or if you have the OTA updates applied & can create a firmware image for that, that would work as well. Thanks in advance!
[General Questions and Answers] bbelos:
Which firmware version are you on now? I took a few different system dumps between updates so I might have the one that matches.
[General Questions and Answers] aslezak:
I am on Lenovo TB-X103F_S000021_161121_ROW

(I thought I fixed it by relocking the bootloader, but I was mistaken.)

from updater-script in the ota.zip:

apply_patch_check("EMMC:/dev/block/bootdevice/by-name/boot:8437032:b380df61f9404a2d90cd2f37bc5bb78fd61ddd2f:8437032:31eac878bf87d3a9181ee41bf7139154833dfb88") || abort(""EMMC:/dev/block/bootdevice/by-name/boot:8437032:b380df61f9404a2d90cd2f37bc5bb78fd61ddd2f:8437032:31eac878bf87d3a9181ee41bf7139154833dfb88" has unexpected contents.");

& the actual patching:

apply_patch("EMMC:/dev/block/bootdevice/by-name/boot:8437032:b380df61f9404a2d90cd2f37bc5bb78fd61ddd2f:8437032:31eac878bf87d3a9181ee41bf7139154833dfb88","-", 31eac878bf87d3a9181ee41bf7139154833dfb88, 8437032,b380df61f9404a2d90cd2f37bc5bb78fd61ddd2f, package_extract_file("patch/boot.img.p"));

Thanks for your help!
[General Questions and Answers] bbelos:
Well, this should be the boot.img that goes with 161121. http://d-h.st/Rt8v

I make no guarantees that it will fix the error, but feel free to try it out.
[General Questions and Answers] bbelos:
https://github.com/c3c/E-Safenet
[General Questions and Answers] aslezak:
Thanks this worked! I was able to apply the OTA update after flashing your boot.img :good:

jmo -- could you please replace the boot.img in your .zip https://www.androidfilehost.com/?w=files&flid=137503 with the one provided by bbelos? His is the correct stock boot.img

Trekz -- download the stock .zip from jmo (link above), extract, then replace the boot.img with the one provided by bbelos (below). Make sure you've rebooted the tablet into the bootloader "adb reboot bootloader", then run flash-all.bat from inside the extracted zip folder. You may also need to reset to Factory (Settings / Backup & reset) after doing this. Once I did this I was able to use the OTA update from the usual system prompts (Settings / About tablet / System Update).
[General Questions and Answers] Pegasus Epsilon:
jmo's boot.img

jmo's backup worked just fine for me, but then I was completely up to date to begin with.
[General Questions and Answers] Trekz:
thanks for all the help and advise still no go for me. Replaced The boot image flashed the stock zip with replaced boot.img, factory reset. Try to update get the following error

"EMMC:/dev/block/bootdevice/by-name/aboot:435788:5c7a44a5c25beb31b96d82d6adb907808d4b502b:435788:9661fa93f672b7147ff58d04a7ee56fe703030ca" has unexpected contents.

I have another tablet thats fully updated and never messed with, what would be the best way to dump it with out rooting it and just restore the img on the one that wont update

E:Error in /data/user/0/com.lenovo.ota/app_otapackages/0144a2a9b950e1716bb19e4da7985130_lenovoota.zip (Status 7)

do i need to unlock bootloader before flashing the boot.img?
[General Questions and Answers] GartimusPrime:
I and the same issue but different error. I also have another tablet that is my wife's which is not rooted. I booted TWRP on hers, backed it up, transfered to to mine and restored it through TWRP and it worked for me. So now when there is a firmware update, I just do hers, back it up, and flash it on mine. Kinda cheating I guess but it worked.
[General Questions and Answers] Trekz:
That's what i ended up doing, still just the though of not knowing why mine wont work bugs me.
[General Questions and Answers] Pegasus Epsilon:
Are you guys copying all the partitions when you do this? I can't imagine a fully stock, bootloader unlocked, TWRP booted device should update, but when the same partitions are taken from it and put on an otherwise identical device, the update fails.

Unless you guys are trying to update with SuperSU installed? If that's the case, try going into SuperSU and doing a full unroot before updating. When you first install SuperSU in TWRP it says (in the diagnostic output that I don't generally read, but happened to watch during one of my adventures with my new tablet) that updates will be impossible after rooting, because of the required install method. But a full unroot should put it back the way it was and allow updating just fine. So uh.. If that's the problem, give it a shot?

After that, you'll just have to fastboot TWRP and sideload SuperSU again. Good time to check for an update for SuperSU while you're at it.
[General Questions and Answers] Trekz:
Device fully unrooted, went into twrp did a full advanced wipe of everything possible, boot into bootloader recover stock zip (with new boot.IMG) then do a factory reset. Update still fails
[General Questions and Answers] GartimusPrime:
In case anyone is interested, substratum theming works. When you select layers to apply, don't select the Android system layer, that will boot loop you. Otherwise, kinda cool.
[General Questions and Answers] Cozyman Cam:
This tablet is my first modern mobile device (never owned a mobile iOS or Android device before this tablet). As a consequence, I'm also a newbie at rooting Android devices to gain super user access to the system. I found a general step-by-step guide to rooting using the TWRP method elsewhere. I'm currently trying to figure out which of the links posted throughout the thread contains the TWRP image I need to flash before proceeding. Your assistance is greatly appreciated.

Thank you,

Cozyman Cam
[General Questions and Answers] Trekz:
Use this twrp and boot into it from fastboot, and then root from it.
[General Questions and Answers] bbelos:
Is your update still failing when it checks aboot? If so. Then I can try to upload that image. What firmware version is your system on now?

If your error is not aboot, please list your current error.
[General Questions and Answers] menace211:
Patiently hoping for a CM based rom ?
[General Questions and Answers] bornagainpenguin:
LineageOS you mean? CM is dead. [emoji25]
[General Questions and Answers] menace211:
^I stand corrected ?
[General Questions and Answers] bbelos:
Well, I have a bootanimation and an occasional "Starting apps" screen, so that's good, but something is crashing before I can get to the homescreen.

More to come...
[General Questions and Answers] menace211:
When installing a rom?
[General Questions and Answers] jmo:
MicroSD Backup/Restore

I did a backup to a MicroSD card which ran fine. However, I am now trying to restore from the MicroSD card and TWRP isn't seeing the TWRP folder. I can confirm that the folder is present when using the file manager.
[General Questions and Answers] GartimusPrime:
What size is your card?
[General Questions and Answers] jmo:
I just figured out the problem. It is my mistake, I think TWRP is working as designed. Apparently, TWRP now creates a new folder for each device and stores the images in their respective folders. I was trying to move a card from one tablet to another, thus nothing showed up. I was able to get it working by copying the TWRP backup to a newly created folder. Sorry, my past experience with backups was that they all looked in a common folder.

Jonathan
[General Questions and Answers] Pegasus Epsilon:
SafetyNet

Has anyone managed to get this thing to pass SafetyNet? I've fully unrooted, locked the bootloader (with fastboot oem lock-go), done system updates, and factory reset, and SafetyNet Helper still reports CTS profile match: false

I'm using stock recovery and everything, I can't for the life of me figure out what's missing...
[General Questions and Answers] chibot75:
Do you have a list of the bloat you've frozen?
[General Questions and Answers] GartimusPrime:
No, not really. With a working TWRP and titanium backup, I just made a backup right after going through setup of a new device then rooted installed titanium backup and started uninstalling things. I have done anything super crazy, just preinstalled apps that I don't use for the most part.
[General Questions and Answers] menace211:
My tab is on marshmallow. Is there any apps to boost the volume? I haven't had any luck so far.
[General Questions and Answers] chibot75:
Doesn't the Dolby app that comes with the tablet do that?
[General Questions and Answers] jtrosky:
You can use the built-in Dolby app - just move all of the equalizer sliders all of the way up - it boosts the volume quite a bit.
[General Questions and Answers] menace211:
I'll give that a shot. Thanks guys. One more question, has anyone been able to get init.d to work?
[General Questions and Answers] JackBlackadder:
Themes

I've been using the image Jmo previously posted along with Substratum... however... while I recall earlier in this thread someone said they got it working, I've had nil luck. Multiple times I've tried different themes only to have them "break" the boot process and having to re-flash the image, then xposed v.87, etc. Are there other theme engines we can run on this that would theme the settings, gapps, etc? I know it's a n00bish question, I'm just used to having CyanogenMod or other ROMs that already have theming integrated.
[General Questions and Answers] GartimusPrime:
I am running Substratum on my tablet. I have found you have to be selective on what is getting themed. I believe I have been able to theme almost everything except Android System. I have done whatever app the theme allows along with the settings option
[General Questions and Answers] JackBlackadder:
I had just been going through and doing just that. I feel stupid for not trying Android System right off, given it should have been obvious. Ugh... I feel dumb.

Thanks, Gartimus, worked like a charm.
[General Questions and Answers] chibot75:
I've rooted this tablet and frozen a whole heap of apps yet the email app takes a while to load up and display the mailbox. Anyone else having problems with emails loading slowly?
[General Questions and Answers] Pegasus Epsilon:
I've actually never used the built-in email app, so I don't even know how long it's supposed to take to load. There are several pieces (seven, iirc) of lenovo spyware that come installed by default, though, and the thing boots just fine without them, so probably rip all that out. Let me know if you need a list, and here's hoping it helps.
[General Questions and Answers] chibot75:
A list would be great! Thanks
[General Questions and Answers] GartimusPrime:
Has anyone successfully been able to uninstall the Google now launcher and the Google now app itself? When I try it bootloops the tablet
[General Questions and Answers] Pegasus Epsilon:
Here's everything I rip out before I even boot my tablet after a reset:

/system/3rdapp/LenovoSync_ROW_pad
/system/3rdapp/PLUGIN_LenovoMobile_Signed
/system/priv-app/LenovoA10
/system/priv-app/LenovoAutoTest
/system/priv-app/LSF-Device-Pad-RoW
/system/priv-app/LSF-UEService-Pad-RoW
/system/priv-app/LSF-User-Pad-RoW
/system/priv-app/lenovoue

Note that this list previously included /system/priv-app/LenovoOTA_ROW, which is needed for system updates. My bad. If you previously deleted it, let me know. I'll zip it up and post it somewhere for you.

Pretty sure those are important for gapps. You might try ripping out *ALL* gapps, and see if that works, then you can install them piecemeal (or use open gapps and pick your poison), or just freeze/disable them some other way (like root app deleter in the play store or something)
[General Questions and Answers] jtrosky:
So did we ever figure out a way to apply an OTA update once we've been rooted (even if we have to unroot to install it)? I recently received an OTA notice for a TB-X103F_S000022_161127 release (updating from the 161121 release). It's only 3MB and I do have the update .zip file, but I haven't found a way to install it due to the updater root check (fully unrooted with SuperSU Pro and everything). Can't figure out what file is indicating that it was rooted...

This is the error that I eventually get (after full unroot, reset to factory defaults and I've even tried re-installing the boot image posted earlier in this thread):
[General Questions and Answers] vampirefo:
My guess checking bootloader.
[General Questions and Answers] jtrosky:
Actually, I tried relocking the bootloader as well - same error... It seems there is some file that it is checking (right before the error, it says "db_num=130, file_num=128" - whereas the checks before this have the same db and file_num). Just have no idea which file that is...

I also tried commenting out the root check in the update script, but then the file fails a CRC check (I guess).

Would just like to up to the latest patch level somehow. Unfortunately, Lenovo hasn't posted firmware images for this device.
[General Questions and Answers] vampirefo:
Relocking bootloader means nothing, once unlocked, it will always reported unlocked to checks.
[General Questions and Answers] jtrosky:
Interesting - wasn't aware of that. Thanks for the info.

Although, the errors seems to indicate the tablet is rooted (or at least a file only modifiable by root was modified), which technically isn't related to an unlocked bootloader. I guess it could be a "false" error - or maybe they could consider an unlocked bootloader a sign of a rooted device.

Oh well, not a huge deal - was just curious if there was a way. I guess the only way would be if Lenovo released an updated firmware image...

Is there any way to "convert" an OTA zip file to a "generic" flashable .zip file? I mean I can see all of the files that are updated in the .zip file (at least I'm assuming that I can see them all).
[General Questions and Answers] SynGamer:
Any update on rooting this? Just picked one up today and would like to remove most of the Lenovo stock apps. Looks like progress is being made from the pages I read through.
[General Questions and Answers] GartimusPrime:
We are already rooted. There is a working twrp a few pages back. Flash that then flash SuperSU. On my XDA labs app, it's located on page 7 in a post by bbelos.
[General Questions and Answers] Pegasus Epsilon:
Absolutely no need to flash the TWRP. My tablet still has untouched stock recovery.

Unlock the bootloader, fastboot boot the TWRP, flash SuperSU, install FlashFire, and never worry about it again.

The TWRP seems perfectly stable, but why kill your stock recovery when you don't have to?
[General Questions and Answers] GartimusPrime:
Because I don't want to hook it up to my computer every time I need to restore, create a back up or flash something else. I mess around with a lot of things to the point where I usually break it. Plus I have my recovery backed up with my first TWRP back up. To each their own I suppose.

Also here is what I have frozen/removed so far

android.com.lenovoue

com.android.bookmarkprovider

com.android.browser.overlay.swe

com.android.calculator2

com.android.calllogbackup

com.android.contacts

com.android.deskclock

com.android.dreams.basic

com.android.dreams.phototable

com.android.facelock

com.android.galaxy4

com.android.gallery3d

com.android.htmlviewer

com.android.keyguard.wallpaper

com.android.launcher3

com.android.musicfx

com.android.noisefield

com.android.phasebeam

com.android.printspooler

com.android.protips

com.android.providers.calendar

com.android.providers.contacts

com.android.providers.downloads.ui

com.android.providers.partnerbookmarks

com.android.providers.userdictionary

com.android.smspush

com.android.soundrecorder

com.android.statementservice

com.android.wallpaper

com.android.wallpaper.holospiral

com.android.wallpaper.livepicker

com.caf.fmradio

com.dolby

com.dolby.daxappUI

com.dsi.ant.server

com.google.android.apps.docs

com.google.android.apps.maps

com.google.android.apps.photos

com.google.android.apps.wallpaper

com.google.android.backuptransport

com.google.android.calendar

com.google.android.configupdater

com.google.android.feedback

com.google.android.gm

com.google.android.gsf.login

com.google.android.inputmethod.latin

com.google.android.marvin.talkback

com.google.android.music

com.google.android.onetimeinitializer

com.google.android.partnersetup

com.google.android.setupwizard

com.google.android.syncadapters.contacts

com.google.android.talk

com.google.android.tts

com.google.android.videos

com.google.android.youtube

com.lenovo.lsf

com.lenovo.lsf.device

com.lenovo.ota

com.lenovo.tab10

com.phone.videoplayer

com.wdstechnology.android.kryten