yashsingh1/xdaforums huggingface dataset:
[Android General] AlaskaLinuxUser:
Well, I guess I asked. :p

Yes, so those things are outside of the "basics" covered in this thread. However, check out my advanced thread (link in op) where I an working on a series called "building your own custom ROM". That includes adding your own customization to a ROM. But, that only helps you of you already know these " basics " of building ROMs. :good:

In theory, yes. I can't say for sure without knowing the exact changes, and without doing hours of research. :D

But, if your building nethunter, you will need to look elsewhere for help. This thread is not about building that. There are lots of nethunter threads out there where you can find assistance for that. That is not something that I want to have become a focal point here in this thread. :cowboy:
[Android General] Atifbaig786:
I agree with you.But I didn't ask you to do anything about it.This is just a basic guide.
[Android General] dargonswim:
I have the same error in Lineage oreo.

Enviado desde mi MI 6 mediante Tapatalk
[Android General] SunilSuni:
Downloaded all videos.. :)
[Android General] AlaskaLinuxUser:
I'm not sure then. You may need to post in your phone's specific forum on XDA and ask for phone specific help. :confused:

Whoa! That's a lot of downloading! :highfive:
[Android General] lucki1000:
Hello,

My phone have no kernel source code but I will modifying the kernel, like add patchs or something else. Is there any way to modifying the kernel?
[Android General] AlaskaLinuxUser:
Are you sure the source code is not available? It is against the law for them not to release it.

Is it for the moto g5? A few seconds of web searching brought me to this: https://www.google.com/amp/s/www.an...ource-lenovo-moto-g5-moto-g5-plus-764236/amp/

Is that the code you are looking for? :good:
[Android General] lucki1000:
No it is for the Archos 50B neon, with my motorola moto g5 i dont will lost my guarantee next year i will rooted this phone too.
[Android General] AlaskaLinuxUser:
Just a friendly reminder for the group: if you send me a question in a private message, I will politely point you back to this thread. So please don't pm me, just post your questions here. :cool:
[Android General] lucki1000:
I think there is not offical for my "archos 50b neon" I have already searched the Internet
[Android General] AlaskaLinuxUser:
Yeah, by law they have to release it, and Archos usually does. You can check their website: http://www.archos.com/us/support/support_tech/updates_gnu.html

If they have not released it, then you should contract them and ask them to release it, perhaps they will, since it is the law. :good:

Without source code, you can't do much to change the kernel.
[Android General] lucki1000:
My device is not listed and how can i contact them? I have tried 2 years ago to sing up me and add my devices for support and on the page came constantly my serial nummer not valid.

---------- Post added at 05:57 PM ---------- Previous post was at 05:49 PM ----------

And on this list is only 1 Smartphone from lots of Smartphones
[Android General] AlaskaLinuxUser:
I certainly can understand your frustration, but all I can do is suggest that you contact the vendor for the kernel source. It will be nearly impossible to build anything for this phone without the kernel source. :good:
[Android General] lucki1000:
I have contacted the support for this. And now I hope they give me them or make it official.
[Android General] AlaskaLinuxUser:
Okay, back on schedule! I've got another couple of videos for the 64 bit kernel modification. Today I just uploaded adding hotplugs to your kernel!

Also, by request, I am working on a series for TWRP alternatives/spinoffs, such as Red Wolf Recovery and Orange Fox Recovery, so that should be interesting, as I am learning about these as well!
[Android General] prabhjot368:
i can't understand the process to sync up device source vendor and kernel source to build rom.. can you help me .. I've repo sync rom source without any error
[Android General] AlaskaLinuxUser:
You bet! So, what's the exact error? What are you building, what operating system are you using, which video did you follow? The more information I have, the better I can help you! :good:
[Android General] prabhjot368:
i am trying to build for my old samsung galaxy core (arubaslim) i8262, but i am confused bcoz i am unable to find correct source code to build.. i saw your videos and unable to create local manifest file bcoz of source codes for this device..
[Android General] Susan Dahal:
https://github.com/I8552-CM/android_device_arubaslim-uncommon/tree/cm-11.0?files=1

