[GUIDE] Building cyanogenmod for zf2 the mainline way - ZenFone 2 General

First of all I've got to give thanks where it's due: I would not have been able to get this far if it weren't for @Niropa's excellent guide found here: http://forum.xda-developers.com/zenfone2/general/guide-how-to-compile-roms-zenfone-2-t3205312/ I'd never have been able to make this guide. There's a lot of great stuff there, but I think it's now out of date.
Here's the link to the quip document where I'm putting together the guide:
https://quip.com/BO2dAOEvDGXd
Once again:
1) This guide wouldn't exist if it weren't for @Niropa.
2) It's my intention for this guide to be the kernel of a build script that can grab sources, then build:
-CM 12.1
-CM 13.0
-Maybe some other android stuff, but I don't know, because the real gold to me is.....
-Ubuntu Touch (If I can make it work, I bet it screams with 4gb of memory....)
-Tizen
-Firefox OS
.....I can now check CM-12.1 @ Z00A off the list of stuff to port. I hope to get all of these downloading, updating, and building from the same script or set of scripts for Z00A, and then I will work on making those scripts work with all of the Cyanogenmod devices. Yay!

Related

Kernels

Hello
Can anyone point me to a guide or summary of alternative kernels please?
You can check our work on the nook color linux kernels in this thread here. http://forum.xda-developers.com/showthread.php?t=1370873&page=285
I also have a guide on using the Git and the Gerrit code review down in cyanogenMod central for the nook color linux tree at this thread link here. http://forum.cyanogenmod.com/topic/50994-follow-along-with-me-trying-to-learn-how-to-code/
If you want to help and have experience on building linux kernels feel free to post a follow up in the first link I have posted. We are using the git and the github to commit code for our linux kernel tree. If you need help on getting up and going on using git, look through the second link I gave, I have all of the links on the github for our project and other helpful tips for you to get started. Right now the top developers are committing code to the jellybean branches. <fat tire> is our top developer and github maintainer for the nook color linux kernel tree, you can find him in the first link I provided and can help you also.
Thanks. I'm able to put a kernel together, but i haven't much experience in original development. I'll keep an eye on that thread though!
Right now we are looking for a few debuggers for the Jelly Bean Kernels. You know how to use debuggers? We need to check for kernel opps that are not being caught by the machines. Last year here there was a developer that rooted 2 kernel opps out and submitted them to Gerrit as a patch. Henk Poley , the developer for the Git extentions used his app and rooted out a few kernel opps on the cyanogenMod stable 7.1 at the time. Check out the my link on debuggers if you are not sure how. Not glamous work but it needs done, and I am getting up and ready to go back to school. Might do that if you want to help.
<Eyeballer> here is looking for someone to strip out all the unnecessary phone .apks for the nook color cyanogenMod builds, like the phone.apk and the telephony.apk along with the voicedialer.apk. I was going to get started on doing that but got sidetracked on getting a proper workflow going on the github. That second thread has links on how to submit work and patches down at cyanogenMod.
~~~~~~~~~~~~~~~
If you are up to a more difficult challenge the wi-fi module needs more work on the Jelly bean builds, they are still getting wake lock problems with it. A few months ago the developers disassembled and reassembled the wi fi module and could not find any code conflicts within the driver or the module. They can fill you in on that up in IRC at #nook color if you want to follow up on that.
Wow. Uh, I don't actually use a debugger, I'm pretty new to building kernels. I used to program C++ in Visual Studio, but so far haven't investigated the debugging process. In my own kernels I use printk, and that's about as sophisticated as it gets.
I wish I could help, but I need the device to available at the moment for my young daughter. Good luck with JB. I'll consider helping if my situation changes.

[Devs] Looking for a kernel base to work with? Start here.

