Use CM device tree to compile Omni - Android Software/Hacking General [Developers Only]

Hello,
I recently compiled CyanogenMod 14.1 for my Android device using the official sources and want to compile Omni 7.1 for the same device and use the device tree and kernel from the official CM sources because there's no device tree for Omni. Is there a way to "convert" the CM device tree to work with the Omni sources? My exact problem is the compiler doesn't know my device so I can't run something like "brunch [device]" or "make [device]", although I already downloaded all device-specific repositories to the same subdirectory as I'd do it on CM.
Thanks in advance,
Oebbler

Oebbler1 said:
Hello,
I recently compiled CyanogenMod 14.1 for my Android device using the official sources and want to compile Omni 7.1 for the same device and use the device tree and kernel from the official CM sources because there's no device tree for Omni. Is there a way to "convert" the CM device tree to work with the Omni sources? My exact problem is the compiler doesn't know my device so I can't run something like "brunch [device]" or "make [device]", although I already downloaded all device-specific repositories to the same subdirectory as I'd do it on CM.
Thanks in advance,
Oebbler
Click to expand...
Click to collapse
You have to go to your android_device_manufacturer_yourphonecodename repo and rename cm.mk to omni_codename.mk, open it and change cm_codename to omni_codename.
You have also to rename cm.dependencies to omni.dependencies, but the repos included in that file may not be in omnirom source, so you would need to manually sync those repos in your android sorce tree.
You might have to make other minor changes, take a look at the rest of code in that repo.
For further info: https://docs.omnirom.org/Porting_Omni_To_Your_Device

Thank you, but I think I won't succeed in building Omni for my device because I always get strange errors.

Probs will get annoyed, cmsdk, cmhw, and cm encryption are significantly annoying. Also they moved their build dir, generally include useless common subtrees, and named dtbtool with CM suffix. Their build tree might be the most significant hindrance to unified building on Android, not only for the many unnecessary additions and dependencies they have for devices, but also they generally lack a community presence to answer or respond to users, so a lot of us get stuck with cleaning up their mess.
Notice how TWRP has a community presence here and are helpful. I'm not hating on cm, they have been doing this longer than most of us, but for ease id recommend using your rom choices tree.
Also the immensely significant annoyance of having to track devicesettings and the unwillingnes to nuke cmactions, combine it with cmsdk, or at least remove it's dependency in most trees is almost certainly going to cause you errors.
Sent from my One using XDA-Developers Legacy app

Related

Building Rom - project carbon

Hi I'm interested in building ROMs for our tf300. I've tried building ROMs before both on my desire HD and this last weekend for the tf300t, but I've always run into problems: especially when I wanna build a ROM for a device that isn't officially supported.
For instance, I would like to unofficially build carbon ROM for the tf300t.
I know how to setup the computer in Linux and its all setup. I know how to repo init. I know how to repo sync.
Now for the hard part. Correct me if I'm wrong. In order to build an unofficial ROM I would need to pull the device tree and vendor tree, right, and put them into the repo that I repo synced earlier? Then I would need to update the local manifest to include those device and vendor trees?
I have several questions about it.
First, where can I get the device and vendor trees? It seems as if drgravy has some good trees, maybe I can use those?
Second, would those device and vendor trees have the 4.2 BL support or is that a different change?
Third, would I need to change the repo to build a proper kernel for the tf300t or would the device tree or vendor tree include the kernel source? Any help would be awesome.
Also in replying to this please don't just post a link. I've read a lot about the process, I just had some specific questions.
Thanks
Sent from my Transformer Pad TF300T using xda app-developers app

[Q] Help Building unofficial ROM

