[Thinkpad Tablet Android Development] realyst2k:
UPDATE(Feb 07, 2012): Updating this with most recent info and installation instructions:

ROW 16GB with /data/sdcard fix

http://everyrandom.com/files/download.php?file=381ventana_recovery_row_16.img

ROW 32GB with /data/sdcard fix

http://everyrandom.com/files/download.php?file=165ventana_recovery_row_32.img

ROW 64GB with /data/sdcard fix

http://everyrandom.com/files/download.php?file=656ventana_recovery_row_64.img

Again,

use at your own risk

. 32GB and 64GB versions

have not been tested.

NOTE:

Backup has been tested, but recovery hasn't, though I'd be surprised if it didn't. This is a USE AT YOUR OWN RISK image. Also, I noticed my tablet rebooted once or twice while attempting to backup. This was likely due to the 9% battery indicator, but I figure I'd warn you just in case. If you leave your tablet to backup and you get back to it and you see your launcher unlock screen, it rebooted and likely didn't finish so you'll have to try again(again, I'm pretty sure this was just due to me having run down my battery).

WARNING

: The following assumes you haven't installed any CWR image yet. If you've already installed CWR successfully, follow the 'Update Steps'.

Installation Steps:

adb push recovery_ventana_row16.img /data/local/
adb shell
su
mount -o rw,remount /system
cp /system/etc/install-recovery.sh /system/etc/install-recovery.sh.backup
echo "#!/system/bin/sh" > /system/etc/install-recovery.sh
dd if=/data/local/recovery_ventana_row16.img of=/dev/block/mmcblk0p1

Uninstallation Steps:

adb shell
su
mount -o rw,remount /system
cat /system/etc/install-recovery.sh.backup > /system/etc/install-recovery.sh
dd if=/system/recovery-from-boot.p of=/dev/block/mmcblk0p1

Update Steps:

adb push recovery_ventana_row16.img /data/local/
adb shell
su
mount -o rw,remount /system
echo "#!/system/bin/sh" > /system/etc/install-recovery.sh
dd if=/dev/block/mmcblk0p1 of=/data/local/recovery_backup_image.img
dd if=/data/local/recovery_ventana_row16.img of=/dev/block/mmcblk0p1

If CWR randomly reboots on you when you either try to do a backup or simply stay on the menu too long, try the following(thanks stewarta):

Boot into CWR. Then select to reboot the device(not "Reboot recovery", just the normal reboot).

Allow it to boot into full Android.

Reboot the device again and re-enter CWR. It should no longer be rebooting.

I don't know why the above happens or fixes it. If it doesn't work for you, please do the following:

Boot into CWR. Either wait at the menu screen or attempt a backup(we want to provoke a reboot)

On reboot, hit Vol+ to enter CWR again.

Select 'Advanced'.

Select 'report recovery'. It will tell you at the bottom where the log is stored. Make a note of it.

Boot into full Android and use your favourite file manager to get the log. Paste its contents in this thread.

And once again thanks to Koshu, logxen and jcase and everyone else involved. They did most of the work. I mostly just hit "make".

____________________________________

So with that out of the way:

The kernel is the only change between jcase's port and the ROW version. The BuildConfig and such are untouched.

So why does it work? I would imagine a recovery image would be beyond caring about region of even the kernel version of the main OS. I can't imagine they'd have altered the hardware between builds, especially as ROW merits as much attention as bundling Canada and Berlin...

So, any ideas as to what could cause the difference? Could it be the nvflash signing keys? Could there be a driver inconsistency? Anyone have any ideas on how to troubleshoot at that level seeing as it doesn't look like Android even logs anything that early in the boot process.