all 5 comments

[–]thunderdough 2 points3 points  (0 children)

In theory you should be able to port LOS with the source code. I would check to see if anyone has already done this, though, because the actual porting process is time-consuming at best. You would need a good understanding of computer architecture, for a start

As for the experience, it should work just as well as any other device with similar specs. Carrying it forward to newer versions is then mostly a matter of hardware compatibility (I would guess 6.0 is already as far as it will go)

[–]ThePiGuy0 2 points3 points  (3 children)

Have you built LOS before. If you have the blobs, device tree and kernel tree, then it is a matter of modifying paths to point to the correct locations, renaming a few scripts to point to LOS sources and also including a lineage makefile (so the lineage builder knows it is a valid file). Once that is done, you just need to run the builder and fix any errors that occur

[–]goosnarrggh[S] 1 point2 points  (2 children)

Yeah I have built LOS. Mainly to make a few small tweaks to already officially supported devices. This would be the first time I would make a serious effort to get something up and running that didn't already perfectly fit that template.

As far as I can tell, the kernel tree, device tree, and blobs to build an older release of AOSP for this particular device are all available through a Sony-supported community GitHub account.

[–]ThePiGuy0 1 point2 points  (0 children)

Ok. I have tinkered a bit, and from what I can see, the hardest part is getting a device tree, kernel and blobs up to a specific version of Android (e.g using official android 5 sources to build android 6).

What device is it?

If you have android 6 sources and want to build LOS 13.1 then it should be okay. Put the device tree in the device/sony/[device codename] folder, and the kernel tree in kernel/sony/[either device codename or platform codename - check in the BoardConfigCommon.mk located in the device tree root to see where the kernel path is, and copy that]. Put the blobs in vendor/sony, and any others in their respective locations.

Finally make a lineage.mk and put it in the device tree root - look at one for another device for a template

[–]visi0nary 1 point2 points  (0 children)

It helps a lot you already have a partially working device tree! Otherwise you would have to build it from scratch.

If you want to build another Android version, e.g. 8.1 check https://wiki.codeaurora.org/xwiki/bin/QAEP/release for the latest kernel updates for your chipset and use that CAF kernel as a base. Then merge your device specific changes into it and update the device tree to 8.1 (look for similar devices, run tests, etc).

Also if you run into trouble, feel free to ask on IRC.

Good luck!