I'm trying to build unofficial Dirty Unicorns for the TF300T. I've been using this tutorial to set up my build environment:
http://forum.xda-developers.com/chef-central/android/tutorial-compile-lollipop-ubuntu-t2929410
I've managed to sync their repos and all that, and I've come to the device tree. I wasn't able to find an equivalent tree on Google's website like the Nexus 7. So my question is, where can I find the tree(s) for my Transformer? Is building for a device really as simple as combining the repo, device trees, and blobs? That's what this tutorial implies. Or am I likely to end up with a crappy build?
Wow.
you might be able to find the device tree from the omni rom guys. Last time I tried to do this it was for my ME301. I was able to download the device tree from the Omonirom gerrit page. Poke around the Omnirom guys site and thread and see if they have it. Here ya go. This is the cyanogen github page. it looks like they list both the tf300t kernel and the device tree for cyanogen mod ROM
https://github.com/CyanogenMod?utf8=✓&query=tf300t
That might be a start
Here is the wiki page for building Cyanogen Mod for the tf300t and it might explain some steps better

[ROM][7.1.2_r24][UNOFFICIAL][grouper] LineageOS 14.1 for Nexus 7 2012

[ROM][7.1.2_r8][UNOFFICIAL] LineageOS 14.1 for Nexus 7 2012 (grouper)
*** Disclamer
By downloading and installing this ROM you agree that you do so at
your own risk, and that you understand that it probably voids your
warranty. (But does anyone still have an active warranty on this 2012
device?)
Introduction
@AndDiSa's AOSP 7 builds look pretty nice, but I needed something that seamlessly upgrades from CM13. @GtrCraft who provided our CM13 builds has moved on to other devices, so we need a new CM maintainer. I may not be the right person for that job... but I can at least share the build I made for myself. Perhaps someone will be motivated to join the fun or even take over.
[Images on screenshots tab.]
Installation instructions
Back up your data and previous ROM with TWRP 3.0.2 or 3.1.0.
Download from link below.
Wipe system, cache, dalvik.
Also wipe data unless you are coming from CM13.
Install the ROM.
Optionally add opengapps-pico.
With default settings it will give an error about insufficient space. To avoid that, first copy this gapps-config-grouper.txt file, perhaps edit it to your taste (instructions here), then copy to the device in the same directory as the opengapps zip. The opengapps updater-script will look for it there when you install opengapps.​
Reboot.
WAIT for system to settle before you decide it is slow. Some of the app optimization which used to happen during initial boot now seems to happen in the background. When it's finished, responsiveness will improve.​
If you use ext4, run fstrim.
There are ways to automate this, but I just run this app after each ROM upgrade, plus roughly once a week, after large batches of app updates from Play Store, or whenever my tablet starts to feel sluggish.​
Download
lineage-14.1-20171122-UNOFFICIAL-aaopt-grouper.zip (AndroidFileHost)
Credits / Thanks
Google / AOSP
CyanogenMod LineageOS
@AndDiSa for AOSP 7.1 -- I use his kernel tree directly, and many of his device tree mods
@GtrCraft for the CM13 tree upon which mine is based
XDA:DevDB Information
Unofficial LineageOS 14.1 for Nexus 7, ROM for the Nexus 7
Contributors
aaopt, AndDiSa,GtrCraft
Source Code: https://github.com/aperomsik/lineageos_android_device_asus_grouper/
ROM OS Version: 7.x Nougat
ROM Kernel: Linux 3.1.x
Based On: LineageOS
Version Information
Status: Testing
Created 2017-01-02
Last Updated 2017-12-19
Changelog
Nearly all builds include LineageOS sync -- only mentioned specifically when it was the main point of the build.
(TESTING)20181209 (AndroidFileHost)
@AndDiSa's kernel and device tweaks since my last build and LineageOS sync.
(TESTING)20181104 (AndroidFileHost)
@AndDiSa's kernel and device tweaks since my last build and LineageOS sync.
(TESTING)20180708 (AndroidFileHost)
Added @AndDiSa's kernel and device tweaks since my last build and LineageOS sync with June patches.
(TESTING)20180121 (AndroidFileHost)
@AndDiSa's January performance tweaks. LineageOS sync with January patches.
older entries:
20171122 (AndroidFileHost)
LineageOS sync with November patches.
(TESTING) 20171112 (AndroidFileHost)
@AndDiSa's latest kernel and device tweaks.
(TESTING) 20171020 (AndroidFileHost)
LineageOS sync including October patches and KRAKN fix.
Kernel updates and latest device performance tweaks from @AndDiSa .
(TESTING) 20170811 (AndroidFileHost)
LineageOS sync including August patches.
20170717 (AndroidFileHost)
LineageOS sync brings us to 7.1.2r24 ; perf tweak from @AndDiSa
20170702 (AndroidFileHost)
LineageOS sync
20170609 (AndroidFileHost)
LineageOS sync including June patches; Following @AndDiSa's lead to intelliactive governor, for hopefully improved battery life with minimal performance impact.
20170507 (AndroidFileHost)
Following @AndDiSa's lead to pick up a better fix for RenderThread issues from UnlegacyAndroid.
20170503 (AndroidFileHost)
LineageOS sync brings us to 7.1.2_r8
20170423 (AndroidFileHost)
LineageOS sync brings us to 7.1.2_r2
Updated with @AndDiSa's kernel and device tree updates, including the RenderThread app crash fix he got from @Ziyann.
20170315 (XDA)
Updated with @AndDiSa's kernel and device tree updates.
20170308 (AndroidFileHost)
LineageOS sync includes March security patches. For unknown reasons this build seems to be somewhat crashy.
20170226 (AndroidFileHost)
LineageOS sync includes Feb security patches
20170212 (AndroidFileHost)
AndDiSa's kernel updates
20170129 (AndroidFileHost)
AndDiSa's kernel updates
20170122 (AndroidFileHost)
LineageOS sync, including boot animation and settings updates and various other fixes here and there.
20170108 (AndroidFileHost)
Switch to Snap camera, at least for now.
20170101 (AndroidFileHost)
First LineageOS 14.1 build for grouper.
Unofficial CM 14.1 (XDA)
Previous history in my CM 14.1 thread.
More detailed history: my device tree, AndDiSa's kernel, LineageOS .
Try this at home
(a.k.a. Build instructions)
There are plenty of guides to building CM. Those guides are still relevant with the possible exceptions of their URLs. Assuming you have read enough such guides to have the general idea of how to build a ROM from source, here is one way you can set up your source tree to mimic mine.
In a clean directory, perhaps ~/android/lineageos-14.1/ :
Code:
repo init -u git://github.com/LineageOS/android.git -b cm-14.1
git clone https://github.com/aperomsik/lineageos_local_manifests.git .repo/local_manifests -b cm-14.1
repo sync -c
. build/envsetup.sh
brunch grouper
fantastic Job! We now have a new ROM
aaopt said:
(a.k.a. Build instructions)
There are plenty of guides to building CM. Those guides are still relevant with the possible exceptions of their URLs. Assuming you have read enough such guides to have the general idea of how to build a ROM from source, here is one way you can set up your source tree to mimic mine.
In a clean directory, perhaps ~/android/lineageos-14.1/ :
Code:
repo init -u git://github.com/LineageOS/android.git -b cm-14.1
git clone [email protected]:aperomsik/lineageos_local_manifests.git .repo/local_manifests -b cm-14.1
repo sync -c
. build/envsetup.sh
brunch grouper
Click to expand...
Click to collapse
Recent version of repo doesn't seem to explicitly support '-c' parameter any more to reduce the download size (mine have been around 30GB). Thanks for these instructions; still, I would like to know how you integrated the required changes for 14.1 grouper.
nixuser1980 said:
Recent version of repo doesn't seem to explicitly support '-c' parameter any more to reduce the download size (mine have been around 30GB). Thanks for these instructions; still, I would like to know how you integrated the required changes for 14.1 grouper.
Click to expand...
Click to collapse
It's all in the local manifests.
Sent from my Nexus 7 using Tapatalk
Thank you aaopt for keeping our old Nexus 7 alive !
Can someone tell me the perfect settings for Kernel Adiutor to get the maximum performances ? Even if the battery life is shorten.
Thanx in advance
aaopt said:
It's all in the local manifests.
Sent from my Nexus 7 using Tapatalk
Click to expand...
Click to collapse
Just took a look at those. I have been using TheMuppets at github for the proprietary components, having needed to patch the nvidia components due to an old GNU-ism (gcc extension that was eventually formalised).
Saw that you got the broadcom et al components from your "ads" git repo and wanted to know if there was any reason not to use TheMuppets (or if, indeed, you sourced them from there and modified them), that I can learn from.
Thanks again.
aaopt said:
(a.k.a. Build instructions)
There are plenty of guides to building CM. Those guides are still relevant with the possible exceptions of their URLs. Assuming you have read enough such guides to have the general idea of how to build a ROM from source, here is one way you can set up your source tree to mimic mine.
In a clean directory, perhaps ~/android/lineageos-14.1/ :
Code:
repo init -u git://github.com/LineageOS/android.git -b cm-14.1
git clone [email protected]:aperomsik/lineageos_local_manifests.git .repo/local_manifests -b cm-14.1
repo sync -c
. build/envsetup.sh
brunch grouper
Click to expand...
Click to collapse
Can confirm that this works - now I just need to find the magic in the code. Also, how did kernel/timeconst.pl not need to be replaced with timeconst.bc and kernel/Makefile not need to be amended to use bc instead of perl? I was getting a compile error because of this in the grouper kernel tree.
nixuser1980 said:
Just took a look at those. I have been using TheMuppets at github for the proprietary components, having needed to patch the nvidia components due to an old GNU-ism (gcc extension that was eventually formalised).
Saw that you got the broadcom et al components from your "ads" git repo and wanted to know if there was any reason not to use TheMuppets (or if, indeed, you sourced them from there and modified them), that I can learn from.
Thanks again.
Click to expand...
Click to collapse
The "ads" git repos referenced in my manifests are AndDiSa's. My repos are labelled "aaopt".
As stated in OP my goal with this ROM is to continue GtrCraft's CM13 work now that he has moved on to other devices. He had been following AndDiSa's proprietary components from AOSP so I just continued that way. In fact I took it a step further by using AndDiSa's kernel directly, not (yet?) seeing a clear reason to maintain my own. I just want to do the minimum amount of work needed to keep somewhat up to date with upstream LineageOS and take advantage of AndDiSa's device-specific performance improvements from the AOSP side.
aaopt said:
The "ads" git repos referenced in my manifests are AndDiSa's. My repos are labelled "aaopt".
As stated in OP my goal with this ROM is to continue GtrCraft's CM13 work now that he has moved on to other devices. He had been following AndDiSa's proprietary components from AOSP so I just continued that way. In fact I took it a step further by using AndDiSa's kernel directly, not (yet?) seeing a clear reason to maintain my own. I just want to do the minimum amount of work needed to keep somewhat up to date with upstream LineageOS and take advantage of AndDiSa's device-specific performance improvements from the AOSP side.
Click to expand...
Click to collapse
Oops. I got that wrong. Anyway, thanks for your work and I learned a few things from it.
Just flashed it, will see how it goes.
For now when the only bug
When i take picture with camera, it mirrors it and makes it look pixelish
Great! Happy to see our grouper still updated, thanks
Inviato dal mio Nexus 7 utilizzando Tapatalk
Hey there! Will there be a ROM for Tilapia? I'd be nice to try it on it. I'm not a programmer but as I noticed building for Grouper and Tilapia is just a little different.
I think You can just flash the grouper recovery and flash the ROM.
From one day of full usage:
- The charging is a bit slow, i don't know if it's a big battery or the power flow is low
- There is lagging, like the ROM isn't optimized yet, slowdowns, applications are usually giving me stopped working etc...
- The camera bug i mentioned above, when u take picture it looks pixelated
I'll do more reviews like this if the updates keep coming
Cannot use the video option in the camera app.
The camera app force closes.
CrazyLegenD said:
From one day of full usage:
- The charging is a bit slow, i don't know if it's a big battery or the power flow is low
- There is lagging, like the ROM isn't optimized yet, slowdowns, applications are usually giving me stopped working etc...
- The camera bug i mentioned above, when u take picture it looks pixelated
I'll do more reviews like this if the updates keep coming
Click to expand...
Click to collapse
Here is a build I am testing, in which all I did was sync sources with upstream. It feels somewhat less laggy to me... not sure if it is due to Lineage changes, 7.1.1_r9, or the fact that I used newer opengapps.
Camera issue is interesting -- I have a shot in my camera folder from 11-29 which looks better. Current shots claim to have the same resolution but file size is much smaller, which suggests the wrong jpeg quality setting was used. Something to dig for.
Regarding charging, are you saying it charges more slowly with this ROM than with others? Charging speed varies widely for me but recently it hasn't been that bad. If your hardware is behaving the expected charging time from nearly empty is supposed to be 3-4 hours. Over time the connector gets loose and then charging can take much longer. There are plenty of charging-related threads around here including some which say to replace the USB port and one which says take out the existing port and put it back in. Tried that on the worst of my family's tablets and it helped for a day or so but then went back to old slow charging speed.
Why is the "Mobile network signal" in orange in a WiFi tablet ?
eNVy said:
Why is the "Mobile network signal" in orange in a WiFi tablet ?
Click to expand...
Click to collapse
How did you get to that screen?