Here is the source code for device. Best of luck
[Android General] IvanHephaestus:
Hi AKLU, i trying to build special device tree for pie to fix media codecs and I need to copy a lot of files from vendor to out path. I have a lot of files to copy and it is booring to copy them manually by PRODUCT_COPY_FILES are there any way to copy full folder with all files?
[Android General] AlaskaLinuxUser:
As far as I know, no, you have to copy each file individually with PRODUCT_COPY_FILES. However, I have seen people ( and once did it myself ) make a runbeforebuild.sh script, in which you can create the out directories and copy files that way. But it is not the "right" way to do things, it is something you should use as a last resort. :good:
[Android General] AlaskaLinuxUser:
Don't forget to check back in for more videos. I don't always mention adding just one video, but I'll try to keep you all updated once a week at least. Since my last video post I've added 3 videos about modifying 64 but kernels, including headpiece voltage control, double tap 2 wake and sweep 2 wake. Hope you are all enjoying the series. I've almost finished the orange fox recovery videos, so stay tuned next week! :good:
[Android General] DJABHipHop:
I'm Getting this error when i build for my device if i set export ALLOW_MISSING_DEPENDENCIES=true and don't know how to fix it

ninja: error: '/home/android/LiteOS-16.0/out/target/product/gtelwifiue/obj/SHARED_LIBRARIES/libskia_intermediates/export_includes', needed by '/home/android/LiteOS-16.0/out/target/product/gtelwifiue/obj/SHARED_LIBRARIES/hwcomposer.msm8916_intermediates/import_includes', missing and no known rule to make it

18:47:01 ninja failed with: exit status 1
[Android General] Arslan140:
Nice
[Android General] AlaskaLinuxUser:
Thanks, I'll have to work on that. I made a lot of these videos at night or early morning while my children were sleeping. :silly:
[Android General] KnightRider2008:
It would be great if you added a guide for replacing the prebuilt Linux toolchain in lineage based roms with another one such as Linaro
[Android General] AlaskaLinuxUser:
Great question! Have you watched the "toolchains" video under section 1.4 Information? I'm using SlimRoms in that video, but it will be located in the same place on CM/LineageOS/etc. The big key is editing your buildConfig.mk/buildCommonConfig.mk file to point to the new cross compiler, which is the toolchain. Here is the example code from the file I used in the toolchain video:

# Kernel
BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom user_debug=31 zcache msm_rtb.filter=0x3F ehci-hcd.park=3 androidboot.bootdevice=msm_sdcc.1
BOARD_KERNEL_BASE := 0x80200000
BOARD_MKBOOTIMG_ARGS := --ramdisk_offset 0x02000000
BOARD_KERNEL_PAGESIZE := 2048
TARGET_KERNEL_CONFIG := cyanogen_jf_defconfig
TARGET_KERNEL_SOURCE := kernel/samsung/jf
# TARGET_KERNEL_CONFIG := aklu_jf_defconfig
# TARGET_KERNEL_SOURCE := kernel/samsung/jf-aklu

# Use Linaro toolchain instead # TARGET_KERNEL_CROSS_COMPILE_PREFIX := arm-linux-androideabi-
# linaro
TARGET_KERNEL_CUSTOM_TOOLCHAIN := linaro-4.7-12.10/bin/arm-linux-gnueabihf-

Notice that the # pound sign is used to comment out the old line, and then the TARGET_KERNEL_CUSTOM_TOOLCHAIN := linaro-4.7-12.10/bin/arm-linux-gnueabihf- points the compiler to the new toolchain that I downloaded and put in the folder.

Hope that helps!
[Android General] taife32:
I've just seen this now on XDA Labs, so haven't had time to check out the videos, but WOW, ?. What you have done is really appreciated buy those of us who will be using your material to learn to enjoy our devices more.

You are empowering us, thank you very much.
[Android General] zelendel:
Praise it after you use it. Doing it before is just brown nosing and pointless.
[Android General] :
Holy **** thank you so much I've been waiting for something like this tyyyy
[Android General] KnightRider2008:
Thanks! I'll check it out ?
[Android General] dwapking:
In what other can I say a "special" thank you?

This marvelous! Got the news from labs, queued downloads.
[Android General] AlaskaLinuxUser:
Hey everybody!

Thanks for the positive feedback, I didn't know if anyone would find this useful. I do hope that these videos will help you get started with compiling your own custom roms!