Hello!
I'm hoping to get custom kernel & rom development up and running quickly for the G5 community, and have created a git repository which provides a kernel source base to start with.
What I've done is taken the v10a release sources and modified them to work with build directories and multiple variants. (should they be unlocked or receive the CodeFire treatment at any time)
Here's where to start: https://github.com/jcadduono/nethunter_kernel_g5/tree/stock-6.0
If you'd like a somewhat updated kernel, the stock-6.0.y branch will be patched from Linux 3.18.y branch at kernel.org, see:
https://github.com/jcadduono/nethunter_kernel_g5/tree/stock-6.0.y
Different from the absolute stock defconfigs, I've made the following changes:
Module signature verification disabled
Unnecessary debugging flags separated into debug_defconfig (use EXTRA_DEFCONFIG=debug_defconfig to enable them)
Flags that were previous set to module (=m) have been set to =y (built-in) in case incompatibilities are unable to load stock modules
Each known variant & target is listed in build.sh comments. The default variant when building with ./build.sh is h850 with debugging disabled.
When using the Makefile, VARIANT_DEFCONFIG=variant_xxx_defconfig adds the additional settings per variant to the target defconfig. (by default stock_defconfig)
build.sh is set up to automatically build a dtb.img after creating the kernel Image.gz based on whichever variant you've built for.
You can use ./menuconfig.sh to modify the stock defconfig, or you can copy the stock_defconfig to another name such as my_defconfig and use TARGET=my ./menuconfig or TARGET=my ./build.sh
It's easier to just set the default target in build.sh/menuconfig.sh - each have their configuration options near the top of the files.
Be sure to edit the config variables in build.sh and menuconfig.sh before using. The VERSION file gets appended to the kernel version shown in `uname` when using build.sh.
The toolchain must be pointed to the correct location before it can build. Be sure to have libncurses5-dev and colordiff packages installed for menuconfig.sh.
For a toolchain, I recommend using the GCC Linaro aarch64 5.3 2016.02 release. You can use basically any aarch64 toolchain though.
Download here: https://releases.linaro.org/compone...o-5.3-2016.02-x86_64_aarch64-linux-gnu.tar.xz
You can start by forking my repository on GitHub and giving it your own name if you like. Extra interesting commits are available in the other branches that you should be able to cherry-pick without issues should you be interested in them.
Looking to test your kernel Image.gz + dtb.img?
Look no further than my LazyFlasher repository!
See here: https://github.com/jcadduono/lazyflasher/tree/kernel-flasher
Simply do:
Code:
git clone -b kernel-flasher https://github.com/jcadduono/lazyflasher.git kernel-flasher
cd kernel-flasher
cp /path/to/Image.gz /path/to/dtb.img ./
make
(simply place your kernel Image.gz (optional) and dtb.img (optional) in the root of the repository and type make!)
And you'll have your own dynamic kernel flashing zip for custom recoveries!
The kernel-flasher repository is capable of great things. You can create scripts in patch.d to do anything you like.
Add files to the ramdisk-patch folder and create a script that copies them into the $ramdisk folder and they will be rebuilt into the ramdisk!
By default, no-verity-opt-encrypt is there as an example.
Using setprop in patch.d scripts allows you to set props in default.prop with ease.
Add functions to patch.d-env to make them globally usable across patch.d scripts.
See other branches for more examples, like how to add f2fs lines to the fstab, or patch for system mode SuperSU.
LazyFlasher is the installer used in the Kali NetHunter project. You can also find more examples in the kali-nethunter GitHub!
Good luck, and happy kernel developing!
Thanks so much for posting this.
Code:
./obligatoryn00bstatement
Sorry for not being too knowledgeable here (yet?) and if this sort of comment doesn't belong.
I am a Computer Science major who really wants to learn some skills to hopefully give back to the community.
Is this an area that I could be of use or should I perhaps spend more time going through material on the XDA-U site?
toefurkey said:
Thanks so much for posting this.
Code:
./obligatoryn00bstatement
Sorry for not being too knowledgeable here (yet?) and if this sort of comment doesn't belong.
I am a Computer Science major who really wants to learn some skills to hopefully give back to the community.
Is this an area that I could be of use or should I perhaps spend more time going through material on the XDA-U site?
Click to expand...
Click to collapse
I'm a little tired and somewhat intoxicated here at 3:45 AM so this is going to be a bit of rambling and so on...
While it's certainly a good idea to study up on what interests you before digging into it, sometimes it really can be easier just to dive in to your hobby.
I'm a high school drop out, never made it through college. Everything I've learned is by taking the great work done by the open source community and reading their code and applying it to other projects. That's the great thing about open source and nonrestrictive licenses. Everything is there for you to figure out, make changes, borrow code, run into problems, and the best part - search for solutions that others have already provided in their struggle to do exactly what you're doing.
Have an idea for a great feature? You can probably find it already implemented in another kernel somewhere.
Find the work someone else has done and modify it to fit your needs, but don't forget to give them credit for their work that you've used!
If you're going to start writing your own code, be certain to keep it tidy and variables/functions with meaningful names and comments so that not only others can understand and learn from it, but that you can return to the same code later on and understand it. Confusing code is how bugs tend to show up and become almost impossible to squash.
What I'm trying to get across here is don't be afraid to not be original. Don't be afraid to use others work to accomplish what you want, so long as they receive some attribution. The quickest way to learn how things work is by understanding what's already there and available to you.
You'll notice that there's projects all over XDA with special features ported from one device to another. Isn't it great having the all the best features people have added to other devices on one really nice device that you have?
PS I've never been on the XDA-U site before, so I can't give an opinion there.
I forgot what I was on about so I'll end this here lol.
?jcadduono you're on fire man thank you for everything you've been doing so far with such little resources.
Sent from my LG-H820 using XDA-Developers mobile app
jcadduono, thanks for the info and wonderful words of wisdom!
I totally agree on what you're saying and my goal is to try diving into this as a hobby. The hardest part for me isn't so much the coding part, but just figuring out a starting point to get grounded and build upon and I feel like what you've provided here is perhaps the starting point I need. Now it's just up to me to push myself in my free time.
Hi, i am new to kernel developing, but i did some roms myself before, so no total linux noob.
I cloned your 6.0.y and want to start from there, but im a little bit lost. Do i need to follow the steps @ github, or is your branch kinda pre setup ?
Toolchain path is also set to the one you gave a link too.
Pinu'u said:
Hi, i am new to kernel developing, but i did some roms myself before, so no total linux noob.
I cloned your 6.0.y and want to start from there, but im a little bit lost. Do i need to follow the steps @ github, or is your branch kinda pre setup ?
Toolchain path is also set to the one you gave a link too.
Click to expand...
Click to collapse
Hopefully once the toolchain path is set you should only need to run ./build.sh to actually build the kernel and dtb.
You may be missing some items for menuconfig.sh, which should just be solved by apt-get install colordiff libncurses5-dev
If building inside a ROM tree, it should be fairly simple for developers to adjust their ROM configs to add more to the kernel make command line, such as VARIANT_DEFCONFIG.
No matter what i do, kernel builds, but no dtb.img will be created. Any ideas where to look / what to test ?
I have stock-6.0.y, and did the h850 one.
Hi, is the stock-6.0.y branch removed?
I didnt find it. and need the right defconfig
greetz
mericon

