• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Creating custom ROM

philm001

Lurker
Hello all,

I wasn't sure where to place this since this is a more general question. I figured this section was the most general spot.

I recently got an old Ascend Mate 7 from a friend that I can do what ever with. I figured, I would try to build Android from source and then flash it to the device.

I have already downloaded the source code. I am about to build the source for the Ascend Mate 7. Then, I am found out that I might need to know the Device tree?

There seems to be some conflicting information. Using google's guide, all I need to know is the code name for the device and there we go. We can compile the source!

On the other hand, other guides state that I need to download the device identity such as the tree, vendor, and kernel and include this in the source.

So which is it? Should I just follow Google's guide or do I really need to know the device identity? If the latter, How do I search for the device tree, vendor, and kernel? More importantly, what are these and how do they work in relation to the Android source?

Also, I believe I will need manufacturer drivers for my phone to operate the peripherals. How do I download this? This might be a stretch but can't I get those files from the Mate 7?
 
This https://www.xda-developers.com/rickys-rom-kitchen-reborn-with-many-added-features/ might be whay you want. you can extract the existing ROM from your device and, if I understand it, you can use the drivers and other device specific files and integrate them with a newer Android built from source. There's no guarantee that it will work as expected (or even boot.). And don't forget, you will need a custom recovery (TWRP) specific to your device, as you won't be able to flash a custom ROM otherwise.
 
This https://www.xda-developers.com/rickys-rom-kitchen-reborn-with-many-added-features/ might be whay you want. you can extract the existing ROM from your device and, if I understand it, you can use the drivers and other device specific files and integrate them with a newer Android built from source. There's no guarantee that it will work as expected (or even boot.). And don't forget, you will need a custom recovery (TWRP) specific to your device, as you won't be able to flash a custom ROM otherwise.

Great, thank you so much! I will take a look at it later.

@Dannydet

Is this a user on the forum? Would I be able to DM him? Thank you
 
Hello all,

I wasn't sure where to place this since this is a more general question. I figured this section was the most general spot.

I recently got an old Ascend Mate 7 from a friend that I can do what ever with. I figured, I would try to build Android from source and then flash it to the device.

I have already downloaded the source code. I am about to build the source for the Ascend Mate 7. Then, I am found out that I might need to know the Device tree?

There seems to be some conflicting information. Using google's guide, all I need to know is the code name for the device and there we go. We can compile the source!

On the other hand, other guides state that I need to download the device identity such as the tree, vendor, and kernel and include this in the source.

So which is it? Should I just follow Google's guide or do I really need to know the device identity? If the latter, How do I search for the device tree, vendor, and kernel? More importantly, what are these and how do they work in relation to the Android source?

Also, I believe I will need manufacturer drivers for my phone to operate the peripherals. How do I download this? This might be a stretch but can't I get those files from the Mate 7?
Its always best to carry a local mirror of your device tree. It is much faster to pull from a local branch then the net. Yes it is very important to know your device inside and out.

Dont forget to specify a branch or youll end up with 350G of the ENTIRE manifest history
mkdir -p /usr/local/aosp/mirror
cd /usr/local/aosp/mirror
repo init -u https://android.googlesource.com/mirror/manifest --mirror
repo sync

When the mirror is synced, you can create new clients from it. Note that it's important to specify an absolute path:

mkdir -p /usr/local/aosp/master
cd /usr/local/aosp/master
repo init -u /usr/local/aosp/mirror/platform/manifest.git
repo sync

Finally, to sync a client against the server, sync the mirror against the server, then the client against the mirror:

cd /usr/local/aosp/mirror
repo sync
cd /usr/local/aosp/master

https://github.com/mt7-dev/local_manifests.git

That is all your device needs on github as well, happy building :0)

Here is your kernel source :
 
Its always best to carry a local mirror of your device tree. It is much faster to pull from a local branch then the net. Yes it is very important to know your device inside and out.

Dont forget to specify a branch or youll end up with 350G of the ENTIRE manifest history
mkdir -p /usr/local/aosp/mirror
cd /usr/local/aosp/mirror
repo init -u https://android.googlesource.com/mirror/manifest --mirror
repo sync

When the mirror is synced, you can create new clients from it. Note that it's important to specify an absolute path:

mkdir -p /usr/local/aosp/master
cd /usr/local/aosp/master
repo init -u /usr/local/aosp/mirror/platform/manifest.git
repo sync

Finally, to sync a client against the server, sync the mirror against the server, then the client against the mirror:

cd /usr/local/aosp/mirror
repo sync
cd /usr/local/aosp/master

https://github.com/mt7-dev/local_manifests.git

That is all your device needs on github as well, happy building :0)

Here is your kernel source :

Hello Eric,

Thank you for your reply. This is my first time working with the Android source. I apologize if my questions seem noob-ish

1) What is the purpose for creating a mirror? I downloaded the source per Google's instructions. I wanted to download the latest version of the source so I didn't specify a branch.

2) What is the client in the context of your description?

3) The link for the local_manifests git that you posted, can I use the same file for builds higher then Android 6?

4) I think that you forgot to post the kernal source. But, if I am compiling Android directly, then is this really needed?
 
Hello Eric,

Thank you for your reply. This is my first time working with the Android source. I apologize if my questions seem noob-ish

1) What is the purpose for creating a mirror? I downloaded the source per Google's instructions. I wanted to download the latest version of the source so I didn't specify a branch.

2) What is the client in the context of your description?

3) The link for the local_manifests git that you posted, can I use the same file for builds higher then Android 6?

4) I think that you forgot to post the kernal source. But, if I am compiling Android directly, then is this really needed?

1. Mirror is for just in case the main link site goes down for whatever reason. You HAVE to specify the branch desired or you'll just get the root branch.. Nothing will really build with that.
2. I'm unsure about clients, I'm not aware of ever using them yet..
3. No. Each branch has its own manifest..
4. Yes, you need it but is usually downloaded via the "lineage.dependencies.mk" (makes roomservice.mk during 1st build attempt) or "roomservice.mk" or "local_manifest.mk" for that SPECIFIC device..
 
Back
Top Bottom