Just an FYI - I have started uploading the videos to Youtube as well. I personally recommend you download them from GitLab, as you will not have to contend with advertisements, etc., but if Youtube is your preferred method, they will all be uploaded over the next couple of days. You can check the OP (post #1) for the link!
[Android General] :
Hi, great that your doing this to help people including myself out!

Have you recorded these already, or are you still going? Because the 480p resolution makes it really hard to see what's going on in the video, not to mind the fact that it's letterboxed on all 4 sides so it doesn't even fill the whole screen.

It's pretty unpleasant to watch in this state, but I understand you obviously can't change it now without rerecording if you've already done the whole series. Just would be something to keep in mind for any future videos you might make for this series. (If you are going to)

But overall I really like the content. A video suggestion wouldbe could you focus on adding Android source folders to github (like for example packages/apps/Settings ) and creating a repo manifest so someone could use this to make their own ROM, and then allow others to build it like LineageOS has? And maybe how to merge in security patches and even new versions of Android, but that might be too extensive of a topic.

Thanks, Nate :)
[Android General] preethamkmr3:
If possible make a tutorial on building TWRP for devices.

Thank you.
[Android General] hiimpig1:
Hi, thank you for creating a very detail guide like this.

I was able to build LineageOS Nougat ROM based on another device tree with the same SoC when I try to boot after installing ROM it keeps rebooting without entering to Android boot progress. Can you help me?
[Android General] sandeepkumar0153:
Just when i was trying to begin my own rom development, you gave me this huge boost. Thanks a lot :D
[Android General] #Henkate:
[MENTION=7026648]AlaskaLinuxUser[/MENTION]: It's really nice to see that you're sharing your knowledge with others here too. Thank you for that! I'm sure that a lot of people will benefit from your tutorials. I've rated the thread 5 stars and subscribed to it. Probably I'll add it to my signature too if I'm not at that text limit. By the way, hopefully you haven't forgotten me xD. Well, I assume you didn't since you've mentioned the J5 at your bio hehe. You've been so nice and helpful to me back then!

Some advanced tutorials could be about enforcing selinux, finding the kernel CAF tag which is closest to stock one, merging the stock kernel source into the CAF one and so on. I've done those before and that's why I've mentioned them. It's something which everyone will have to do or at least should do it. While for enforcing selinux there's some documentation here and there, there's no documentation about how to find the closest kernel CAF tag to stock or how to merge the stock one into the CAF one. Someone please correct me if I'm wrong.

There's much more "advanced stuff" to talk about, stuff about which I lack knowledge. For example, now I need to figure out which is the closest CAF tag for camera HAL, so I can test it on LOS 14 and once it would be working, I can test it on LOS 15 (where I'm stuck with the stock camera error(s) ). Again, there's no documentation about how to find the closest CAF tag for camera HAL, but I've got the answer on reddit (/r/LineageOS) and further tips / help on Lineage's Slack.

I remember this thread where everyone contributed and shared their knowledge. Would be really nice if this thread will turn like that too, where everyone share their knowledge. Unfortunately, I can't record videos because I have a slow PC and my English sux when I'm speaking. I'd rather contribute by writing. Perhaps you could make videos if someone contributes with a written tutorial?

As a side note, I think I could say that Android ROM development means to do a lot of research on your own to find how to do something or how to fix something. Understanding how things works in Android and kernel is another thing which should be learnt / known (which I lack myself as of now) and knowing C/C++ is a big advantage (I lack it too) so you can understand what the code does. Sometimes it can get really frustrating, but if you stick to it and don't give up, you'll eventually fix the bug you're working on or figure out what you've needed to. When that moment happens, you'll feel great. Obviously, i've experienced both feelings before, like everyone else.

Check this post on [MENTION=7026648]AlaskaLinuxUser[/MENTION]'s blog: How to manually update your custom rom source code with security updates. Probably he'll make a video about it too.
[Android General] suraj-b:
Thanks a lot for this.
[Android General] AlaskaLinuxUser:
Nate,

Thanks for the feedback. I have updated post #3 (Notes) with a note about the video quality being a bit poor. I apologize that it isn't a little better, but with my slow internet, keeping the video quality down did help me a lot. Also, several of the recordings were done over Xvnc, which causes the lag and general poorer quality. I actually recorded these videos 5-8 months ago. I then shelved the project, and recently decided to go ahead and post it anyways.

There is lots of room for more videos, but I'm not sure how many I will make. For every 30 minutes of video, there is about 2+ hours of prep and work that goes into them, probably because of my poor video skill level. :D There are actually a few more videos that I didn't upload to the series, for one reason or another. Hopefully what is available is able to meet the need of teaching new developers how to get started.

That was one thing I did hope to add to the video series, was building TWRP or other custom recoveries. No promises, but I am still looking at doing a video or two on that.

