yashsingh1/xdaforums huggingface dataset:
[Android General] krishV:
Sir,Errors solved but I am getting some warning in middle of built are these warnings will cause bugs to ROM:)
[Android General] AlaskaLinuxUser:
Does device/samsung/matisse-common/wifi/WCNSS_qcom_cfg.ini exist? It says it is not there, so it cannot copy it. Remember that Linux is case sensitive, too. :good:

Depends on the warnings. Generally not. A lot of warnings are telling you something is poorly done, or a bad way to do something, but doesn't mean it will not work. However, sometimes it will cause some function not to work. So it depends. You can always copy them and search them online to see if they are a problem or how to fix them. :good:
[Android General] AlaskaLinuxUser:
Always search the output for the words "error" or "failed". Here is your actual problem, from your output:

error: resource layout/preference_material_settings (aka org.lineageos.settings.doze:layout/preference_material_settings) not found.

So, you either need to find them and put them in the doze package where they need to be. :good:
[Android General] DJABHipHop:
Thank for the help and yes the file does exist and i fixed it for now by doing it like the old dev did it witch I'm not happy with some of way thing were done.

and still no wifi
[Android General] DJABHipHop:
Thank for all the help & all the cool video please ignore the previous as I have decided to redo the most device tree from scratch as you previously suggested for the exception the devices as my research tell me that they are mostly done other then some very minor tweaking needed.
[Android General] krishV:
boot screen stucks

my build was sucessful but when i flash in my phone it stucks at boot screen
[Android General] rajesh@xda:
Check your ramdisk offset address on boot.img . it may help. In my case i had different ramdisk offset address when i shifted from nougat to oreo. :good:
[Android General] krishV:
how to check ramdisk offset address on boot.img
[Android General] rajesh@xda:
Use mkboot tool master . i used once .it unpack boot.img with all info. Check ramdisk offset at info file and edit if possible. Cross check that info with any of your working rom boot.img. you will come to a conclusion:good:
[Android General] krishV:
i have clone it how to use it i mean commands

it is showing

./mkboot boot.img hydrogen

bash: ./mkboot: No such file or directory
[Android General] rajesh@xda:
./mkboot boot.img out

./mkboot out boot.img for repack

Download from here: https://github.com/xiaolu/mkbootimg_tools
[Android General] krishV:
no directory it shows

vamsi@vamsi:~/pie$ ./mkboot boot.img out

bash: ./mkboot: No such file or directory
[Android General] rajesh@xda:
Download the zip from the above link. Unzip and copy your boot.img to the unzip folder and run the following "./mkboot boot.img out " without quotes.
[Android General] krishV:
kernel=kernel

ramdisk=ramdisk

page_size=2048

kernel_size=10021431

ramdisk_size=2085308

base_addr=0x80000000

kernel_offset=0x00008000

ramdisk_offset=0x01000000

tags_offset=0x00000100

cmd_line='androidboot.hardware=qcom ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci lpm_levels.sleep_disabled=1 ramoops_memreserve=4M androidboot.selinux=permissive buildvariant=userdebug'

board=""

format=gzip

i am building for MI MAX HYDROGEN ROM name Pixel Expirence

what should i edit

this is my first built
[Android General] rajesh@xda:
Do you have any working rom for your device. Unzip boot.img from that rom and Compare the above info with that boot.img of the working rom. Check if it matches each other. If not matching , edit your boot.img and repack and include in your build and flash again.

"ramdisk_offset=0x02000000 " i changed it and repacked. My rom worked after that.
[Android General] krishV:
vamsi@vamsi:~/pie/out/target/product/hydrogen/mkbootimg_tools$ ./mkboot out boot.img for repack

<Unpack and repack boot.img tool>

----------------------------------------------------------------------

Not enough parameters or parameter error!

unpack boot.img & decompress ramdisk：

mkboot [output dir]

mkboot boot.img boot20130905

Use the unpacked directory repack boot.img(img_info)：

mkboot [unpacked dir] [newbootfile]

mkboot boot20130905 newboot.img

