yashsingh1/xdaforums huggingface dataset:
[Thinkpad Tablet Android Development] realyst2k:
#cat /proc/partitions
major minor #blocks name

7 0 9216 loop0
179 0 31259648 mmcblk0
179 1 6144 mmcblk0p1
179 2 8192 mmcblk0p2
179 3 786432 mmcblk0p3
179 4 921600 mmcblk0p4
179 5 2048 mmcblk0p5
179 6 524288 mmcblk0p6
179 7 20480 mmcblk0p7
259 0 143360 mmcblk0p8
259 1 20480 mmcblk0p9
259 2 28811264 mmcblk0p10
179 8 16186368 mmcblk1
179 9 16182272 mmcblk1p1
#

1838CTO

0074_ROW

Anyone know how to show the stdout/err on bootup instead of the Lenovo splash? Methinks it'd be nifty to know what it was doing at the moment it decides to restart instead of booting into recovery.

EDIT: Doesn't look like it's practically possible without some serious kernel tinkering....bummer.

---------- Post added at 03:40 AM ---------- Previous post was at 02:56 AM ----------

ROW tends to lack some apps and systems that USA has....so I suppose we could try either:

* somehow installing USA firmware before installing CWR, though I imagine that could cause a brick.

* get a list of what CWR needs from the system and compare it with what the ROW image has built-in.
[Thinkpad Tablet Android Development] stewarta:
export PATH=/data/local/bin:$PATH
$ export PATH=/data/local/bin:$PATH
$ su
# cat /proc/partitions
major minor #blocks name

7 0 9216 loop0
179 0 31259648 mmcblk0
179 1 6144 mmcblk0p1
179 2 8192 mmcblk0p2
179 3 786432 mmcblk0p3
179 4 921600 mmcblk0p4
179 5 2048 mmcblk0p5
179 6 524288 mmcblk0p6
179 7 20480 mmcblk0p7
259 0 143360 mmcblk0p8
259 1 20480 mmcblk0p9
259 2 28811264 mmcblk0p10
179 8 30355456 mmcblk1
179 9 30351360 mmcblk1p1
#

...0074_ROW

---------- Post added at 09:36 PM ---------- Previous post was at 09:13 PM ----------

@realyst2k: I've PM'd jcase to see if he has any suggestions. Fingers crossed.
[Thinkpad Tablet Android Development] realyst2k:
Incidentally, in case anyone else was initially as ignorant about Android innards as I am, /system/boot-from-recovery.p is an image of the original factory recovery partition. Apparently, this is common across many android platforms(found it in a Samsung thread). Good to know :)

So, now we have an image, now we image the restore partition :)

Just use dd to image the recovery partition with it, similar to how you replaced it with the non-ROW-workable-for-now CWR image

$ su
# dd if=/system/recovery-from-boot.p of=/dev/block/mmcblk0p1

Also, the original install-recovery.sh is earlier in this thread somewhere. Worse case, open up a ROM image from lenovo.

Now reboot, tap Vol+ and make sure you see your recovery menu.
[Thinkpad Tablet Android Development] realyst2k:
Going through the OTA zips between US and ROW, aside from the pack-in apps, this is, so far, the only glaring difference, which is sort of expected:

Sadly, I lost my Linux box and haven't had a chance to build a new one and I don't imagine disk imaging with this file will not be fun on Windows so it may be a bit before I get a chance to.

Edit: the one on the left is the USA one. both are in patch/recovery

Edit: My ignorance of the Android backend shows itself again, as ".p" apparently is simply a "patch" file. So I suppose I should be looking at what it's actually patching.

Edit: In case it helps, here's the content of the ROW build.prop

# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=ThinkPadTablet_A310_02
ro.build.display.id=ThinkPadTablet_A310_02_0037_0074_ROW
ro.build.version.incremental=0037_0074_ROW
ro.build.version.sdk=12
ro.build.version.codename=REL
ro.build.version.release=3.1
ro.build.date=Tue Nov 8 15:28:32 CST 2011
ro.build.date.utc=1320737312
ro.build.type=user
ro.build.user=build
ro.build.host=build-desktop
ro.build.tags=release-keys
ro.product.model=ThinkPad Tablet
ro.product.brand=Lenovo
ro.product.name=ThinkPadTablet
ro.product.device=Indigo
ro.product.board=ventana
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=Lenovo
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=tegra
# ro.build.product is obsolete; use ro.product.device
ro.build.product=Indigo
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=ventana-user 3.1 ThinkPadTablet_A310_02 0037_0074_ROW release-keys
ro.build.fingerprint=Lenovo/ThinkPadTablet/Indigo:3.1/ThinkPadTablet_A310_02/0037_0074_ROW:user/release-keys
ro.build.characteristics=tablet
ro.product.input.defaultpkg=com.nuance.flext9.input
# end build properties
ro.opengles.version = 131072
wifi.interface=wlan0
service.mtp.defult_lock=true
keyguard.no_require_sim=1

#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.setupwizard.mode=DISABLED
ro.com.google.gmsversion=3.1_r2
ro.config.notification_sound=OnTheHunt.ogg
ro.config.alarm_alert=Alarm_Classic.ogg
ro.com.google.clientidbase=android-lenovo
dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=48m
dalvik.vm.heapsize=256m
dalvik.vm.dexopt-flags=m=y
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt
[Thinkpad Tablet Android Development] stewarta:
@realyst2k: Thanks for this. jcase pointed out that it was up to us to take this forward. I have a Fedora Core Linux system, but not knowledgeable enough do this I am afraid.
[Thinkpad Tablet Android Development] realyst2k:
I'll download a livedisc and try following the porting guide to see how far I go. i have some basic c experience and intermediate shell experience, but I don't know how far I'll get.
[Thinkpad Tablet Android Development] stewarta:
@realyst2k: Yes, I am able to boot into stock recovery, so all is well there. I extracted the install-recovery.sh from the ROM downloaded from Lenovo for the ...0074_ROW. While I thought I renamed the original before attempting the ill-fated attempt to boot into CWR (using Root Explorer) I couldn't find it.

No matter now. Yes, I could see it was a patch file, but what is it patching (as you asked) and why? I suspect there is a 'generic' boot image and the patch is to specify the particular model.

If that is the case then the next question for me is can we 'patch' the cwr_ventana_2.img... again with what, and why comes to the fore.

You state that you need a disk image... is that so you can reimage the TPT if it goes belly-up in testing? Couldn't you use ADB and pull the system and mess about in there first? I suppose in the end it still comes down to a live test. Just thinking aloud really ...
[Thinkpad Tablet Android Development] realyst2k:
It's patching android since it's an OTA update. That it's a patch isn't unexpected.

I doubt strongly they did anything that'd patch our CWR since the ROW update is actually a lower version than the USA one.

I'll follow the port directions. I've got a feeling that the kernel in jcase has in the source tree contains code from a newer version of the Lenovo android build which is causing a failure.

ROW is behind most other regions. We'll see how well the custom port goes. I'll let you know.

Learning a lot of this for the first time so I'm sure seasoned vets have been laughing at me through most of this thread :)
[Thinkpad Tablet Android Development] obscure.detour:
Just like to add that I was successful in installing CWR. Unfortunately, when running a backup within CWR the tablet reboots. I don't have much on my tablet as I recently did a reset, but I only have a 4GB sdcard installed so I don't know if that could be a problem.

Information:

Model: 183822U/16GB

Build: 0075_US
[Thinkpad Tablet Android Development] Janis:
I don't want to be presumptuous, but wouldn't an Ubuntu boot CD work in place of a Linux machine for one-time shots like this? It's pokey, but with my very sketchy background with Linux, it seems like it would work in a pinch.
[Thinkpad Tablet Android Development] Jon2555:
I think that problem is in partition layout from model to model or maybe from rom version to version. From users output for example system isn't on the same mount point like in jcase's source.
[Thinkpad Tablet Android Development] janjan:
How to remove CWR and install the stock recovery again. Can some one tell me where to find the stock recovery and which steps to perform to obtain the stock recovery. Thanks