Can't forget! Working with you was great! And thanks for pointing a few things out. I'm not sure, that might entail a more advanced video series, maybe a collaborative effort. My CAF skills are a bit weak. :silly:

Anyone is welcome to make some more videos, though! And I'll look into some of these really good suggestions! Thanks everyone for the great feedback!
[Android General] AlaskaLinuxUser:
Hey everyone,

Just wanted to let you know that all 8 hours of the video series are up on the Youtube playlist (link in OP). Please keep in mind that the Youtube is lower quality than the videos in the download links in the OP. I just viewed several of the videos, and it is much harder to read what I am typing in the Youtube video, whereas, while the quality is a bit poor, I can easily read my typing in the videos that you can download.

Thanks for all the great feedback!
[Android General] SoapDev2018:
[MENTION=7026648]AlaskaLinuxUser[/MENTION] Excellent videos and collection! If I can cook ROMs someday, all credits shall go to you and your hard work which you shared with us in form of videos. I know you work on free time. Still could I ask some video tutorial rather from your side about building TWRP recovery? That would be a lot more help. Greets and kudos!! :) :)
[Android General] ProttoyX:
Thanks mate! Searching for these kind of resource! And finally got it!
[Android General] evilouse:
hello brother, if I use the other linux except Ubuntu, can I use it?
[Android General] AlaskaLinuxUser:
You can build Android on any OS you like. However, in my videos I only use Ubuntu, because that is the recommended Linux to build Android, per the Android Open Source Project.

Just a note though: of you use something other than Ubuntu, I can't help you when there are errors, so I recommend you use Ubuntu. Several folks on here have used other versions in this thread, getting errors trying to build the exact same thing I've built. So I recommend that you start with Ubuntu, until you have something working, then try other versions of Linux.

And remember, you can always use virtual box. :good:
[Android General] AlaskaLinuxUser:
Great question!

So, ALLOW_MISSING_DEPENDENCIES=true will not allow the build to fail because a known dependency doesn't exist. E.g., you don't have vendor files, so you say build anyways, even though the vendor files are not there.

But....

Your error is because a file needed to continue the build is not there, so it can't build the composer because there is a needed file to tell it what to do. Because the file it needs isn't one you had when you started, it is one that is built during the build process. Since it didn't get built, and the next file needs it, the build cannot continue. :good:

So does skia exist in the platform/external folder? Is it getting built?
[Android General] prabhjot368:
thanks, but when i run brunch arubaslim it says cm.mk not found no such directory..
[Android General] DJABHipHop:
Thank and skia dose exist in external but won't get built idk why
[Android General] AlaskaLinuxUser:
By running brunch, you mean

brunch cm_arubaslim-eng

right? And did you add the repositories to your local_manifests.XML files?

An easy way to fix that is to add libskia to your device.mk or full_device.mk file. Wherever in the file other media codecs are listed, just add libskia, so it will get built too. :good:
[Android General] prabhjot368:
1) when i run build/envsetup.sh it doesn't show my device in that list ..

2) do i only need to add these repository to local_manifest file? will it work? i mean no vendor tree and without kernel source...
[Android General] AlaskaLinuxUser:
No, you need vendor and kernel files as well.

https://www.youtube.com/watch?v=qZz...LRJ9-cX1yE1m8k9gztsQnnXDg1G4X1f6z&app=desktop

In this video, I explain how to do that. :good:
[Android General] DJABHipHop:
Thank Will try but hope It build
[Android General] DJABHipHop:
Still no luck even after adding to my device.mk Unless i added it wrong IDK
[Android General] AlaskaLinuxUser:
Can you post your device.mk file here, I'll take a look?
[Android General] IvanHephaestus:
Hi, it's me one more time, i remade my device tree and take a logcat one more time, there is errors https://pastebin.com/KaQhNaxB i think, you should know how to implement those extensions
[Android General] DJABHipHop:
Ok here is my device.mk form the vendor tree I'm using to build pie for my tablet.

#Inherit from vendor
$(call inherit-product-if-exists, vendor/samsung/gtelwifiue/gtelwifiue-vendor.mk)

# Inherit from common
$(call inherit-product, device/samsung/gte-common/device-common.mk)

LOCAL_PATH := device/samsung/gtelwifiue

# System properties
-include $(LOCAL_PATH)/system_prop.mk

# Common overlay
DEVICE_PACKAGE_OVERLAYS += device/samsung/gtelwifiue/overlay

