I've had a spare, barely functional (by now) Samsung Galaxy Tab P1000 (first galaxy tab) lying around for a while now. It's never been very well supported by Samsung (it required that horrible "Kies" to update, and there weren't any updates really). But I've gotten used to that with Samsung and it's the main reason I don't buy Samsung Android devices anymore.
So I thought installing CyanogenMod on it would be a good idea. In the end, it was, but it's been quite non-trivial.
Two of the reasons things weren't as easy as described online were:
- Instructions seem to contradict each other, sometimes claiming other instructions are totally wrong
- I don't use windows so I had to use "heimdall" in stead of "Odin" as described in most instructions. Even though heimdall is a better tool (I've heard), it complicated things.
At a certain point I was pretty sure I bricked the tablet. I managed to still get into the "download mode" so there was still a litle hope. Once I was able to restore Android Gingerbread 2.3.3 on the device, things started looking better.
I did this using the following heimdall command:
heimdall flash --repartition --primary-boot boot.bin --cache cache.rfs --dbdata dbdata.rfs --factoryfs factoryfs.rfs --pit gt-p1000_mr.pit --modem modem.bin --param param.lfs --secondary-boot Sbl.bin --kernel zImage --verbose
However, it refused to install the shipped zImage. In stead I used the CMW recovery zImage.
At this point, after more attempts, reboots, I managed to get CMW to install CyanogenMod. However, installation failed quickly with an error similar to:
assert failed: getprop("ro.product.device") == "galaxytabb" || getprop("ro.buildp.product") =="galaxytab" ||getprop("ro.product.device") == "GT-P1000" || getpropr("ro.build.product") == "GT-p1000"
E:Error in /sdcard/cm-9.0.0-RC1-p1.zip
I managed to solve this by "adb sh"-ing into the device and executing the following command:
setprop ro.product.device GT-P1000
After retrying the install a couple of times (eventually I settled for a 10.1. nightly build) and placing it in /sdcard and /, I managed to get a stable, fully functional and very usable tabled running CyanogenMod.