[Upgrading, Modifying and Unlocking] Silverlink34:
New Device: Understanding its filesystem and Androiding it

I'll try to make this short and sweet, but I am a sucker for lots of detail..

Got a smartwatch for my wedding gift, and hoped it had some android. It has a weird os that has settings in strange places and uses iphone icons for random things. Naturally I looked it up to see if any modification had been performed and wanted to flash some goodies or compile it myself.

I found that it was super hard to even find the manufacturer, the box it came in was labeled "Smart watch" and that was about it. Came with charger, detachable usb cable, headphones+mic. It has a slot for sdcard and sim card under the battery. I searched for it online and finally found the manufacturer's page:

http://smamao.en.alibaba.com/produc...creen_Smart_Bluetooth_Watch_Mobile_Phone.html

Not much to go on there. So I plugged it into my computer to see what came up. On Windows, you get a fat32 filesystem that is about 400mb labeled "boot."

The complete filesystem is below.

I was looking to put my own ringtone or music or wallpaper on the device (it gives options to choose from storage) and to my amazement it had a filesystem VERY similar to android, and upon more investigation I found the familiar updater-script inside two different zip files, namely part1.zip and part2.zip. I did some googling of the files in the root directory and found that u-boot.bin is the bootloader, and uImage is likely the kernel or shortcut to the kernel. I copied all of ze files to my computer and delved in. I unzipped part1.zip, part2.zip, and part3.zip. Each zip had its own updater script. I followed along the updater script of part1 to find that it extracts restore.img to /tmp/ and writes it to a block. It even has a comment within the updater that says "reboot device and flash part2, reboot then flash part3." I tried to view the contents of restore.img first via 7zip, then with linux mount commands, and was unsuccessful. Linux said it was a GPT image and it was corrupted blah blah.. I'll figure that out later.

I followed updater script in part2 and saw that this is the one that seems to write the u-boot.bin, uImage, system.zip, data.zip and others. I unzipped the system.zip and immediately delved into the build.prop inside and saw it labeled as Lenovo for manufacturer..wtf?? The system.zip didn't make sense because it had actual apps in it and the watch itself does NOT look like android or have any of the apps that were in there. Maybe it just uses some of the data in there, I don't know.

From here I am stumped. I figured if I could read the contents of the .img files I could figure out some more, but until then I am unsure of what else to do. Also, I have tried numerous combinations of button pressing to try to get the device to boot into that dang recovery.img. I noticed when you plug usb into computer the watch lets you choose mass storage or com port. Maybe you can only use recovery from the com port? I don't know. I came to ask the experts.

I can't post the filesystem because it maxes out the character limit of this post. I will put it on pastebin and the link is here:

http://pastebin.com/B5vNp0rX

Also note that Gparted in linux shows the device's filesystem actually has 2 partitions - boot, media and unpartitioned. Total space is about 30gb (I will update the exact size later)

Edit - I started a github repo and will be posting the important files on there - such as the updater-scripts, build prop, and filesystem. Link to this repo is here:

https://github.com/Silverlink34/smartwatch