LOCAL_SHARED_LIBRARIES += libskia
[Android General] AlaskaLinuxUser:
Try like this:

#Inherit from vendor
$(call inherit-product-if-exists, vendor/samsung/gtelwifiue/gtelwifiue-vendor.mk)

# Inherit from common
$(call inherit-product, device/samsung/gte-common/device-common.mk)

LOCAL_PATH := device/samsung/gtelwifiue

# System properties
-include $(LOCAL_PATH)/system_prop.mk

# Common overlay
DEVICE_PACKAGE_OVERLAYS += device/samsung/gtelwifiue/overlay

PRODUCT_PACKAGES += libskia

And see if that works better. :good:
[Android General] mail.kumar.2309:
Porting a NEW device to Lineage OS

Hi

Want help in "Porting a NEW device to Lineage OS" from Lineage Source in a generic manner(not specific to a device).

Device : Samsung C7 Pro (India).

Source Code : opensource.samsung.com/reception/receptionSub.do?method=sub&sub=F&searchValue=C701FDDU1BRC2

a) Need help in compiling Omnirom(android-9.0) : github.com/omnirom/android_bootable_recovery

b) Need help in compiling LineageOS > cm-14.0 and lineageos-16.0 : github.com/LineageOS/android

Any help would be appreciated.

I had searched a lot the process to compile/port the recovery and the OS for a NEW device, but of no help.

Thanks in advance.

Regards
[Android General] AlaskaLinuxUser:
Sorry my friend, but I don't have enough knowledge about media codecs to help you. I'm not sure from the logs what the problem is. I would recommend asking for either:

A. Device specific help in your device Q&A or your device developer section.

or

B. Rom specific help in that rom's Q&A or developer forum.

Hopefully you can find the answers you need. :good:
[Android General] AlaskaLinuxUser:
Welcome to the thread!

Great! Glad you want to start building. I recommend that you watch this video series that I made:

https://www.youtube.com/playlist?list=PLRJ9-cX1yE1m8k9gztsQnnXDg1G4X1f6z

Then I recommend that you download LineageOS 14.1 (Nougat), and build for your device. You can find your device trees here:

https://github.com/Galaxy-MSM8953/android_device_samsung_c7proltedd

https://github.com/Galaxy-MSM8953/android_device_samsung_c7prolte-common

https://github.com/Galaxy-MSM8953

That last link has your vendor and kernel files.

Notice that in the videos, the first 7 videos are specific to downloading, setting up, and building Nougat. Then video 9 will help you add your devices to the local manifest.

[MENTION=5067245]aapav01[/MENTION] Built this device tree already, so it should build good for you. You can slap his thanks button in his thread here, for all of his hard work:

https://xdaforums.com/android/development/rom-lineage-14-1-c7-pro-t3803492

Then, once you have got a working Nougat build, you can work on Oreo, and perhaps Pie. I do have videos for upgrading a device from one version to another, as well, and it looks like aapav01 has started some lineageOS 15.1 builds as well.

Hope that gets you pointed in the right direction! Let me know if you have more questions. :good:
[Android General] DJABHipHop:
Nothing no luck would looking at the unofficial device tree i used for my Samsung Galaxy Tablet E 9.6(SM-T60NU) to build pie help in any way shape or form.

I can post the link to the device tree if needed.

Thank in advance
[Android General] AlaskaLinuxUser:
I'm not sure what is going on with your build, but I recommend that you start from scratch and follow this guide exactly, which is made specifically for your device:

https://wiki.lineageos.org/devices/gtelwifiue/build

And see if that works. Then we can move on from there. :good:
[Android General] DJABHipHop:
thank i'll try that
[Android General] DJABHipHop:
Now that my build completed successfully Is there a way to make LineageOS lighter with the least amount of forking posable & error during the build as posable+rebrand it as well and if so how would do it. I'll worry about pie for my device latter right now I just want a build an extremely light rom meat my goal then build my device with the unofficial pie repo for LineageOS
[Android General] AlaskaLinuxUser:
Great! I'm glad that it built! Well done and welcome to the world of developing!

So, how to make your own rom? That is covered in a video series that I have out and am still adding to:

https://www.youtube.com/playlist?list=PLRJ9-cX1yE1nTAc0uM17HL9KuN__GDexh

For that topic, however, I would ask that you head over to the advanced building thread, as this thread is for basics. Here is a link to that thread (which is also linked in the OP) :

https://xdaforums.com/android/general/guide-intermediate-to-advanced-custom-t3823927