I have thinkpad 32GB 3G WE
[Thinkpad Tablet Android Development] Koshu:
Here are new versions for the different Sizes:

16Gb:

http://everyrandom.com/files/download.php?file=264ventana_recovery.img

32Gb:

http://everyrandom.com/files/download.php?file=196ventana32_recovery.img

64Gb:

http://everyrandom.com/files/download.php?file=538ventana64_recovery.img

Credits go to Logxen for modifying and compiling (based on the builds jcase made).

Thanks to bohdans for webspace.

We also excluded the /data/media directory (Internal sdcard) so backups doesn't need so much space anymore.

P.S. there may still be bugs, i you find one, post as much information you can provide and your tpt model

P.P.S: As always: No warranties, no guarantees. Playing around with the recovery can brick your device.

Known Bugs:

- Doesn't work on ROW Roms

- Force reboots while backup on some devices
[Thinkpad Tablet Android Development] quyTam:
Thank you vers much : logxen, you, bohdans, jcase,... for this recovery, just test it a little and seems to work great (TPT 16gb)
[Thinkpad Tablet Android Development] obscure.detour:
Thank you Koshu, Logxen, jcase, bohdans, and of course Koush and all others who work on CWR!

Flashed and booted fine. Unfortunately I am still getting reboots when trying to do a backup. It backs up boot and recovery fine and gets about 1/3rd done with /system and reboots. I'm going to try a different sdcard and see if I get different results :)
[Thinkpad Tablet Android Development] redbaron:
Tried using instructions on first page (corrected name). Didn't worked, doesn't goes to recovery, tried also using ROM Manager. Maybe something is wrong with installation instructions.

18382GG 16 GB w/ 3G 2 GB SD card, A310_02_0037_0074_ROW
[Thinkpad Tablet Android Development] realyst2k:
It's because you're ROW. US CWR images don't appear to work on ROW. I'm hoping to get a ROW port working soon(no guarantees, I'm quite new at this) but had some problems with my Linux VM I had to sort out first.
[Thinkpad Tablet Android Development] redbaron:
It wasn't mentioned that it wasn't for ROW. Thank you for information. Maybe I can help with something, I am good in Linux but not in programing.
[Thinkpad Tablet Android Development] sigmap:
New CWR work correctly backup. Restore is not proven.

64GB.
[Thinkpad Tablet Android Development] Koshu:
Well they are also working for WE Roms, i thinks its not because its a US or ROW version but because the WE Roms are older (If you assume that the Version number i.e. 0074 has anything to do with the "build" version). At least its working with WE (0076) and US (0075).

Would be interesting what differences are between the ROMs. The Partition sizes should be the same and i thinks its irrelevant if CWM and the ROM have the same Kernel.

P.S. btw the builds are with a Kernel from US 0075

---------- Post added at 10:40 PM ---------- Previous post was at 10:35 PM ----------

Which model and ROM Version do you have?
[Thinkpad Tablet Android Development] stewarta:
The answer lies back a few pages in this thread.
[Thinkpad Tablet Android Development] janjan:
thank you for great job but it still not working. I just Flashed and booted in recovery fine. Unfortunately when I am trying to do a backup. It backs up boot and recovery fine and gets about 20 seconds or some thing, done with /system and reboots. I tried both 4 and 8 GB sdcard. My version is 32 GB ( build number ThinkPadTablet_A310_02_0037_0076_WE. Machine type and model 18282CG) thanks

---------- Post added at 04:38 AM ---------- Previous post was at 04:36 AM ----------

Yes but still there is not any steps to perform. I download the stock package. I found these

EC

META-INF

patch

pia

recovery (here are two --->etc and recovery-from-boot.p and inside etc there is a script install-recovery.sh)

system

blob

now to optain the stock recovery do I just run the script or what. thanks.
[Thinkpad Tablet Android Development] janjan:
delete delete
[Thinkpad Tablet Android Development] Janis:
Model Number: Thinkpad Tablet

Android version: 3.1

Kernel version: 2.6.36.3 build@build-desktop #1

Build number: ThinkPadTablet_A310_02_0037_0075_US

Machine type and Model: 183822U

EC version: V0019T00

When I adb reboot to recovery, I never get to recovery. It just boots.

When I try to reboot via ROM Manager, again, it just boots.

When I try to reboot recovery from CWM, it boots normally.

Sometimes when I'm in the middle of something, it will now do a soft reboot on its own.

My external SD is "unavailable" but it acts like it's read-only in Root Explorer and errors out if I try to remount it there, and does the same thing in CWM. I've tried 3 cards that all work in both my SGS phone and PC.

I also have a couple of really basic questions:

What is, exactly, the key combo to get into recovery?

- Right after the power-up vibration, I hit the volume up key 4 times in quick succession. One, two and three times never worked for me. I got text by the time I reached 5. It seems like it might be a timing thing rather than the number of hits. (Lenovo is going to get back a bunch of machines from IT groups if you have to wail on it that much).

What is ROW?

-Not US, and not WE. Rest Of World, It's the last three characters of the Build Number (Settings->About tablet)

Is there a stock recovery readily available?

- Yes. There's a link to the dump in this forum. But it's still on the tablet, too. There's just a file that redirects you to this one (see earlier in the thread).

What does UUID stand for? http://www.famkruithof.net/guid-uuid-info.html

I'm convinced answers like this need to be in threads like this for many, many average folk who read the whole thread before flashing, need to know, and deserve encouragement for their reading-before-flashing behavior. Answers are good. realySt2k has much better answers (1/29).
[Thinkpad Tablet Android Development] realyst2k:
1) ROW is Rest Of World(basically, the ROM on any tab let not in the US, the UK, or the far east). In your system info, the ROM name will end in _ROW.

