dimanche 4 janvier 2015

[Q] Please help! (Kernel compiling, android booting) topic

05:02






Hello everyone!

I've seen everyone asking for Android on the Gear 2, but I'm not sure if anyone has actually _tried_. Has anyone? Is there a device tree I can use? has anyone found some info about it?

I thought at least I would give it a try, so I started digging a bit...
First thing is always the same, get to know the platform you're working with:

For what I've seen so far the CPU is quite similar to Galaxy S5 mini (Exynos 3470) but with 2 cores. GPU seems the same.

Gear 2
CPU: Exynos 3250
GPU: Mali 400
Display panel type: MIPI

Partition table:
boot -> ../../mmcblk0p5 --> Main Kernel
bota0 -> ../../mmcblk0p1
bota1 -> ../../mmcblk0p2
csa -> ../../mmcblk0p3 --> ext4 -> /csa
csc -> ../../mmcblk0p12 --> ext4 -> /system/csc
fota -> ../../mmcblk0p10 --> seems empty
module -> ../../mmcblk0p9 --> ext4 -> /lib/modules <-- Just one kernel module, I don't know why they left this here and not compile it directly, it makes no sense
param -> ../../mmcblk0p4 --> raw, it has some values lost along the flash, header starts with adv_eng.img
ramdisk1 -> ../../mmcblk0p7 // empty
ramdisk2 -> ../../mmcblk0p8 // ext4, it really doesn't seem to use it for anything, it looks like it's supposed to boot some kind of recovery but as far as I've seen, you can delete it all and it won't matter, recovery works from rootfs (look below)
recovery -> ../../mmcblk0p6 --> looks like another kernel, zImage-recovery when flashing, not sure if it's used
rootfs -> ../../mmcblk0p15 ext4 "/" --> Root file system, recovery works from here too. If you break it it will only boot to download mode.
system -> ../../mmcblk0p11 EMPTY --> Did samsung start with Android on this thing then changed their minds?
system-data -> ../../mmcblk0p13 --> ext4, /opt
user -> ../../mmcblk0p14 EXT4, /opt/usr --> all user data, including the MTP available part (/opt/usr/media)

Both kernel and recovery kernel partitions do have enough space to pack a boot image with a ramdisk, and in case that would be an issue for any other reason, Tizen kernel boots directly to the rootfs, so we could leave the init files in there and simply keep the root= parameter intact.

Now, to the main issue: Recompiling a kernel:
I grabbed the kernel source from Samsung's dial-up speed developer portal. I found the relevant config file for the Gear 2 (from now on, b2), and attempted to compile it:

Code:


make ARCH=arm tizen_b2_defconfig

Then, when you try to compile it...

Code:


In file included from include/drm/exynos_drm.h:32:0,
                from arch/arm/mach-exynos/board-tizen-display.c:19:
include/drm/drm.h:47:24: fatal error: sys/ioccom.h: No such file or directory
compilation terminated.
scripts/Makefile.build:307: recipe for target 'arch/arm/mach-exynos/board-tizen-display.o' failed
make[1]: *** [arch/arm/mach-exynos/board-tizen-display.o] Error 1
Makefile:947: recipe for target 'arch/arm/mach-exynos' failed


I've tried to disable the DRM part of the config, but the board-tizen-display is dependent on that code, failing to compile due to missing functions hardcoded on the display. Disabling the board-tizen-display entirely would render the LCD disabled, so that's not an option. Any ideas on how to fix this?

In case you're curious I've attached both bootloader log and the first try on booting TWRP recovery on this thing (it halts on healthd, and it eventually reboots itself...)










Written by

We are Creative Blogger Theme Wavers which provides user friendly, effective and easy to use themes. Each support has free and providing HD support screen casting.

0 commentaires:

Enregistrer un commentaire

 

© 2013 Mobile Probleme. All rights resevered. Designed by Templateism

Back To Top