Build and compile rom and kernel - Samsung Galaxy S7 Edge Questions and Answers

This is a question for all the devs here.
Ive been a long time member, mostly lurking. I use to compile windows mobile roms for my own use.
Im interested in trying to build my own custom stock(ish) rom and kernel.
I know it wont be easy and will most likely fail multiple times or even brick my phone completely.
I have the sm-g935w8 version and currently on 8.0 stock root.
My goal would be a custom rom possibly tw with stuff i manully remove and configure i would also make a kernel ..possibly..ive compiled one a long time ago for a linux build. But as for kernel id just like to play around see what is available
Im not looking for the step by step but some information on where to begin and what software ill need.
Also has samsung released latest source code?
Thanks

Related

Flash Stock Android Kernel (or Emulator ROM)

Hey,
I've just recently started Android development and I'm keen to learn as much as I can about the whole system, not just about SDK app development. As such I'm interested in attempting to build my own ROM completely from scratch. I've downloaded the Android Source (and Galaxy S source) and would like to try my luck.
First I've been mucking around creating custom ROMs with the emulator, moving apps from the Galaxy S ROM I dumped from my device onto the stock emulator ROM and testing things out.
Anyway I'm at the point where I'm wondering if it's possible to flash the stock emulator ROM onto a Galaxy S phone? I know the Galaxy S source includes a lot of device specific stuff however I'm not interested in getting the camera, bluetooth or anything hardware specific working just yet.
If I flash a ROM with a stock kernel, drivers etc. onto my phone will it work? Has anyone done this? Will it just brick my phone?
Any help would be appreciated.
Cheers,
Ben
Anyone?
Also, I know people have flashed AOSP ROMs on other phones, does anyone know if they required modifications or whether they are in fact stock ROMs?
nje, can't work. why?
1) different bootloaders
2) different partition layout
3) different (kernel)drivers
4) different vendor setup
etc.
it is possible to flash the emulator image onto a dev device (dream/sapphire) but even then a lot will not work properly!
if you want to learn about the android architecture you should start with building a kernel (there is already a thread about that here) and playing around with stuff like the (file)system and utilities...
Thanks jodue.
Yeah my long term intentions were definitely to build the Galaxy S kernel and any necessary libraries and drivers specifically necessary for the apps I decide to include in a custom ROM.
I was hoping that I'd be able to start out by tweaking a minimalistic/generic ROM (the AOSP default ROM) on my Galaxy S. However, as you've pointed out I'll have to start out with the kernel and all the device specific stuff first.
I've got quite a bit of information on building an Android/linux kernel both from the thread you mentioned and also the official AOSP page. However information on putting together a complete working ROM seems a bit sparse. Does anyone know where I can find some information on the topic?
I'm also curious to learn about the list of things jodue mentioned i.e. Android bootloaders, partition layouts and drivers (generic and Galaxy S specific). I assume detailed information about particular devices and drivers probably isn't available but if anyone even knows where I can learn detailed information about default AOSP ROMs I'd be extremely interested know.

[Q] what is Kernel

Gents,
I need your help about "kernel", as I know when installing Android I need the folder named Android and the data.img.
But the kernel what is that?
Thanks for reading and more for helping.
The kernel is the core of the Android OS. Windows too runs on a kernel. Every build already includes one, and usually the most up-to-date or stable version, so you shouldn't have to worry about it, unless you want to update your kernel some time in the future.
I've been running Android for several months now and I've not updated the kernel once.
Still there is somthing to say
First I want to thank you for giving me some of your time.
The answer is clear, but why there is update always (now is 8.6)?
and what the kernel is including, is it the same of Android folder?
I hope I will find some more time.
Check out here for a bunch of explanations of terms that are commonly used around here
http://forum.xda-developers.com/showthread.php?t=852660&highlight=glossary
The reason that the kernels are updated alot is that the people who build the kernels find flaws in them through testing them, and through the feedback they recieve here on XDA.
Then they work to try and find ways to fix those flaws. Sometimes in fixing one flaw, a new one emerges. Generally it is a good idea to use the latest version of whatever kernel came with the build.

Building from Cyanogem source and flash to atrix

Hello everybody,
I'm an Android app developer for some time, but from some time ago until now I have been tweaking the framework, trying to enhance, customize and maybe correcting bugs, so I'm working on the emulator, but I would like to test it on my device (Atrix).
Since I'm a newbie on this matters and I found plenty of threads and sites/blogs, I got a little confused on what are the steps to be made, specially because I would like to build from source as to have my modifications flashed. I'm aware of the hardware implications for my specific device, so I decided to use a reported working rom source code for my device, but i'm a little lost. I thoutgh to be using Cyanogem but I don't know the specifics.
Since I already have the source code AOSP, I think It would be painful to make it work on my device (drivers, kernel, so on...).
I just want (for now) see my framework modifications on device. Anyone could point me to the right direction?
I thought of using this firmware here.
Thank you all.

[Q] Is it possible to "upgrade" kernel version?

I still use my Nexus 4 happily and recently started modding the kernel a bit.
This led me to the question in the first hand, because it is possible to upgrade minor versions (3.4.0 -> 3.4.105)
The thing is, N4 uses google_msm 3.4 sources
shamu is pretty new, uses google_msm too but 3.10
I've tried by bluntly downloading shamu's kernel source, placing mako_defconfig in arch/arm/configs and updating the defconfig with make menuconfig.
As expected didn't work out, but i'm just a little modder cherry-picking stuff i'd like to have, so in reality i have no clue how to archieve that, or if it is even possible with some modifications.
I've also tried with the standard 3.18 Linux kernel too before, but got the same expected result.
Did someone actually tried this and got a bit further, is this something simply not posiible or too much work to get it going?

Building my own Kernel for Android 4.4.4 on my note 3 (The journey)

Hello XDA community,
After months of struggling im in desperate need of your help.
What is my goal?
To compile our own kernel so we can mess around with Qualcomm's trustzone.
Where did it all start?
It all started a few months ago back in November 2021 when me and a friend read a blog about a Trustzone exploit in Qualcomm's MSM8974 processor. (link to the blog)
Big noobs as we where, we where getting hyped an bought ourselves a Samsung Galaxy Note 3 with a MSM8974 processor. After messing around with the device we learned more and more about android and the workings of the software. We first started to root the phone and play around with ADB. After that we found that we can use Frida aswell. But all of it didn't lead to the result we wanted. So we started to dig deeper in to the write-up of the blog. We soon came to the conclusion that we where not even close to doing the right thing.
What happend next?
After we came to the conclusion that ADB and Frida is not enough we understood we need to build our own kernel for this exploit to work. So we do what we always do and that was start googling and watch YouTube. By doing that we found 2 different kernels:
Lineage 18.1
SM-N9005_EUR_LL_Opensource
We where over the moon because inside the folders we found the the files that need to be replaced for the exploit to work. So we replaced the files and try to compile the kernel by using this YouTube tutorial. Everything seemed to go well, we made the
Code:
make msm8974_sec_defconfig
and we run
Code:
make menuconfig
so far so good. the last and final step should be to run
Code:
make
to compile the kernel. And that is where it went wrong an ran in to a error.
Then what?
Then we started to compare the original files with the modified files and we found out that it wasn't just a few modifications in the code but the code was different. So we did what we always do, go back to the source. So back at the blog we thought maybe its because they modified a Nexus 5 at android 4.4.4.
Now what?
Now im trying to find the source of a android 4.4.4 kernel of msm8974 so we can compare those files to the modified files. So if anyone has useful info or knows where to find a kernel for android 4.4.4 for a Samsung Galaxy Note 3 (SM-N9005).
TLDR;
Im looking for a source of android 4.4.4. for a Samsung Galaxy Note 3 (SM-N9005) (hlte)
Well, unfortunately today almost no one uses android 4.4.4. even that have the exact same device, I am using Android 11 on my phone.
I recommend not wasting your time on a kernel for Android 4.4.4. And if you really want to make a kernel for this device I need one for Android 10 and above.
Also I think making a kernel for AOSPs like LineageOS or HavocOS or crDroid ETC is much easier.
A.M.2.K.M said:
Well, unfortunately today almost no one uses android 4.4.4. even that have the exact same device, I am using Android 11 on my phone.
I recommend not wasting your time on a kernel for Android 4.4.4. And if you really want to make a kernel for this device I need one for Android 10 and above.
Also I think making a kernel for AOSPs like LineageOS or HavocOS or crDroid ETC is much easier.
Click to expand...
Click to collapse
Thanks for your response I will look in to it. not sure if it will be easier because the files that needed to be changed are:
arch/arm/mach-msm/scm.c
arch/arm/mach-msm/include/mach/scm.h
drivers/misc/qseecom.c
SwAgLaNdeR said:
Thanks for your response I will look in to it. not sure if it will be easier because the files that needed to be changed are:
arch/arm/mach-msm/scm.c
arch/arm/mach-msm/include/mach/scm.h
drivers/misc/qseecom.c
Click to expand...
Click to collapse
Well, I don't know much about kernels.
I said it's easier because I thought it's a pure and raw operating system. But now according to your post it turns out it's not easier.
Plus almost no developers left for this now very old model .

Categories

Resources