2) Boot the system, really quickly pound on Vol+. "Booting into recovery kernel" should appear in white in the top corner.

3) In /system in your file system there is a recover-from-boot.p file which is a stock version of the recover image. In the OTA zips, you can find the original "instakll-recovery.sh" script if you didn't back up yours as well under system/etc.

4) Use adb shell or the "Root Explorer" android app to see it, but you won't need to, just specify the full path in the "if=" option of your dd command when you're writing the image to the recovery partition.

5) UUID is an acronym for Universally Unique Identifier. It means it's a random string generated in a standard way. no idea what it's for in the System area though.
[Thinkpad Tablet Android Development] obscure.detour:
Model: 183822U (16GB Wi-Fi only)

Build: TPT_A310_02_0037_0075_US

CWR: (16gb) ventana_recovery.img

It isn't that big of a deal IMO as you can tap volume up after initial boot vibration to enable recovery. Like others have been saying, you cannot reboot into recovery from any sort of software command whether it be Rom Manager, Quick Boot, or adb reboot recovery. It simply boots like normal. I haven't had a chance to try a different sdcard to see if we can get backup to work. Hope to tomorrow.

Cheers.
[Thinkpad Tablet Android Development] Jon2555:
This mean that nothing have been installed on partiton that you want to boot. What did you do to get into this situation?
[Thinkpad Tablet Android Development] janjan:
I just run the install-recovery.sh . Hope there is a fix

Adb is not working any more.
[Thinkpad Tablet Android Development] realyst2k:
ROW image

Compiled a working CWR img for ROW build Thinkpad tablets. I've confirmed this launching and backing up on my 16GB model. But, as the others, I haven't tested the restore funtionality.

Temporary resting place:

http://real-ism.com/files/recovery_ventana_row.img

Mostly just reused jcase's source but substituted the kernel for mine.

As usual: No warantees, use at your own risk, etc...

Installation is the exact same as jcase's, just use this img file instead of his at the "dd" step.

