yashsingh1/xdaforums huggingface dataset:
[Android General] lucki1000:
Okay, if I will use PixelExperience, how can I get the vendor files?
[Android General] krishV:
Better to search in GitHub and clone them and you need to compare it upgrade it with similar hardware device in moto if you have any doubts see this sir's videos

https://www.youtube.com/channel/UCnGqG_jyyXmTzdamBpKfeHA

https://github.com/Wzedlare/android_vendor_motorola_cedric/tree/lineage-15.1
[Android General] lucki1000:
Thank you the link is helpful
[Android General] rajesh@xda:
I came across this terms for building a ROM for my device .What these terms actually mean.?

1.Device tree

2.device common tree

3. qcom common tree

4.kernel tree

5.vendor tree

Moreover why compiling the ROM requires high end machine with high RAM capacity ? For me with i7 processor with 15gb ram, It took around 5hr to build lineage 15.1 but on dual core pc it hangs at 30%.Why ROM compilation takes so much time.?
[Android General] fugee279:
Thanks In $ lunch aosp_$device-userdebug what do I replace $device with?
[Android General] @vjnexus:
Device that u want to build
[Android General] dean a12@#:
-Kernel trees means the kernel source code released by your phones manufacturer.

-Vendor trees are the closed source libraries released which are present in our device in system/vendor folder.

Watch Sir's videos for more reference.

-ROM compilation takes a lot of time I think because there is a lot-a lot of code which is written in diff.languages and and needs to be compiled and then we are building a 500mb of zip file from 20-25 GB of source code.So,it will take time.

These all are my thoughts but others can explain it better.;)
[Android General] AlaskaLinuxUser:
Well, tree x is made for lineageOS, and tree y is made for unlegacy-android. Two different trees for two completely different roms.

LineageOS tries to be rather generic, but modern. Unlegacy-android is specializing in making old hardware work with newer android versions. Thus, it may cut out a lot of caf or other new inputs, and try to kick it "old-school". Thus, the y tree, when put into another rom, may not work because it is not using the same files in /hardware/qcom/display-caf, audio-caf, media-caf, etc...., which your x tree probably does use. If you want to use "y" tree, then you should build unlegacy-android.

Why do you want to use "y" tree, but not "x" tree?

Dean is on the right track.... I'll just expound a little.

1.Device tree - The tree you or a developer make to build Android. This includes configs, settings, tells the compiler what type of SoC you have, etc.

2.device common tree - Many devices are similar, so similar, that 90% of the work is the same, so why duplicate it? Instead, they have a "common" tree with that 90% of info which is common to all of those kinds of phones/tablets, and a device specific tree with the "uncommon" parts. An example is the Samsung Galaxy S4. There is a T-Mobile, Verizon, AT&T, and international version. They share 90% of the same stuff, but have about 10% of differences, like being GSM (T-Mobile, AT&T, international) and CDMA (Verizon, Cricket, etc.). So the different parts are in the separate trees. This was more common back in the day, as modern phones are getting more "generic" when it comes to bands and hardware, etc....

3. qcom common tree - Similar to the device common tree, but usually base on the same SoC (system on a chip). So, the Life XL that I am working on right now has an MSM 8916 SoC, and so does the YU Yunique, and the Wiko Rige 4. They share about 90% of the same stuff for WiFi, Bluetooth, SoC, Audio, etc. So they can have a unique tree, and a common tree with the common parts.

4.kernel tree - This is the kernel source code, which by law, the manufactuer has to release to the public. This only allows you to build the kernel.

5.vendor tree - This is where we get "vendor blobs", or closed source, proprietary drivers that interface with the hardware.

Dean is correct, it takes so long because you are compiling a lot of information. The final zip for the Yu Yunique is only 360.3 mb, but that is compressed. uncompressed it is around 500 mb. The source code compiled together which is then used to actually build the zip is 17.6 GB. And the Android source code to put it together is over 25 GB!

Think of a really complicated math problem:

- The answer is a small 3 digit number, let's say : 360. (Final result, the rom zip)

- But the longhand to break down the math to get that answer took 17.6 pages to write. (compiled code)

- And you had to read 25 full math books to understand how to build it. (Android source)