i got this error
[Android General] bmtpromotions:
This is very useful.....
[Android General] DJABHipHop:
How to i get my device to not show the sim card optione in the Setup Wizard on first boot if the device is a wifi only device and i skip the wifi setup process?
[Android General] krishV:
I have rebuild the ROM again same stuck boot screen occurred now I will try this :)
[Android General] heindrix:
On the first build and boot, it's best to set SELinux to Permissive, so it will pass CTS and boot into the system if there's only SELinux denying and no Fatal Crash happen.

Otherwise, if your SELinux on Permissive and still didn't boot (stuck in booting animation), try to capture logcat using adb with verbose option so you can see what's the Fatal Crash causing it won't boot into the system.

If you're stuck on vendor logo (not boot animation), it definitely the kernel error, you should capture Dmesg and analyze it.
[Android General] krishV:
Not worked same boot screen error

This my log can you help me please

https://del.dog/iqakuqonux.pl
[Android General] DJABHipHop:
what does this mean

Checking build tools versions...

build/core/dex_preopt.mk:74: target `/home/android/lineage-14.1/out/target/product/matissewifi/dex_bootjars/system/framework/@inherit' doesn't match the target pattern

build/core/dex_preopt.mk:74: *** target pattern contains no '%'.

build/core/ninja.mk:166: recipe for target '/home/android/lineage-14.1/out/build-lineage_matissewifi.ninja' failed

make: *** [/home/android/lineage-14.1/out/build-lineage_matissewifi.ninja] Error 1

make: Leaving directory '/home/android/lineage-14.1'

#### make failed to build some targets (16 seconds) ####
[Android General] dean a12@#:
Hello [MENTION=7026648]AlaskaLinuxUser[/MENTION] Sir, Uploaded the Java File of the app.
[Android General] AlaskaLinuxUser:
Good work, but here is your problem:

try {

// the command to run
String[] gov = {"su","chmod 664 sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq","echo 1017600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq"};
Runtime.getRuntime().exec(gov);

} catch (IOException e) {
// tell the user the problem
e.printStackTrace();
Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
}

Should be written this way:

try {

// the command to run
String[] gov = {"su","-c","chmod 664 sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq && echo 1017600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq"};
Runtime.getRuntime().exec(gov);

} catch (IOException e) {
// tell the user the problem
e.printStackTrace();
Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show();
}

Notice the "-c", that is important. Also, if it has issues with the && doing the second command, just make two command runners, one to run the chmod command, and one to change the frequency.

Hope that helps!:good:
[Android General] dean a12@#:
Thank you sir. Working perfectly. :)
[Android General] AlaskaLinuxUser:
Thank you! Glad it's helping!

I've heard of this before, but never worked on a WiFi only device. I think there is a way, but I don't know what it is. Are you using gapps in your build?

It days you forgot to build some needed packages, including libconnctrl. You need to as this to your build by declaring it in your device tree make files. :good:
[Android General] AlaskaLinuxUser:
This build log contains no errors, and says build is complete. You need tombstones, dmesg, or logcats of the failing to boot build to see what is wrong. :good:

I would make clean, and maybe reboot and try again. :good:
[Android General] DJABHipHop:
My build cause device to reboot into recovery mode after a few seconds why?
[Android General] AlaskaLinuxUser:
What does the log say?

You can try to pull log cat before it reboots, or you can look at the tombstones in recovery mode. Usually they are in /data/tombstones. :good:
[Android General] DJABHipHop:
Thank i was able to boot.

But on a msm8226 with qcom-adreno305 how would fix the WiFi and WiFi range in LineageOS and skip this on boot

Also can you do a video on what overlay folder is & what it's used for, when & where to use overlay folder on a case to case basis & some practical & fun stuff we can do overlay folder & Plus a video on configure hardware keys in general on the rom level

Here my template if you want user in the video second video I suggest

config_longPressOnHomeBehavior = Launch Google Assist

config_doubleTapOnHomeBehavior = Nothing for know

config_longPressOnAppSwitchBehavior = Split screen

onfig_longPressOnMenuBehavior = Nothing for know unless explained

config_deviceHardwareWakeKeys = Home Button for now
[Android General] AlaskaLinuxUser:
Glad you got it booting! :highfive: great work!

As for video series on overlay folders and contents, that is a great idea, I'll think on it.

As for the setup wizzard, there are several ways to get around it:

#1. Remove it from your ROM.

https://github.com/LineageOS/android_packages_apps_SetupWizard is the lineages version, but just about every ROM has one. Notice that if you remove it, you also have to edit vendor/config/common files to remove the call for it, too.

#2. Trick it into thinking that you already are past the first boot, or not to run the wizard.

Typically, depending in the Android version, there is a flag that is set to 0 or 1 in the build.prop that you can see on a phone by typing getprop in the terminal or adb, which turns off the wizard. I other what it is exactly, and each version of Android had a different name for it. That may only work for old versions of Android though.

#3. There are articles about how to bypass it online. Each version of Android had a different little trick that you can use while you test it.

Also not that installing gapps can affect this as well. You should not install Google apps until you are due the ROM works, but is gapps built into your ROM? That can make it more difficult.

Hope one of those help. :good:
[Android General] krishV:
device logcat contains tombestone

sir this is my device mi max hydrogen logcat please help with this bootloop error

http://https://del.dog/erodufuvog.pl
[Android General] AlaskaLinuxUser:
Glad you found the logs. Remember, search for "error", "failed", and "crash":

--------- beginning of crash

12-10 19:06:46.164 460 460 F linker : CANNOT LINK EXECUTABLE "/system/vendor/bin/thermal-engine": library "libqmi_cci.so" not found

So your fatal (that's why it is a code of "F") error is that libqmi_cci.so is not found. Did you use your vendor blobs? Does that file exist?
[Android General] krishV:
Sir, For this any tutorial please I can't solve it I have already searched in Google this is 15th build but they are no solution for my device
[Android General] AlaskaLinuxUser:
I already did:

https://www.youtube.com/watch?v=eyzYDzdxv38&list=PLRJ9-cX1yE1nnhWBrZtuVz5YC2OPfQVVp&index=43&t=0s

Granted, it is for a different file, but the process is the same. You need to find the missing file, either in the stock rom, or in another vendor blob tree and put it in your tree, just like I did for the missing files in the video. :good:
[Android General] dean a12@#:
Hello [MENTION=7026648]AlaskaLinuxUser[/MENTION] in which file in kernel source code is the version of android it supports is present.

Eg:- If kernel supports android 9 then in which file is this defined or present?

Actually I came accross a kernel trees for my device that have branches 'lineage-16.0' and 'rebase'.I am wondering if the rebase branch is modified branch of lineage 16.0 but don't know if it is really for android 9.
[Android General] AlaskaLinuxUser:
Great question!

Unfortunately, there is no file or marker in any kernel that shows which version of Android it supports. Nor does the kernel version specify which versions of Android are supported.

The only way I know of to find this is to look through the commit history (if there is one) and then only if a specific version of Android is mentioned.

I know that was not very helpful, but such is the state of finding kernel information for Android variants. Essentially, any version (within reason) of kernel can be used with any version of Android, but certain features need to be added for each version of Android to work. To the best of my knowledge, there is no list of all needed kernel features for each version of Android.

Typically, Linux kernel developers are not concerned with Android. They just make more feature rich and awesome kernels.

Android kernel developers then look at Google's phones which upgrade to newer versions of Android and look at the commit history to see what new features were added to the kernel, then they (try) add them to their custom kernels for their phone or tablet.

Hope that helps shed some light on it. :cowboy:
[Android General] DJABHipHop:
Is it posable to replace The LineageOS frameworks with on from a nother base rom to fix a problrm
[Android General] Champdroid:
Thanks again for these excellent videos. I have been making my way through the series. I'm considering trying to port lineageos 16 for nexus 6p. Is this a realistic first project?
[Android General] dean a12@#:
Thank you so much for such a explaining.I will look in commits?
[Android General] AlaskaLinuxUser:
It would be easier to just build the other ROM, but yes, any thing is possible. :D

Glad the videos are helping.

For your very first project, I would recommend building 15.1 for your 6p first. That way you understand how building works. Since 15.1 is stable for your phone, it should build and work. If it does not, then you know that your setup is wrong. If it works, you know your system is proper.

This user is already building the 16.0 version, which you can draw from their work:

https://www.google.com/amp/s/xdafor...-lineageos-16-0-nexus-6p-angler-t3849169/amp/

With links for the vendor tree and device and kernel trees, which will be very useful for you. (See description in link.) :good:

As an aside, remember porting is specifically editing an already built zip from one phone so it will work on another. What we do here is compile or build ROMs from source. :cowboy:

:highfive:
[Android General] Champdroid:
Excellent thank you! I will start with 15.1 and if all goes smoothly move on to 16.0.

Compiling not porting, noted :D
[Android General] Babile:
Hi.

Great work. I have question maybe you answered in thread or video.

What need to do to run old kernel on new android. I heared It needs a lot off patches but what that mean and which patch?

Thanks.
[Android General] AlaskaLinuxUser:
Great question, and welcome to the thread.

I think post #672 answers your question: https://xdaforums.com/showpost.php?p=78389967&postcount=672

Read that, and if you have more questions, be sure to post again and we can discuss it further. :good:
[Android General] DJABHipHop:
Quick question if the camera has no flash with permisston file do i use?
[Android General] rajesh@xda:
My device hardware support Volte but manufacturer shipped the device with non volte support. Also official lineage builds for my device does not come with volte support.

Some developers are adding volte support to their custom ROMs and also providing the volte modem ( which has to flashed in fastboot mode). Accordingly baseband version also changed. How this thing is made possible ?. I have noticed that volte modem remains the same for all custom rom which support volte . My unofficial lineage 15.1 build is successful and it is working without volte. I have the volte modem and i need to add the volte support to my ROM. In which part of tree section ( Device tree or kernel tree or vendor tree) has to modified so that volte features start working.

My device tree: https://github.com/LineageOS/android_device_yu_tomato/tree/lineage-15.1

Thanks:)
[Android General] AlaskaLinuxUser:
I'm not sure because it can be camera specific. Typically this is an selinux problem.

First, congratulations on compiling a working build! :highfive:

Second, volte is not something I am familiar with when building. No phone that I have compiled for ever had working volte. So in afraid that is outside of my expertise. You will have to ask about that in your device thread.

A thought for you, if others have it in their ROMs, you can view their trees and compare with yours. Unless you mean their custom stock ROMs have volte, then that may not help you, as it will depend on proprietary vendor blobs, which may or may not work in your lineage ROM.
[Android General] DJABHipHop:
If it is a selinux problem then how would one fix it then?
[Android General] dean a12@#:
Hello [MENTION=7026648]AlaskaLinuxUser[/MENTION], I'm modifying my device kernel sources with help of your awesome tutorials.But I am not able to find how to change the governor settings like above_highspeed_delay and target_loads directly from the source code. Where they will be located?
[Android General] prabhjot368:
how can i change that thread "root@ip" to give it any custon name?
[Android General] DJABHipHop:
Same question here
[Android General] AlaskaLinuxUser:
Great question!

Okay, so in a kernel, it received several parts to it's name....

First, direct to your question, "root@ipx.x.x.x" is the name given at the end of the kernel because it is the name of the user (root) on the computer (@) which has a name of such-and-such (ip).

So, if I build a ROM on this computer right now, as user alaskalinuxuser, my kernel will say: "alaskalinuxuser@alaskalinuxuser-OptiPlex-7010" at the end, because that is the name of the user and on which named computer I built the kernel. You must have built your kernel as the root user (which, by the by, is a bad idea).

So, you can change your computer's host name by following this tutorial: https://linuxize.com/post/how-to-change-hostname-on-ubuntu-18-04/

Typically, you computer gets the hostname when you first set it up, you are allowed to choose anything you want, if you don't, it chooses an arbitrary name for you, in my case: "alaskalinuxuser-OptiPlex-7010" because my computer is an OptiPlex 7010 (well, the computer I'm using right now, not actually my build machine, but you get the idea).

Now the other part of the name, which you did not directly ask about, but I will mention for others here, is the part of your kernel that says "RebornKernel" in the kernel title right after the kernel version numbers. That is changed in your defconfig file for your kernel, in the Samsung Galaxy S4 defconfig file, it looks like this:

CONFIG_LOCALVERSION="-AKLU"

Which adds the phrase "-AKLU" right after the numbers, just like "RebornKernel" is right after your numbers. So I hope that helps clear things up. :good:
[Android General] AlaskaLinuxUser:
Also a great question....

So, this is specific to your kernel governors. So, if your kernel uses the interactive governor, you can look here:

kernel/drivers/cpufreq/cpufreq_interactive.c

Inside that file will be the things you are looking for. So this is not adding a new gov, but rather editing govs that you have. If you need help with that, head over to this thread:

https://xdaforums.com/showthread.php?t=2769899

and slap his thanks button after giving it a good read. Granted, I don't think this will add 8 hours of screen on time for you, as he claims, but it is a good write up with lots of info specific to what you are trying to do.

Typically, these settings you can adjust with the app "kernel adiutor" and in there you click on the gov and fine tune it's settings. But you can write these into your kernel as well. :good:
[Android General] dean a12@#:
Thanks for information.I'll look into it.??
[Android General] DJABHipHop:
Same here after i fix the bugs in my device tree
[Android General] rajesh@xda:
Thanks for the info. I am a fresher in ROM development and no programming knowledge. Looking into device trees i didnt understand anything but i know some prerequisites for building ROMs. ROM building inspiration started from your guides and videos. I didnt ask this thing to my my device developer bcos always first thing that came in my mind is your way dealing the doubts and your detailed answers.:D You are a good mentor that is why i always like to be here:highfive:
[Android General] lucki1000:
AlaskaLinuxUser, have you only video tutorials or "text" guides too?
[Android General] DJABHipHop:
I fixed the microphone on my device but the sensitive to low it barely pick up my voice how can i fix that?

How would i change my dns server in the rom or the device and is it worth it at all.
[Android General] prabhjot368:
yea, thanks i know about CONFIG_LOCALVERSION= but i have another question at your point with building as root user.. i have to build as root user bcoz i use amazon aws and it only has cli to do work if i try to build rom as normal user it gives me some warning and permission denied errors.. how can i use normal user to build..??
[Android General] AlaskaLinuxUser:
I do have some old compiler guides, but they are not as good as the videos. Here's one on my blog:

https://thealaskalinuxuser.wordpres...he-t-mobile-variant-of-the-samsung-galaxy-s4/

But there are several really good guides written here on XDA too, if you look around you will find several.

As in, for the wifi? Or for cellular? In both cases, wherever you connect usually has a DHCP server that automatically gives you an IP address, which also gives you a default gateway and a DNS number, and it does this every time you connect. However, in WiFi, you can edit the connection settings and use any DNS you would like. Is that what you mean? As for is it worth it, well, if you don't have any issues now, then I say no, it is not worth changing. If you do have issues, then perhaps that would be a place to look, but only if you can't connect to websites because the "name could not be resolved" or other DNS error messages appear.

I have never used AWS, but if it gives you a normal (virtual) Linux machine to use, then you can always make a new user and use that account. What error messages do you get (specifically)?
[Android General] dean a12@#:
Hello [MENTION=7026648]AlaskaLinuxUser[/MENTION],one more question coming to my mind, as seen today most kernel developers build only one kernel zip which runs on oreo as well as pie. How is this possible? Do they put all needed drivers in one source or something else?
[Android General] DJABHipHop:
thank and what about the mircophone bearly pick up my voice unless my mouth is really close to the mic like a few mm away it did work 100% with older roms mm like pacrom or dirtyunicorn.
[Android General] AlaskaLinuxUser:
Well, without the specific phone in question, there are three possibilities that come to mind:

#1. (Most likely) It is a treble enabled phone, so since the core OS (Android) is separate from the vendor layer (kernel, vendor libs, etc.) then you don't need to change the kernel to upgrade from O to P. So the kernel will work with either. This is the beauty of treble.

#2. (Quite possible) It is not treble enabled, but not enough changed in the kernel or boot image ramdisk to warrant a different kernel for P as opposed to O, and the kernel will work for either.

#3. (Most unlikely) The developer is so good that they put some sort of clause like if/then statements into their init sequence in the ramdisk to differentiate between the needs of either O or P and act accordingly.

Just some thoughts off the top of my head.... :D
[Android General] dean a12@#:
Thanks for your thoughts.

One kernel belonging to my device uses the 'most unlikely' one point.

Actually I'm trying to upgrade franco kernel from oreo to pie with method you described in your video.So this question just stuck my mind. Thanks for your help.:laugh: