Porting Android to Gear 2

Samsung Exynos 3250, dual core up to 1GHz
512 Mb of RAM
4 Gb of flash, divided in 15 partitions (see below)
Mali 400 GPU, using Exynos DRM driver
YMU381 audio, supported by ALSA
BCM4334W Bluetooth/WLAN controller, already supported
by Android in a bunch of phones
Samsung SensorHub (STM32) controlling Gyro/
accelerometer and HRM. Supported in the kernel and seen
in Android HAL.
Partition layout
bota0 -> ../../mmcblk0p1
bota1 -> ../../mmcblk0p2
csa -> ../../mmcblk0p3 --> ext4 -> /csa
boot -> ../../mmcblk0p5 --> Main Kernel
csc -> ../../mmcblk0p12 --> ext4 -> /system/csc
fota -> ../../mmcblk0p10 --> seems empty
ramdisk-recovery -> mmcblk0p8 -> ext4 -> Unused in tizen
--> USED AS BOOT PARTITION IN ANDROID
module -> ../../mmcblk0p9 --> ext4 -> /lib/modules -->
USED FOR TWRP IN ANDROID
rootfs -> ../../mmcblk0p15 ext4 "/" --> Root file system,
recovery works from here too. If you break it it will only
boot to download mode. --> USED AS SYSTEM PARTITION
IN ANDROID
system -> ../../mmcblk0p11 EMPTY --> Did samsung start
with Android on this thing then changed their minds?
system-data -> ../../mmcblk0p13 --> ext4, /opt --> If you
erase this partition, your watch won't boot back into Tizen.
Do not touch it unless you have a backup and know your
way into restoring it.
user -> ../../mmcblk0p14 EXT4, /opt/usr --> all user data,
including the MTP available part (/opt/usr/media) --> USED
AS DATA & SDCARD IN ANDROID
Current development stage
Kernel:
I've merged kminilte and gear2 kernels and built a new one,
supporting the S3C framebuffer, removing the DMA-CMA
support and making a ton of modifications, to make it
compatible with the Android HAL. It's a work in progress,
but it boots, display works, and hopefully, the won't be
more than a thousand million bugs pending to be fixed. You
can get the source on github:
Github Android B2 Repository
I also uploaded other kernel trees to keep as a reference in
case you need one
Recovery:
We have a minimally working recovery image, based partly
on the work done by devs for the Gear1 (thank you guys!).
Now it's not of much use, but if this gets running better, it
would be very useful. Right now, you'll need it if you want
to debug the platform.
Get it here: MediaFire
Android:
Android boots, right now (April 24th, 2015),but it doesn't do
much more. ADB works and can be used to debug, but the
audio services crash on the background and lock up the
input, making it worthless. I'm trying to get all the minimal
libraries running so I can at least get a stable system (even
if it drops battery a 20% every 30 minutes) before posting
an image which doesn't work for anything except more
development.
*Dear Gear S owners: I don't like giving bad news, and I
would love to tell you otherwise, but the Gear S DOES NOT
share the same CPU as the Gear 2/Neo. For what I've
seen, it uses a Qualcomm CPU, which is used on other
phones. So, as much as I'd like to, litte of what I'm doing
here will be of use for you. I just looked a bit over the
kernel source provided by Samsung, and I think it can be
done. You'll need to (at least) rewrite the display driver for
the board to use the KGSL framebuffer driver from
qualcomm to make it compatible with the existing Android
HAL drivers for the Adreno GPUs. Maybe that's enough to
get a bootloop on the kernel side, the Gear 2 has proven to
be quite problematic for me so far (and don't expect it to be
easier at this point), but maybe yours is a little bit easier,
since your CPU is more common than the Exynos
3250/3470 running on this watch.
Sadly, I don't own and don't have access to a Gear S, so I
can't be of much more help than that. If you read all my
posts, you'll get an idea of the modifications I had to do to
the kernel, hopefully you can jump over most of them.
Good news is, your modem seems to be common too, and
Samsung's Sensorhub libs seem to be quite unified, so with
a lot of work, you could make it work I think. Anyway,
you'll need a developer owning that device and willing to
spend countless hours to make it work.

Share on Google Plus

We work hard for you. One Like Please?

    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment