AOSP builds for Z5C

Search This thread

Joeisgood99

Senior Member
Jan 4, 2015
306
193
Melbourne
Hi guys

Thought I should start a thread for various AOSP builds people are doing for their Sony Z5Compact. We can trouble shoot errors and generally take advantage of the way Sony encourage open source development for their devices.
Ill get the ball rolling. (see below)

AOSP NOUGAT 7.1
https://mega.nz/#!Jh5WxSYS!DkYHgBjtR...V6Vdxq11xMplcg
TWRP3.0.3
https://mega.nz/#!QhoBESZI!XzXzHvosc...X57GnZvRBEPoR4

AOSP NOUGAT
Installable .zip compiled with mm binaries: https://mega.nz/#!h8530CLS!vmwYkb4JBdx8YtOaqkETq84bFeR9wiz2KYIlNOWnFBM (as sony has not published N binaries yet.)
Nougat .img files for z5c: https://mega.nz/#!5h5gxYKI!AuCFTO6MV4J5rfMBK_A1Q4eOBr5ZoXQIG2wEW9Fffxg

AOSP MM BUILD for Z5C.
Android 6.1
New Build with Julys/Android N compatible binaries Build # MOB30W
Installable .zip: https://mega.nz/#!80BlACKS!hefd26xN36UPcgnGEfdp9BkPsZvjS3k4Bvzo3dmU9I8
Raw .img files: https://mega.nz/#!FoYTGQbT!8ifDpGlZSaXgsHo1_gLm-67YIdDo0-BW85hra5ZToVY

New Build as of 29/04/16 (untested as of yet) Ignore below list of what works as I havent flashed this to my phone yet.
https://mega.nz/#!MwJ3wSJb!6ALDvaSIPQK0kc8R6MU5mVhUmKKCzVovE54tLcNxTx0

Older MM build (.img files)
https://mega.nz/#!B5hhyYhT!Z1lMcwxHc3KC9lDRCwOcyImBXXLuHgqROZ76J5xArew
RECOMMENDED DO A FULL WIPE OF DATA AND SYSTEM BEFORE FLASHING. Have your old/stock system, recovery,boot.img saved on your pc, as TWRP is not supported in AOSP kernel.
Boots fine.
will load and use previous userdata from rooted sony stock. (but not recommended to dirty flash!)
Data connection was patchy
Camera works but is awful.
External and internal sd card detection/mounts fine, but the rom wants to re format your external sd card before it mounts.


Regards
Joeisgood99
 
Last edited:

Joeisgood99

Senior Member
Jan 4, 2015
306
193
Melbourne
@Joeisgood99, your links are missing the Mega decryption key.

Anyway, I compiled 5.1.1_r24 (latest Lollipop) from source and uploaded here:
https://mega.nz/#!1hZlFCoT!UIEBo9CjaYu0Eg-4CeVdRijchRqNwbErUZPL4qbhzRo