How big is the BlissROMs source code file for building unofficial build for ARM devices? Also help about building from the source code.

I want to build my unofficial build for my phone, HTC Desire 816. But I have a limited data plan, and I worried I will running out of my data by downloading a huge source code with unnecessary files for other architectures, phones etc. And I'm just need the ARM and important files.
Also I got these repos from Tarkzim's forum at LineageOS unofficial for HTC Desire 816:
Device tree
Kernel
Vendor
Well, I didn't have any experience at Android development. So maybe can someone give me a guide too?
I'm just know the preparations on the documentation and it's ready, but the steps are confusing for me.
Or maybe if peoples are have their time maybe can someone make the official build?
Maybe it such out of BlissROMs, but I really want to Blissify my phone. Because LineageOS are too plain, no good features like smart charging etc. It just looks a normal Android build from AOSP source.

General [info] Xiaomi 13 (fuxi) Open Source Kernel and Lineage Device Tree

Hi all,
For those of you, like me, who are interested in learning more about developing for custom ROMs, the following links will be helpful for finding .
First is the inclusive list of open source kernel releases by Xiaomi: https://github.com/MiCode/Xiaomi_Kernel_OpenSource
At the bottom of said list is the Xiaomi 13 (fuxi).
Second is the device tree (based on Lineage OS and said to be WIP) by YuKongA: https://github.com/YuKongA/device_xiaomi_fuxi
What is the primary difference between official xiaomi 13's device tree https://github.com/MiCode/kernel_devicetree/tree/fuxi-t-oss and https://github.com/YuKongA/device_xiaomi_fuxi ?
YuKongA's contribution is for Lineage OS, or instead of MIUI it's AOSP. I think.
To give additional information, the Lineage-derived device tree likely originates from: https://github.com/imasaru/android_device_tree_template
Also, the kernel includes a lot of stuff for the hardware and is accompanied by a kernel device tree, which is a kind of 'table of contents' (unless I'm mistaken about the analogy).
"The 'Open Firmware Device Tree', or simply Devicetree (DT), is a data structure and language for describing hardware."
Linux and the Devicetree — The Linux Kernel documentation
I imagine a lot of compatibility issues are lining up the system image and the kernel+device tree.
...
(At this point, I'm really just spouting off some things as I'm learning, so feel free to correct or ignore me as I'm going along!)
Aquariuslt said:
What is the primary difference between official xiaomi 13's device tree https://github.com/MiCode/kernel_devicetree and https://github.com/YuKongA/device_xiaomi_fuxi ?
Click to expand...
Click to collapse
1/Xiaomi Kernel OpenSource
2/Xiaomi fuxi prebuilt
Veiranx said:
To give additional information, the Lineage-derived device tree likely originates from: https://github.com/imasaru/android_device_tree_template
Click to expand...
Click to collapse
You can find older ones.

Categories

Resources