Hope that helps! :good:
[Android General] rajesh@xda:
Wow:victory:..Great explanation. Thanks lot:good: your efforts are immense and fruitful !
[Android General] DJABHipHop:
Can you explain what what in codec volume table?
[Android General] squabbi:
First off, I just want to thank you from the bottom of my heart for these videos! Even some of your older ones in standard quality have been of tremendous help. :o :good:

Now, I was trying to make a device tree for a new device (gt5note8ltexx) following this series of videos (Creating a device tree from scratch). Since you mentioned it when I was watching your TWRP compile series.

I was worried that the example used for creating a device tree was based off LineageOS, maybe it would get too big or complex for just wanting to compile TWRP first. I went up to 'Adding a TWRP makefile', and decided to try out going back to compiling TWRPYouTube: HD_Compile TWRP: Building TWRP.

When trying to make the recovery image via:

make -j9 recoveryimage

.

I get this error, Googling I found a few answers, but none I could apply to my specific build. Are there additional files/things you guys need to diagnose the issue?

<pre>Starting build with ninja
ninja: Entering directory `.&apos;
ninja: error: &apos;/home/doge/twrp71/out/target/product/gt5note8ltexx/obj/STATIC_LIBRARIES/libhealthd.cm_intermediates/export_includes&apos;, needed by &apos;/home/doge/twrp71/out/target/product/gt5note8ltexx/obj/EXECUTABLES/healthd_intermediates/import_includes&apos;, missing and no known rule to make it
build/core/ninja.mk:157: recipe for target &apos;ninja_wrapper&apos; failed
make: *** [ninja_wrapper] Error 1

<font color="#CD0000">#### make failed to build some targets (8 seconds) ####</font></pre>

Or should I sync the entire omni_bootable_recovery repository? Or is this something to do with building Android (i.e. LineageOS/CM14)?
[Android General] AlaskaLinuxUser:
Welcome to the thread!

Here is what you need:

https://gitlab.com/alaskalinuxuser/twrp-for-a-new-device-videos

This is my series on building twrp device tree from scratch. I will be doing a few edits and them posting them on YouTube probably early January. But you can download them and get the 'sneak peak' and it will help answer your questions.

If you have more questions, come back and post them here so we can help you. :good:
[Android General] squabbi:
Ahh now this seems like the good stuff haha. Thanks for this! I'll take a look at this. :D
[Android General] rajesh@xda:
How to effectively copy ROM source between machines ( Portable hard drive or by LAN interface).?

I have tried both methods but LAN interface seems to be error less ( Dont know why.?)

To copy ROM source . I have installed samba in my ubuntu machine and i copied the .repo folder to the windows 10 machine which has VMware application in it. I run ubuntu virtually on my windows 10 laptop to compile ROM. Though this seems simple but it took around 4hrs in coping the repo folder through LAN .

These are the steps i have followed

1. Installing samba in linux machine and set an ip4 address and shared the .repo folder.

2. Installed ubuntu virtually on windows 10 through VMware player and set an ip4 address on windows 10 for sharing.

3. Connected the two machine through LAN and mapped the ubuntu network drive in windows 10 by run command .

4. Copied the .repo folder from network drive to Virtual Ubuntu home/ desktop though VMware player by sharing option. I allocated around 300gb for VMware player to install ubuntu 16.04.

5. After done copying the .repo folder to ubuntu desktop( home/desktop/rom/ ). I got all the ROM source by applying "repo sync" command.

In other case by doing by portable harddisk . I have copied the repo folder but i got error in repo sync. I think it may be due to file permission error while copiying.

I have these doubts

1. How to connect two linux (probably ubuntu) machine through LAN interface.?

2. Even if i got access to files on ubuntu( enabling share) though my windows machine, I cant access the windows file(sharing enabled) on ubuntu machine through samba. (what i am missing.?)

3. I kept ubuntu machine in a IP4 address for sharing and i accessed the ubuntu machine ip4 address through run command ( \\ip4address\.repo ) in windows 10 and also mapped that address as my network drive in windows 10. but I cant do the vice versa. ( Is there any option relevant to run command in ubuntu as like windows 10 so that i can access the windows 10 PC on Ubuntu PC through ip4 address.?)

4. How to copy ROM source on a portable hardisk without error.?

I have some guides on LAN interface (windows to windows / ubuntu to windows) but I need guides for LAN interface between ubuntu to ubuntu.!

kindly suggest me :)
[Android General] lucki1000:
If I understand you correctly you will copie the .repo folder from Linux to Linux or? over your local network?

For this case you can use samba-server or scp.

If you setup a samba-server you can reach it with all devices, excepted I think apple devices. And for scp you musst install openssh-server on both Ubuntu.
[Android General] krishV:
Sim detection and app stopped working

Sir, I have solved my error but I am getting same problem sim and apps stopped working
[Android General] rajesh@xda:
Yes i copy .repo folder between pc through LAN ( from ubuntu pc to windows 10 pc and then to virtual ubuntu drive for compilation) . If i copy with portable hardisk files get corrupted and fails at repo sync command. Dont know why.?

Need guide regarding LAN connection between Ubuntu to Ubuntu PC.!
[Android General] lucki1000:
The .repo folder is at your Ubuntu and now you will it in your Ubuntu VM and if you try it with a hard drive you get an error, may I ask which error you get?

For the samba server you can use this guide

https://help.ubuntu.com/community/H...minal) - Uncomplicated, Simple and Brief Way!
[Android General] rajesh@xda:
repo sync error. This may be due to file permission i think. File get copied ( say for example .xml file get copied but if you open .xml file you cant find code inside. For oreo If repo folder weighs 30gb in portable harddisk. same repo weighs 62gb while copying through LAN with proper permissions) .repo sync worked only LAN network copying method.!
[Android General] lucki1000:
Wich owner has the .repo folder?
[Android General] rajesh@xda:
Both pc are mine. One is desktop with dual core and another one is laptop with i7 processor.
[Android General] lucki1000:
Okay under Linux you have files and folders and everything has a owner the owner can be root, "user", www-data, etc. and for example you have a txt file who belongs root (admin on Linux) you can't edit as an normal user because the owner in this case is root. Can you copie the output of

ls -l /path/to/.repo

and paste it here?
[Android General] rajesh@xda:
Right now I dont have the error message . i have tried this multiple times . only LAN sharing method works. Not portable harddisk copy paste method works. Can you suggest me how to connect two pc via lan ( ubuntu to ubuntu):good:

---------- Post added at 01:56 PM ---------- Previous post was at 01:42 PM ----------

Here it is !

rajesh@rajesh-Inspiron-530:/nougat/rom$ ls -l .repo

total 40

drwxr-xr-x 2 rajesh rajesh 4096 Oct 26 21:56 local_manifests

lrwxrwxrwx 1 rajesh rajesh 21 Oct 26 07:26 manifest.xml -> manifests/default.xml

drwxr-xr-x 4 rajesh rajesh 4096 Nov 3 10:26 manifests

drwxr-xr-x 10 rajesh rajesh 4096 Oct 26 07:27 manifests.git

drwxr-xr-x 6 rajesh rajesh 4096 Oct 26 13:46 project-objects

-rw-r--r-- 1 rajesh rajesh 12826 Dec 7 13:19 project.list

drwxr-xr-x 30 rajesh rajesh 4096 Oct 26 13:59 projects

drwxr-xr-x 7 rajesh rajesh 4096 Oct 26 07:10 repo

---------- Post added at 01:58 PM ---------- Previous post was at 01:56 PM ----------

Here is the output i get.
[Android General] lucki1000:
That looks normally, why repo sync not working I not know.

For this you need a samba share under Ubuntu.
[Android General] rajesh@xda:
Thanks:) Any video guides regarding ubuntu to ubuntu LAN share .?
[Android General] lucki1000:
Look at YouTube for video guides there are many guides of anything.
[Android General] rajesh@xda:
Yeah i did..most commonly i have seen ( windows to windows /ubuntu to windows guides)

But I need ubuntu to ubuntu ! :)
[Android General] krishV:
ninja failed with: exit status 1

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000096100000, 359661568, 0) failed; error='Not enough space' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 359661568 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /home/vamsi/pie/hs_err_pid11166.log
[ 99% 74990/75352] Compiling SDK Stubs: /home/vamsi/pie/out/target/common/obj/JAVA_LIBRARIES/android_test_stubs_current_intermediates/classes.jar
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
[ 99% 74991/75352] Compiling SDK Stubs: /home/vamsi/pie/out/target/common/obj/JAVA_LIBRARIES/android_system_stubs_current_intermediates/classes.jar
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
[ 99% 74992/75352] Compiling SDK Stubs: /home/vamsi/pie/out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes.jar
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
ninja: build stopped: subcommand failed.
20:18:35 ninja failed with: exit status 1

#### failed to build some targets (02:56:41 (hh:mm:ss)) ####

sir i am getting not enough space even i setup limits
[Android General] AlaskaLinuxUser:
Great! Hope it helps! As an aside, I was in Australia once, down under in Brisbane and the Gold Coast area while I was in the Navy. Not exactly Sydney, but just north of it. Australia was great!

What Lucki is trying to tell you is that Linux has file permissions, and Windows does not.

Most (not all, but most) external hard drives, flash drives, and USB drives are made for Windows compatibility, and do not support these "permissions". So to properly transfer from a Linux computer to another via external hard drive, you should first tar or zip the .repo folder into one zip file, copy the zip file, and once you moved that zip file back to the new Linux machine, unzip it in a folder. This will retain all proper permissions. You can use a 0 compression rate to make it faster, if space is not an issue. See the zip or tar --help output.

However, to make things complicated, Linux doesn't care about user names, it cares about user number. So if the first machine has username rajesh (but assigned system number 1001), and the second machine has user rajesh (but assigned system number 1002) then you still will not have proper permissions. So after the copy, it is a good idea to run this command:

$ chown -R rajesh:rajesh ./.repo

To make sure that you have permission to use it. Also, make sure that you have repo installed on your second computer.

As for copying from computer to computer via network.

I do not recommend Samba, because it has weak file permission support. I recommend if it is between Linux and Linux, you should set up a NFS server. Video tutorial: https://www.youtube.com/watch?v=FOi6GL8Fp8o

If you are sharing via Samba, again, I recommend ziping or taring the file first. Then transfer it and unzip or untar it at the new machine. Video tutorial: https://www.youtube.com/watch?v=x8Lo20C19ao

Notice that all samba videos are for sharing Ubuntu to Windows, because that is what Samba is for. Samba is not supposed to be for sharing from Ubuntu to Ubuntu, but it can easily be done.

Scp was a great point as well.

So, what do you mean by limits. Your limits are apparently not allowing you to continue.

#1. How much RAM is allocated to the build machine?

#2. How much hard drive space, and how much is free, and how much swap space?
[Android General] krishV:
1. 8gb of ram

2. 490 GB HDD, 2gb swap

Limit of instructions I have followed

1. export USE_CCACHE=1

2. prebuilts/misc/linux-x86/ccache/ccache -M 50G

3. export CCACHE_COMPRESS=1
[Android General] rajesh@xda:
Finally got it:good: Thanks for the info:).
[Android General] AlaskaLinuxUser:
Great. How much hard drive space is free?

$ df -h

Great! :good:
[Android General] MrRob0t:
[MENTION=7026648]AlaskaLinuxUser[/MENTION]

Hey dude, so I decided to go ahead and drop down from 16 to 14.04 Ubuntu, actually worked out good, I dual boot, and wanted to give more hard drive space to linux partition. PC isn't great, but it does the job.. :rolleyes: -- 6GB RAM, 1TB HDD (500GB on Ubuntu and 500GB Windows7) dual core Pentium G630. Now I am ready to start setting up for building ROMs. What's your suggestion for me. I've been watching many of your Vids, the older ones aren't terrible quality by any means! HD is just amazing. You're the man!

I think I need to follow along the Vid for setting up for lollipop I think it was, but do JDK 8 not 7.

I am basically wanting to setup to build Nougat again, and once I get a bit more familiar than just syncing, using pre-made device tree, vendor and kernel. I want to make some ROMs like maybe Omni that we don't have (even though everyone is wanting Pie and Oreo) I am still enjoying Noogies on my htc 10. :cool:

I do want to eventually be able to build for O and P, but first things first, lol.

Your help is SOOOO highly appreciated!

Thank you for your time!
[Android General] AlaskaLinuxUser:
So, this is an unusual problem, but your Linux distribution is set to an odd local, or is configured oddly. The short answer is this, when you get this error, type this in the terminal:

export LC_ALL=C

Then run make again. But more importantly, I want to focus on how we can figure this out. When you get an error you don't know, then look for the words fail, failed, or error in the output, when you find it, select that text and Google it. Typically someone will have had that error before.

In this case I duckduckgo'd this line:

flex-2.5.39: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.

Which led me straight to stack overflow on the first hit, where a really smart guy explained that this could be fixed by typing the line above into the terminal. So web searching can be very helpful.

Hope that helps!
[Android General] shan9656:
Thanks.

I'll try to do what you said
[Android General] AlaskaLinuxUser:
Just a teaser shot of an upcoming group of videos. I'm just about done with them. The target goal is to talk about:

* Installing/using VirtualBox

* Syncing minimal LineageOS or Omni for building TWRP

* Converting an Omni TWRP device to LineageOS/CM and building it.

* Custom TWRP mods with colors/icons/splash screens.

I've been listening, and the video quality of this next set will be an improvement over the last set of videos. It will still be a few days before they are posted, as I have to finish, edit, and upload them, but I'll let you know when they are up!
[Android General] Susan Dahal:
Wow you are doing a great job.

Btw if you have time could you please make some videos about common errors we get while building kernels and roms?
[Android General] AlaskaLinuxUser:
Great idea. I've been leaving the errors in for thorough videos as I've been compiling. So, when they come up, be sure that I will make videos out of them.

Not to plug my site, but I have documented a LOT of errors while compiling Android. Just hit the search bar on my site and type 'error', or keywords of an error you are facing, and hit enter. I've tagged errors along the way while I was making roms in the past. My favorite was the 'quail star', because of the cool ascii art that printed out in the terminal.

Your biggest friend though, really is websearching and logical deduction! ;)
[Android General] takiansen:
Great work man! RESPECT!
[Android General] AlaskaLinuxUser:
Hey everyone!

Just wanted to let you know that I was able to finish and upload another hour worth of videos! That's right, currently there is more than 9 hours of video tutorial available. As promised, this was added to the series:

* Installing/using VirtualBox

* Fixing a VB Ubuntu problem with screen resolution

* Syncing minimal LineageOS or Omni for building TWRP

* Converting an Omni TWRP device to LineageOS/CM and building it.

* Custom TWRP mods with fonts/icons/splash screens/etc....

Hope that you are enjoying the series, but mostly, I hope that it is informative and gets you building!

I did try to up the video quality, but I had to tone it back down a bit, as the files became a bit large for uploading and handling. The quality is a little better than the first videos, but not exactly 1080p! :p

Thanks again for all of the thanks button slaps and YouTube subscriptions. That lets me know that you guys really appreciate the videos.
[Android General] AlaskaLinuxUser:
Hey everyone!

I just had a quick note about YouTube comments:

If you need help with a ROM that you are trying to build, I recommend asking for help on XDA, rather than on YouTube in the comments section of videos. Not because I mind them being there at all, you are more than welcome to make any comments you like there, but that I do think you will get more help from the XDA community than you will from the YouTube community. YouTube just isn't set up to handle the exchange of log files and code that would be required to assist with device building issues.

I hope this makes sense and I really appreciate all of your feedback and comments!
[Android General] AlaskaLinuxUser:
A quick update:

I added another video for Virtual Box issues when it comes to using USB devices in pass through mode, letting the host computer share them with the virtual machine. Just in case any of you are doing the same, there are potentially a couple issues you might run into, and since I ran into them as well, I thought I would share a couple of solutions. The new video is up on YouTube, and it is being added currently to the two repositories.
[Android General] bigrammy:
WOW! massive respect for taking the time and effort to do all this :highfive: :highfive:

I am sure this thread will get swamped by noobs pretty soon so I hope your prepared to weather the storm :laugh:
[Android General] ajul_raj:
Can I ask what your computer specs were?
[Android General] garylawwd:
He says it in the first few minutes of the first video
[Android General] Adriano-A3:
Devs factory xD

Many thanks
[Android General] AlaskaLinuxUser:
Just a heads up guys.

I am making a new video series to cover more advanced topics. So far, I have put together about 4 hours of video for building a device from scratch, while working with a real 64 bit phone that does not have a device tree or compiled custom roms. (It does have a ported custom rom, and several custom stock mod roms, the Blu Life One X2.) It even boots into Android! Except then it immidiately crashes. :D So, more work to do there, but I hope this video series will be useful to those looking at more advanced work.

Still trying to figure out what forum to post in, here, or the University threads? Any thoughts from the group?

Also, the videos are higher quality, but it is really slowing down uploads at the moment, so thanks for your patience.