I have no Z5C so consider it fully UNtested.
Still no luck with my 6.0.0_r1 build :(

Thanks for that!
I have only made it about 19 mins in to 6.0.0_r1 build before it fails.
target thumb C: libmmcamera_interface_32 <= hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c
In file included from hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera.c:44:0:
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/../common/mm_camera_interface.h:98:21: error: 'MSM_CAMERA_MAX_USER_BUFF_CNT' undeclared here (not in a function)
int32_t buf_idx[MSM_CAMERA_MAX_USER_BUFF_CNT];
^
In file included from hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_interface.c:44:0:
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/../common/mm_camera_interface.h:98:21: error: 'MSM_CAMERA_MAX_USER_BUFF_CNT' undeclared here (not in a function)
int32_t buf_idx[MSM_CAMERA_MAX_USER_BUFF_CNT];
^
In file included from hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_channel.c:40:0:
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/../common/mm_camera_interface.h:98:21: error: 'MSM_CAMERA_MAX_USER_BUFF_CNT' undeclared here (not in a function)
int32_t buf_idx[MSM_CAMERA_MAX_USER_BUFF_CNT];
^
In file included from hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_thread.c:41:0:
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/../common/mm_camera_interface.h:98:21: error: 'MSM_CAMERA_MAX_USER_BUFF_CNT' undeclared here (not in a function)
int32_t buf_idx[MSM_CAMERA_MAX_USER_BUFF_CNT];
^
build/core/binary.mk:801: recipe for target 'out/target/product/suzuran/obj_arm/SHARED_LIBRARIES/libmmcamera_interface_intermediates/src/mm_camera.o' failed
target thumb C: libmmcamera_interface_32 <= hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_sock.c
make: *** [out/target/product/suzuran/obj_arm/SHARED_LIBRARIES/libmmcamera_interface_intermediates/src/mm_camera.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c:45:0:
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/../common/mm_camera_interface.h:98:21: error: 'MSM_CAMERA_MAX_USER_BUFF_CNT' undeclared here (not in a function)
int32_t buf_idx[MSM_CAMERA_MAX_USER_BUFF_CNT];
^
build/core/binary.mk:801: recipe for target 'out/target/product/suzuran/obj_arm/SHARED_LIBRARIES/libmmcamera_interface_intermediates/src/mm_camera_thread.o' failed
make: *** [out/target/product/suzuran/obj_arm/SHARED_LIBRARIES/libmmcamera_interface_intermediates/src/mm_camera_thread.o] Error 1
build/core/binary.mk:801: recipe for target 'out/target/product/suzuran/obj_arm/SHARED_LIBRARIES/libmmcamera_interface_intermediates/src/mm_camera_interface.o' failed
make: *** [out/target/product/suzuran/obj_arm/SHARED_LIBRARIES/libmmcamera_interface_intermediates/src/mm_camera_interface.o] Error 1
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c: In function 'mm_stream_write_user_buf':
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c:1046:21: error: dereferencing pointer to incomplete type
cont_buf->buf_cnt = my_obj->buf[buf->buf_idx].user_buf.bufs_used;
^
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c:1047:46: error: dereferencing pointer to incomplete type
for (i = 0; i < (int32_t)cont_buf->buf_cnt; i++) {
^
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c:1048:25: error: dereferencing pointer to incomplete type
cont_buf->buf_idx = my_obj->buf[buf->buf_idx].user_buf.buf_idx;
^
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c:1055:50: error: dereferencing pointer to incomplete type
for (i = 0; i < (int32_t)cont_buf->buf_cnt; i++) {
^
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c:1103:21: error: dereferencing pointer to incomplete type
cont_buf->buf_cnt = my_obj->buf[index].user_buf.bufs_used;
^
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c:1104:46: error: dereferencing pointer to incomplete type
for (i = 0; i < (int32_t)cont_buf->buf_cnt; i++) {
^
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c:1105:25: error: dereferencing pointer to incomplete type
cont_buf->buf_idx = my_obj->buf[index].user_buf.buf_idx;
^
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c:1112:50: error: dereferencing pointer to incomplete type
for (i = 0; i < (int32_t)cont_buf->buf_cnt; i++) {
^
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c: In function 'mm_stream_read_user_buf':
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c:1163:60: error: dereferencing pointer to incomplete type
frameID = (buf_info->buf->frame_idx - 1) * user_buf->buf_cnt;
^
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c:1177:65: error: dereferencing pointer to incomplete type
my_obj->prev_timestamp = (timeStamp - (nsecs_t)(user_buf->buf_cnt * interval_nsec));
^
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c:1180:54: error: dereferencing pointer to incomplete type
interval_nsec = (nsecs_t)(ts_delta / user_buf->buf_cnt);
^
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c:1184:38: error: dereferencing pointer to incomplete type
for (i = 0; i < (int32_t)user_buf->buf_cnt; i++) {
^
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c:1185:54: error: dereferencing pointer to incomplete type
buf_info->buf->user_buf.buf_idx = user_buf->buf_idx;
^
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c:1186:49: error: dereferencing pointer to incomplete type
stream_buf = &my_obj->plane_buf[user_buf->buf_idx];
^
hardware/qcom/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c:1204:49: error: dereferencing pointer to incomplete type
buf_info->buf->user_buf.bufs_used = user_buf->buf_cnt;
^
build/core/binary.mk:801: recipe for target 'out/target/product/suzuran/obj_arm/SHARED_LIBRARIES/libmmcamera_interface_intermediates/src/mm_camera_channel.o' failed
make: *** [out/target/product/suzuran/obj_arm/SHARED_LIBRARIES/libmmcamera_interface_intermediates/src/mm_camera_channel.o] Error 1
build/core/binary.mk:801: recipe for target 'out/target/product/suzuran/obj_arm/SHARED_LIBRARIES/libmmcamera_interface_intermediates/src/mm_camera_stream.o' failed
make: *** [out/target/product/suzuran/obj_arm/SHARED_LIBRARIES/libmmcamera_interface_intermediates/src/mm_camera_stream.o] Error 1

#### make failed to build some targets (19:09 (mm:ss)) ####


Tried to fix it with this
or similar but didn’t work.

Thanks for your contribution!:good:
 

nilezon

Senior Member
Jan 30, 2008
324
191
Thanks for that!
I have only made it about 19 mins in to 6.0.0_r1 build before it fails.

Tried to fix it with this ... or similar but didn’t work.

Thanks for your contribution!:good:

I got similar errors.
You need to update the files in ./device/sony/kitakami/kernel-headers/ with files from the Sony kernel source code.
For example, replace:
https://github.com/sonyxperiadev/device-sony-kitakami/blob/master/kernel-headers/media/msmb_camera.h
with
https://github.com/Tommy-Geenexus/a...n_5.x/blob/master/include/media/msmb_camera.h
to get correct MSM_CAMERA_MAX_USER_BUFF_CNT definition.

You also need to add an header include to macaddrsetup.c to make it compile. See this pull request:
https://github.com/sonyxperiadev/macaddrsetup/pull/1

That's all I've got for now.

Edit:
This is the error I end up with:
Code:
No private recovery resources for TARGET_DEVICE suzuran
target Symbolic: init (out/target/product/suzuran/symbols/init)
target Unpacked: adbd (out/target/product/suzuran/obj/EXECUTABLES/adbd_intermediates/PACKED/adbd)
target StaticExecutable: healthd (out/target/product/suzuran/obj/EXECUTABLES/healthd_intermediates/LINKED/healthd)
out/host/linux-x86/bin/checkpolicy:  loading policy configuration from out/target/product/suzuran/obj/ETC/sepolicy_intermediates/policy.conf
device/qcom/sepolicy/common/init_shell.te:3:ERROR 'unknown type init_shell' at token ';' on line 16010:
#for accessing fmradio device node
allow  init_shell  fm_radio_device:chr_file { open read ioctl };
checkpolicy:  error(s) encountered while parsing configuration
make: *** [out/target/product/suzuran/obj/ETC/sepolicy_intermediates/sepolicy] Error 1

Edit2:
Possibly solution for sepolicy error:
https://github.com/alviteri/device-qcom-sepolicy/tree/test-m
Source: https://github.com/sonyxperiadev/device-qcom-sepolicy/pull/8

Edit3:
I got past the sepolicy errors, but face new problems.
Some definitions are missing:
Code:
target thumb C++: camera.msm8994_32 <= hardware/qcom/camera/QCamera2/HAL/QCamera2HWI.cpp
hardware/qcom/camera/QCamera2/HAL/QCamera2HWI.cpp: In member function 'int qcamera::QCamera2HardwareInterface::sendCommand(int32_t, int32_t&, int32_t&)':
hardware/qcom/camera/QCamera2/HAL/QCamera2HWI.cpp:3928:10: error: 'CAMERA_CMD_LONGSHOT_ON' was not declared in this scope
     case CAMERA_CMD_LONGSHOT_ON:
          ^
hardware/qcom/camera/QCamera2/HAL/QCamera2HWI.cpp:3970:10: error: 'CAMERA_CMD_LONGSHOT_OFF' was not declared in this scope
     case CAMERA_CMD_LONGSHOT_OFF:
          ^
etc ...
 
Last edited:

Joeisgood99

Senior Member
Jan 4, 2015
306
193
Melbourne
Awesome work @nilezon.
This thread is becoming a build diary for Sony aosp 6.0.0_r1.
I used the commits you pointed out. They fixed the issue, the build stooped 3 mins later with this error

target thumb C++: liboverlay_32 <= hardware/qcom/display/msm8994/liboverlay/overlayRotator.cpp
hardware/qcom/display/msm8994/liboverlay/overlayUtils.cpp: In function 'int overlay::utils::getMdpFormat(int, int)':
hardware/qcom/display/msm8994/liboverlay/overlayUtils.cpp:153:24: error: 'MDP_RGBA_8888_UBWC' was not declared in this scope
return MDP_RGBA_8888_UBWC;
^
hardware/qcom/display/msm8994/liboverlay/overlayUtils.cpp:155:24: error: 'MDP_RGB_565_UBWC' was not declared in this scope
return MDP_RGB_565_UBWC;
^
hardware/qcom/display/msm8994/liboverlay/overlayUtils.cpp:159:24: error: 'MDP_Y_CBCR_H2V2_UBWC' was not declared in this scope
return MDP_Y_CBCR_H2V2_UBWC;
^
target thumb C++: liboverlay_32 <= hardware/qcom/display/msm8994/liboverlay/overlayMdpRot.cpp
build/core/binary.mk:706: recipe for target 'out/target/product/suzuran/obj_arm/SHARED_LIBRARIES/liboverlay_intermediates/overlayUtils.o' failed
make: *** [out/target/product/suzuran/obj_arm/SHARED_LIBRARIES/liboverlay_intermediates/overlayUtils.o] Error 1
make: *** Waiting for unfinished jobs....
target thumb C++: liboverlay_32 <= hardware/qcom/display/msm8994/liboverlay/overlayMdssRot.cpp

#### make failed to build some targets (21:25 (mm:ss)) ####


All these undeclared formats are declared in /devices/sony/kitakami/kernel-headers/linux/msm_mdp.h
but haven’t had a chance to even look at why info isn’t getting passed along yet. Has been a big family oriented weekend. Just sat down. Ill look in to your errors.
Thanks again!
 

Echts

Senior Member
Aug 19, 2010
145
36
Stockholm
Seems to be a problem with a broken make config, the kitakami settings are not being applied or reverting. The source is also missing a few defines, mainly around the camera it seems.
 

M!tch

Senior Member
Apr 8, 2010
112
24
thx for your great work!

has anyone tested the 5.1.1. builds? are there any known issues?

can't use my phone without root and bloatware instead.
 

nilezon

Senior Member
Jan 30, 2008
324
191
That flashed okay, but rebooted and it ended up turning itself off after the Sony - Xperia screen.

For the others I'm literally just doing:

fastboot flash boot boot.img
fastboot flash recovery recovery.img

etc.

Any other commands I should try?

Hmm, I didn't know that you could flash a recovery image to an Xperia phone:
Code:
fastboot flash recovery recovery.img
I don't think there is any recovery partition.
 

Joeisgood99

Senior Member
Jan 4, 2015
306
193
Melbourne
does the build from the op work?

I've tried flashing the images in the OP and it just hangs when sending system. Have waited 30 minutes and still nothing.

You do that, but I am sure it will not boot anyway.
I think it's something wrong with the pre-built kernel, but I'm not sure.

Thanks for testing guys. I STILL don’t have a Z5C so Im kind of useless atm. I did nothing to alter the code for my build, just sync and make.
Maybe try flashing zombie boot.img (I’m assuming ramdisk is from 32.0.A.5.32/R4B or similar? ) to get aosp to build.
Ill change the op with update that building straight from source produces non bootable rom/or kernel.

Also re the recovery partition: This is new to me as I’m coming from HTC where there was a designated recovery partition however I’m sure that when you flash a recovery.img to a Sony phone
Code:
fastboot flash recovery fotatwrp.img
for example, you are flashing it to the FOTAKernel partition, which is empty on an unlocked xperia because it used to handle the OEM OTA's, but is wiped upon unlocking the phone. The only way you can boot from this partition is to have extract-elf-ramdisk compiled in your ramdisk.cpio (source code) https://github.com/Dees-Troy/extract_elf_ramdisk. Or you can just have the recovery in the boot.img and boot in to recovery via fastboot.
Sony veterans please correct me if I’m wrong.

Some info.
https://twrp.me/devices/sonyxperiaz.html
 
  • Like
Reactions: nilezon

M!tch

Senior Member
Apr 8, 2010
112
24

Top Liked Posts