Also, again, this is for ROW(rest of world) tablets ONLY.
[Thinkpad Tablet Android Development] Jon2555:
Exact steps.
[Thinkpad Tablet Android Development] Koshu:
That's interesting. So its the kernel after all. doesn't make much sense to me because the recovery should even boot when there is no running ROM on the tpt. Means that every Kernel should be fine as long its a running one. This could mean that there are differnents in hardware for US and ROW. It can't be the hardware itself as i had ROW running myself before updating to WE. Only possibility i can think of is, that in the WE update are new firmware flashed for some of the components.

We should keep this in mind when building own ROMs.
[Thinkpad Tablet Android Development] Jon2555:
My bad. Nothing.
[Thinkpad Tablet Android Development] janjan:
No help here? No Way to out
[Thinkpad Tablet Android Development] Koshu:
If you can't get into recovery or boot up the rom it could be hard to do something. Only way i know of would be through nvflash. But we don't have the needed keys as lenovo keeps them secret.

Maybe someone else can correct me if i'm wrong.
[Thinkpad Tablet Android Development] ChadH42:
Same Here: Model 1838-25U, build# A310_02_0037_0075_US, 32GB stock rooted using the 32gb recovery.
[Thinkpad Tablet Android Development] siggehandf:
Worst case is that they charge you for the hours, should by all accounts, be cheaper then buying a new one.
[Thinkpad Tablet Android Development] obscure.detour:
Just thought I'd give an update on my end. I've tried to do some adb stuff within CWR and have noticed that CWR reboots automatically after about 10-15 seconds.

The reboots apparently have nothing to do with the backup function. Anyway, just an update :)
[Thinkpad Tablet Android Development] Koshu:
Can someone else with backup problems confirm this? While you have the reboot problem, had you plugged-in in the powercable and if not, was your battery fully charged?

Thanks
[Thinkpad Tablet Android Development] Jon2555:
We'll need a log. Is adb enabled?
[Thinkpad Tablet Android Development] Koshu:
Nothing unexpected in the log. Can you try to run the command adb shell cat /proc/kmsg while in recovery, wait until it reboots and post the output? Maybe the kernel is telling us something usefull.
[Thinkpad Tablet Android Development] mandrsn1:
I cannot boot into CWR on my US 32GB tablet. It just reboots normally. I used the 32 gb file about half way through the thread and just renamed it.

# mount -o rw,remount /system
mount -o rw,remount /system
# echo "#!/system/bin/sh" > /system/etc/install-recovery.sh
echo "#!/system/bin/sh" > /system/etc/install-recovery.sh
# dd if=/data/local/cwr_ventana_2.img of=/dev/block/mmcblk0p1
dd if=/data/local/cwr_ventana_2.img of=/dev/block/mmcblk0p1
8696+0 records in
8696+0 records out
4452352 bytes transferred in 1.993 secs (2233994 bytes/sec)
# reboot recovery
reboot recovery
reboot returned
#
[Thinkpad Tablet Android Development] Koshu:
Try to press Vol-Up several times after powering on the tablet (when it vibrates short)
[Thinkpad Tablet Android Development] mandrsn1:
Well, I am a dumbass... It worked.

Thanks for the quick help.
[Thinkpad Tablet Android Development] obscure.detour:
Yeah for sure, I'll do it later today. Gotta run to class :)

Cheers and thanks for all the help.
[Thinkpad Tablet Android Development] Jon2555:
Is log finished when device have been rebooted? I understand that it reboots itself after about 15sec? Did you wait that long?
[Thinkpad Tablet Android Development] seamonkey420:
US, 64GB working w/new version

updated to the the latest port for 64GB version. was able to create a new backup and restore successfully.

TPT 183927U (64GB w/3G added on afterwards)

Build: ThinkpadTablet_A310_02_0037_0075_US
[Thinkpad Tablet Android Development] realyst2k:
I can compile ROW versions with my kernel. Can you tell me what steps you took to exclude /data/media(I'm quite new at this)?

Also, are your config files uploaded somewhere for the 32 and 64 gig models(I can generate only for 16GB at the moment)?
[Thinkpad Tablet Android Development] stewarta:
@realyst2k: Sounds like you are close to getting CWR to work on the ROW versions. It also sounds like you haven't been able to test it yet.
[Thinkpad Tablet Android Development] jhankinson:
Thanks for the update. Everything seems to be working properly for me (32GB US version).
[Thinkpad Tablet Android Development] mandrsn1:
Is anybody else getting a "Can't mount backup path" error with this version?
[Thinkpad Tablet Android Development] Koshu:
You have to edit the source files to force this behavior. Its in the file nandroid.c near line 111:

if (strcmp(backup_path, "/data") == 0 && volume_for_path("/sdcard") == NULL)

Erase the second part of the if-condition. Something like this:

if (strcmp(backup_path, "/data") == 0)
[Thinkpad Tablet Android Development] obscure.detour:
So very interesting and odd. I loaded CWR and typed adb shell cat /process/ksmg and it started outputting kernel info normally. (I'll paste it in here later as I'm on my phone)

Anyway, it never rebooted, I waited at least a minute and decides to try a nandroid backup. Success! And no reboots. Strange I know but interesting and intriguing. I'll update this post later with the output.

Cheers.

!
[Thinkpad Tablet Android Development] Koshu:
Did you change anything? I had one of the reboots too at first boot of cwm, but it never happened again to me. The Bug seems hard to reproduce.
[Thinkpad Tablet Android Development] realyst2k:
Thanks! I'll compile a ROW version tonight and give it a try. I'll post the link up if it works.
[Thinkpad Tablet Android Development] obscure.detour:
Nah I didn't change a thing. Other than type in that adb command. Yeah its odd. I'll play more with it when I get home.
[Thinkpad Tablet Android Development] stewarta:
.... I'm holding my breath the 32Gb ROW version works ....
[Thinkpad Tablet Android Development] realyst2k:
16GB ROW version updated with the /data/media fix.

http://everyrandom.com/files/download.php?file=909recovery_ventana_row16.img
[Thinkpad Tablet Android Development] redbaron:
It booted at last! :) But I can't backup anything it tells : "Can't Mount /sdcard/" or "Can't mount backup path", but sdcard is inserted.
[Thinkpad Tablet Android Development] mandrsn1:
I have the same error on the 32GB US version
[Thinkpad Tablet Android Development] redbaron:
Mine is 16G ROW version.
[Thinkpad Tablet Android Development] realyst2k:
Are you using the one I compiled? If so, what filesystem is your sdcard formatted in? Also, what size, brand and are you sure 'read-only' switch is flicked off??
[Thinkpad Tablet Android Development] redbaron:
It worked after I formated it from android. I tried to backup but my sdcard is small, rerun it when I get bigger one. Thank You
[Thinkpad Tablet Android Development] realyst2k:
Ahh, you probably had it formatted for NTFS. It should be FAT32(if you plan on using it for Windows).

Good to know it's (sort of ) working for you.
[Thinkpad Tablet Android Development] mandrsn1:
Same here. The card worked in the Android OS, but not in CWR
[Thinkpad Tablet Android Development] stewarta:
ROW 32Gb

@realyst2k: Now you have the 16Gb SD-Card version of CWR for 0074_ROW TPTs working, will you be compiling a 32Gb version?
[Thinkpad Tablet Android Development] realyst2k:
Send me a dump of your recovery partition(or, rather, upload it somewhere). I'll see what I can do. But be warned I am extremely new at this and do not possess the means to test it myself.

Note: I mean your original recovery partition. The one Lenovo put on. If you don't have it, send me your /system/recovery-from-boot.p file.
[Thinkpad Tablet Android Development] Koshu:
You only need to modify the size of the data partition thats stored in the BoardConfig.mk:

16Gb:

BOARD_USERDATAIMAGE_PARTITION_SIZE := 13249806336

32Gb:

BOARD_USERDATAIMAGE_PARTITION_SIZE := 29502734336

64Gb:

BOARD_USERDATAIMAGE_PARTITION_SIZE := 61513662464

The rest should be the same.