Newsmy Carpad NU3001 CM13 ROM

Hi,
So as many of you already knew - I'm working on porting CM13 onto my NU3001.
I has it on my desk table, so I could work on it during my days. (I have another NR3001 installed in my car)
I already made some work for our unit SW. This is quick screenshots. Sources based on xdAuto and CM13. This is a very BETA and many things not working for now.on.
Why? : When I realize than CyanogenMod 13 (6.0.1) works on my Motorola XT1080 better than stock - I start thinking of porting CM13 to our device. And when I have spare set - I start porting.
How? : I took easiest way - try to do not modify kernel a lot, instead adopt bionic and other libraries for out 3.0.36+ kernel.
Currently working staff (it is very beginning):
1. Recovery TWRP 3.0.2
2. CM13 (LineAge OS) booting.
3. Graphics working (there is some blinking present).
4. Wifi working
5. Android audio working
6. Bonovo Radio working
4. Most of the rest is on the way (GPS, BT, rest of Bonovo apps)
UPDATE_1:
I decide to do not stuck with CM 13 and switch to AOSP N release (7.0) (mostly because on my daily job - we also going to Android N, so it should be more familiar to me now)
Currently working staff:
1. Recovery TWRP 3.0.2
2. SELinux needs to be carefully ported (kernel part), cause starting from 7.0 is can not be disabled (as I did for CM13 to easy port)
During this port I will try to minimize inpact to AOSP release, so any future updates should be much more easier.
For you to understanding of amount of needed work - kernel already has 100+ patches on top of xdauto release. Approximate left about 250-300 patches to revise/port.
Android 7.0 port abandoned because of bigger and bigger amount of work need to be done to port SELinux on top of our outdated kernel.
UPDATE2:
I setup review build environment, so who want to look at NOT-FULLY-WORKING CM13 could download sources and binaries. I do not provide instructions how to flash it, because who wants to look and contribute already know hot to flash, and who doesn't probably don't really want this NOT-FULLY-WORKING CM13
UPDATE3:
So I finally managed to get functional networking. So now Wifi working, internet working, display working.
I starting to port all necessary items. No more 'hard' showstoppers so far.
New build (I believe it is build number 5) should be ready in an our on build server, so I could test it more fully.
UPDATE4:
Cause CyanogenMod is no more maintained - switched to it's successor Lineage OS 13.0, starting from build 8
UPDATE5:
Build number 15 has working audio + radio
UPDATE6:
Most of Bonovo changes ported, new build 20 ready.
This build contains zip file which should be flashable via twrp, but I not test it this way.
Issues remaining so far(most noticeable to me):
1. Display flickering (my suspect is to vsync/fence mechanism slightly changed in Android 6.0, need to investigate)
2. HW Volume buttons not working on device
3. No audio In
UPDATE 7:
Starting from build 23 following images available:
cm_rk3188-ota-XX.zip - update to use via TWRP
nu3001-la-cm13-XX-userdebug.tar.gz - build image for flash via command line rkflashtool under linux (full or partial flash)
rkflash_nu3001-la-cm13-XX-userdebug.zip - Full image to be flashed via PC GUI RK Batch Tool.
kernel_nu3001-la-cm13-XX-userdebug.tar.gz - just kernel with debug symbols for debugging purposes.
To just download sources:
repo init -u https://gerrit.nc.org.ua/manifest -b nu3001_cm13
If you plan to contribute - login to Gerrit with GMail, push your SSH public key, choose login name and then do:
repo init -u ssh://<user>@gerrit.nc.org.ua:29418/manifest -b nu3001_cm13
Builds will be available on Jenkins build server (login also via GMail, PM for access grant on current project stage):
https://jenkins.nc.org.ua/
1.5 GB folder on MEGA
4 files
mega.nz
Please do not spoof this thread with questions like "When?", I will try to post updates regularly in this message.
This thread created is mostly to exchange experience with this build once it is published (issues, TODOs, etc)
**Reserved **
First!
Second! Lol
I'm not a developer so unfortunately I can't contribute, but hopefully those who can will.
At the very least I can beta test when its a little more complete.
Android port system less complicated than the application Bonovo.app and MCU. Good luck and patience.
Black're a legend !!
Your project is great !!! see Android 6.0 on Carpad would be great.
Thanks for the great effort you make for all
Woooow great !!
Good luck
nice one, i hope a very important feature:
"that can be use apps, which require android +4.4.4, like lollipop"
I say that because android auto "stand alone" coming soon, so if will be possible install this app in the radio, we have android auto pure, ( not automate that is awesome but is not the same like original ), and maybe mp3 stuttering from usb can be solved in this rom.
keep up work!
Thanks for the sneak peak, looks promising. I'll gladly help sponsor a new device if you happen to brick yours. I love this headunit and how far the community has gotten in supporting it.
I want to buy NU3001 now, is there any way to get it?
vivacious said:
I want to buy NU3001 now, is there any way to get it?
Click to expand...
Click to collapse
NU3001 or ROM ? if you want NU3001 - you should go to aliexpress from wiki link. If ROM - it is not ready yet. I have half-working CM13.0 - no connectivity working (wifi, bt) so it is useless for now, and Android 7.0 porting in progress.
VBlack said:
NU3001 or ROM ? if you want NU3001 - you should go to aliexpress from wiki link. If ROM - it is not ready yet. I have half-working CM13.0 - no connectivity working (wifi, bt) so it is useless for now, and Android 7.0 porting in progress.
Click to expand...
Click to collapse
I want NU3001 because it has hdmi option. But check in aliexpress newsmy store said it is no production now. Is there someone have stock?
---------- Post added at 01:48 AM ---------- Previous post was at 01:43 AM ----------
VBlack said:
NU3001 or ROM ? if you want NU3001 - you should go to aliexpress from wiki link. If ROM - it is not ready yet. I have half-working CM13.0 - no connectivity working (wifi, bt) so it is useless for now, and Android 7.0 porting in progress.
Click to expand...
Click to collapse
I want NU3001 because it has hdmi option. But check in aliexpress newsmy store said it is no production now. Is there someone have stock?
vivacious said:
I want NU3001 because it has hdmi option. But check in aliexpress newsmy store said it is no production now. Is there someone have stock?
Click to expand...
Click to collapse
I just put NU3001 to aliexpress search bar and found a lot of propositions, I think there should be available one.
Hi VBlack,
it's nice to know you're making progress on the new ROM CM13. All are rooting for you !! Your work would be wonderful !!
I have only one question:
With the ROM of XDAuto I found an annoying problem that occurs when i turn off and then relight the Carpad.
When the power back very often the Carpad car remains with black screen until i touch it with my finger.
I think the problem is somehow related to the USB ports.
Even with your ROM does this happen ?? When you turn on the car, the Carpad remains ever with black screen ??
Thank you!!
VBlack said:
NU3001 or ROM ? if you want NU3001 - you should go to aliexpress from wiki link. If ROM - it is not ready yet. I have half-working CM13.0 - no connectivity working (wifi, bt) so it is useless for now, and Android 7.0 porting in progress.
Click to expand...
Click to collapse
Do you have your efforts posted on github anywhere? Would you mind doing so?
There is a chance I may be working on these devices again after all, and having a working CM provides a *LOT* of possibilities. Namely the Theme engine.
If you would be willing to post your work, I'm sure there are a handful of us who could help with the port.
Thanks,
Zaphod-Beeblebrox said:
Do you have your efforts posted on github anywhere? Would you mind doing so?
There is a chance I may be working on these devices again after all, and having a working CM provides a *LOT* of possibilities. Namely the Theme engine.
If you would be willing to post your work, I'm sure there are a handful of us who could help with the port.
Thanks,
Click to expand...
Click to collapse
Nice to hear from you. Sure I will share. Current situation is next:
CM13 - no wifi (looks like netfilter from userspace not match netfilter from our outdated kernel), no selinux (completely disabled), and increased system partition to be able to add opengapps, twrp - works.
AOSP 7 - it is strongly rely on selinux, so i could not just disable it, and now I'm trying to merge new selinux with our old kernel...
So, i will upload CM13 in current state, and continue on aosp 7, if i fail with aosp 7 i will back to cm13. This is current plan.
Sent from my DROID MAXX using Tapatalk
Zaphod-Beeblebrox said:
Do you have your efforts posted on github anywhere? Would you mind doing so?
There is a chance I may be working on these devices again after all, and having a working CM provides a *LOT* of possibilities. Namely the Theme engine.
If you would be willing to post your work, I'm sure there are a handful of us who could help with the port.
Thanks,
Click to expand...
Click to collapse
I update first post with sources and build information
@VBlack, you mention "our outdated kernel". Does this imply that the kernel sources aren't available? I am very interested in this project because I am looking for a head unit with fully update firmware that can be kept up to date with security patches, and some of the Android security patches include the kernel (e.g. the recent "dirty cow" vulnerability).
shatteredsilicon said:
@VBlack, you mention "our outdated kernel". Does this imply that the kernel sources aren't available? I am very interested in this project because I am looking for a head unit with fully update firmware that can be kept up to date with security patches, and some of the Android security patches include the kernel (e.g. the recent "dirty cow" vulnerability).
Click to expand...
Click to collapse
No, we have kernel sources, but our kernel version 3.0.36 and looks like nobody release Android kernel 3.14 or 3.18 for rk3188. 3.14 and 3.18 mostly used in Android M and N. So combining Android M or N with such outdated kernel is not a trivial task. Because of this incompatibility we currently have all networks issue on this CM13 project.
Kernel 3.0.36 is 4.5 years old. The 3.0 branch is no longer maintained with security patches, and hasn't been maintained in over 3 years. There have been numerous security exploits in the Linux kernel since then, many of which are applicable to Android. Is it worth even persevering with this under such an extreme kernel constraint?
shatteredsilicon said:
Kernel 3.0.36 is 4.5 years old. The 3.0 branch is no longer maintained with security patches, and hasn't been maintained in over 3 years. There have been numerous security exploits in the Linux kernel since then, many of which are applicable to Android. Is it worth even persevering with this under such an extreme kernel constraint?
Click to expand...
Click to collapse
You'd be surprised how many phones in the market use old kernels (3.0 is not too old for Android - it is about 2-3years off from active development).. But true is that Android kernel despite it's version less vulnerable than Desktop one, and has many fixes included (it is does not increase kernel version, like mainline kernel). Because of this it is generally hard to say which security issue will be there for sure. But on the other hand Android N and Android M has SELinux enabled, and Android N could not have it disabled. It is dramatically increase overall security of the system. But for the most of traditional Android user kernel exploits does not produce many harm - it is not a corporate server with sensitive information. And many of them used to obtain root on bootloader locked systems.
So generally for what I have in mind:
1. If succeeded just with CM13 - I have disable SELinux there - it is will be not less secure than original 4.x release - just system/google components will be upgraded, which allow us use modern UI features from Android M, and also adds more compatibility with new applications revisions.
2. If succeeded with AOSP 7.0 - SELinux will be enabled there, so we will have security addition on top of old kernel, which actually will increase security alongside allowing UI features from Android N.
So in any case it is very nice to have.

Yoga Tab 3 Pro: Signature Spoofing + microG

Since we still don't have any custom ROM/kernel (thanks Lenovo ) and since I firmly believe this tablet has great potential, here is my contribution to make this tablet better and hopefully keep the interest for this device alive on this forum
@Setialpha created a great Magisk module called NanoDroid, which allows in few, easy steps to get rid of all the Google stuff, replace it with open source alternatives (microG FTW) and, as final pleasant side effect, get a better battery life!
Here is the NanoDroid xda thread: https://forum.xda-developers.com/apps/magisk/module-nanomod-5-0-20170405-microg-t3584928
and here you can find the NanoDroid full documentation: https://gitlab.com/Nanolx/NanoDroid/blob/master/README.md
I contributed to the project to mainly add support to the "NanoDroid Patcher" (used to automatically enable "Signature spoofing" required by microG, here more info: https://gitlab.com/Nanolx/NanoDroid#signature-spoofing-support) for Android 6 (API 23) and the x86(64) architecture, i.e. to make it compatible also with our tablet!
The support for our tablet will be added in the next releases, so keep an eye on the project thread and be ready to try NanoDroid also on your tablet

Regarding Android 10 on the HP Touchpad

Hello
For the past couple (weeks) I've been trying to compile Android 10 for tenderloin using the Android 9 sources but it's not going so well. First thing I ran into multiple sepolicy errors and I feel as if I fixed them in inappropriate ways but the errors went away. Other errors regarding camera and audio and such, that are regarding that tenderloin no longer uses the legacy audio format. Made me confused because I used the device sources form Evervolv and DIrty unicorns and if i'm correct they built it exactly the same way they uploaded it. After these errors were wrapped up, I got a error at zipping the rom that it could not zip due to failure of being able to read build.prop. This made me believe that the sources are not correctly formatted. If anyone can help me find a manifest, I can build for all you guys. Please keep tenderloin alive!
Now, I did something and I'm getting plenty of perl errors. Maybe I'm just very unlucky. I'm gonna attempt to reinstall on a fresh drive on my server.
If its anyone's concern, I was building lineage 17.1. I noticed for example, Lineage's "qcom-device" repo was shaped completely differently than Evervolvs qcom-device repo.
This led me to thought that Android 10 is going to be extremely difficult because of all the upstream dev changes that was pushed to Q. If any of you would like, I could probably push out March patches Pie rom because over there I'm mostly safe of complying with the source.
My manifest shape
DirtyUnicorn's device-tree
DirtyUnicorn's device-tree-common
DirtyUnicorn's htc-msm8960-kernel
Evervolv's vendor
And dirty unicorn's atheros wlan driver
I have been changing up the device tree so much, it almost looks ridiculous . From what I heard lots of properties on the device tree haven't been touched for years. Maybe tomorrow I can try Evervolv's Q rom. If you guys can help me build up my manifest, we can push out a fully working Q rom for tenderloin. And it would be just in time when Android 11 comes out. Thank you everyone!
I wish that I could offer any help, but I never tried to compile any Android ROM or for the HP_TP.
To my knowledge the only users that I know that could offer some insight on the process would be:
 @flintman
 @elginsk8r
Also the LuneOS project could offer some help:
https://pivotce.com/tag/luneos/
If Android Q(10) can not be ported to the HP_TP, then at least P(9) is a good ROM to keep updating that could provide many years of App support.
Theres no reason why exactly it cant,, because lots of roms I hear were built off the original TP sources (From 2011!). It was only around 2016 when guys around here had to change it up so much that they should've been so surprised that it worked. I can try and temporarily maintain P roms until the boys around here push out sources for Q!
djared704 said:
Theres no reason why exactly it cant,, because lots of roms I hear were built off the original TP sources (From 2011!). It was only around 2016 when guys around here had to change it up so much that they should've been so surprised that it worked. I can try and temporarily maintain P roms until the boys around here push out sources for Q!
Click to expand...
Click to collapse
To my limited knowledge is all about Hardware -->> Drivers -->> ( Kernel ).
The reason that Bluetooth and camera does not work on newer Android version is due to the old (proprietary drivers) and the Kernel. That takes more dedication and work than the ROM. The same rules applies to the desktop, older processors does not support certain features and the Operating System will not run. It is possible to disable the features in the kernel so that it does not check the hardware and make it run, but it will be unstable.
Everything could be possible with plenty of time, knowledge and dedication.
HP_TOUCHPAD said:
To my limited knowledge is all about Hardware -->> Drivers -->> ( Kernel ).
The reason that Bluetooth and camera does not work on newer Android version is due to the old (proprietary drivers) and the Kernel. That takes more dedication and work than the ROM. The same rules applies to the desktop, older processors does not support certain features and the Operating System will not run. It is possible to disable the features in the kernel so that it does not check the hardware and make it run, but it will be unstable.
Everything could be possible with plenty of time, knowledge and dedication.
Click to expand...
Click to collapse
When I look at the tenderloin source, the script to gather the camera driver is disabled. Camera isnt a huge deal though because its only 1.3 MP. However we use the MSM 8960 kernel from HTC and that is the one m7,, but the one m7 is a SD 600 device so it loses sense. I was gonna get some help with one of my kernel developer buddies to dev a kernel for android 10 for tenderloin. If you see the one m7 has Lineage 17.1 available and even though it doesnt have same chipset, if im correct both chipsets went off of the same assembly line process. Lineage 17.1 for the one m7 also packages it as a "uimage" which is what we use. I believe this was only a very small select of devices. Yeah about that ive been getting so many complaints during build about "mkimage" which should've been a prebuilt tool in the lineage source. Don't know why they removed it, or if our developers added it in by their selves, etc. Anyways I fixed that error by just "allowing" mkimage in one of the permission files in my environment. But yeah i went as far as the build packaging the ROM and it complaining it cannot read build.prop. Note the build.props are generated by the environment , not the source (even though the device data is gathered by the source, its not what im talking about). I even go to the directory it was complaining about and it was all there. One of my friends suggested a permission error. I changed permissions to 777 (rw to all users) and it would still output that error. By that point I trashed my build meaning I may of done something wrong early on. I will let someone else continue building 10 but I will continue building 9 with latest patches.
It will be extremely impressive if any kernel developer will update the HP Touchpad Kernel or tweak it for future release, well everything will stop once Android becomes 64 only.
I am sure you are very well aware, but I will suggest using this built:
https://forum.xda-developers.com/hp-touchpad/development/rom-evervolv-hp-touchpad-t3923512
I was able to do the following playing around recompiling the Kernel. I recompile almost all the ROM and incorporated the same kernel changes.
https://forum.xda-developers.com/hp-touchpad/general/hp-touchpad-optimize-android-swap-t3901773
The Ramdisk is also very easy to unpack and repack:
https://forum.xda-developers.com/hp-touchpad/general/hp-touchpad-novacom-repair-android-t3960435
There is no need to get the original Camera or Bluetooth working, only sound and WiFi.
HP_TOUCHPAD said:
It will be extremely impressive if any kernel developer will update the HP Touchpad Kernel or tweak it for future release, well everything will stop once Android becomes 64 only.
I am sure you are very well aware, but I will suggest using this built:
https://forum.xda-developers.com/hp-touchpad/development/rom-evervolv-hp-touchpad-t3923512
I was able to do the following playing around recompiling the Kernel. I recompile almost all the ROM and incorporated the same kernel changes.
https://forum.xda-developers.com/hp-touchpad/general/hp-touchpad-optimize-android-swap-t3901773
The Ramdisk is also very easy to unpack and repack:
https://forum.xda-developers.com/hp-touchpad/general/hp-touchpad-novacom-repair-android-t3960435
There is no need to get the original Camera or Bluetooth working, only sound and WiFi.
Click to expand...
Click to collapse
I think I probably stated somewhere, but Evervolvs "device" tree would just spit out hundreds of errors, and I fixed this by switching to Dirty Unicorns device tree. I also tried flintman's device tree and it didn't spit out many errors. Thanks for this though.
djared704 said:
I think I probably stated somewhere, but Evervolvs "device" tree would just spit out hundreds of errors, and I fixed this by switching to Dirty Unicorns device tree. I also tried flintman's device tree and it didn't spit out many errors. Thanks for this though.
Click to expand...
Click to collapse
I have only recompile the Kernel and all of them work, but the correct branch must be use. I can not say about building a ROM, never done it.
But Evervovs Pie by elginsk8r works very well and stable as it uses the same kernel, but the framework is different. I guess elginsk8r will be the only that can guide you on the right direction or flintman.
Have fun learning, it takes a lot of TIME!

Categories

Resources