Mik-el Tech

Web & Computer

How to port an Android ROM to a Snapdragon Device

2023-07-28 16:51:09

This guide will teach you how to port an Android ROM to your device with Snapdragon (Qualcomm) CPU

Hi, I' m Mik-el,

this easy guide will help you to port an Android Rom from an Android device to another one.

The guide is very quick cause we will focus on fixing bugs only after having made a booting Ported ROM first. 😃  


Requirements:





  • We' re assuming your device already has a recent custom recovery (TWRP) that will allow you to flash recent Android ROMs. In case your device there's no TWRP recovery, or there are old TWRP recoveries that won't be able to flash recent Android ROMs, you'll have to port a new TWRP revovery too. (I can make a guide for that too, if you need).
  • Find a device with the same Exact same Snapdragon CPU of your Device. The more Hardware components they'll have in common, the more you'll get a booting ROM. Use this website to find the device that is the most similar to your device.
  • Download a BASE ROM = a ROM of your Snapdragon device.
  • Download a PORT ROM = ROM you want to port from another Snapdragon device.
  • You'll need Any software that can extract .zip files (like 7Zip etc)
  • You'll need Any sofware to unpack the boot.img file. We'll call them BASE boot.img and PORT boot.img (you can use this kitchen)



The 10 Steps to Port the ROM:





  1. Make a new "Base Rom" folder. Using 7Zip, Extract the content of your Base Rom .zip file in it. (you'll get lots of file and a boot.img file containing the kernel).
  2. Make a new "Port Rom" folder. Using 7Zip, Extract the content of your Port Rom .zip file in it. (again, you'll get  of file and a boot.img file containing the kernel).
  3. Use the kitchen to Extract the content of the boot.img file of the Base Rom. (kitchen's input and output folders are "boot-resources" and "ouptut" folder, respectively).
  4. Just for keeping things tidy, move the input/output files to another folder outside the kitchen, (you could name it "Extracted boot.img base" folder) cause now you'll have to use the kitchen again, but with the PORT ROM this time
  5. Use the kitchen to extract the content of the boot.img file of the Base Rom. (same as before, so then move the files to an external folder "Extracted boot.img port " folder).
  6. Now the Actual Porting process! Go to the "Extracted boot.img port " folder, copy these 2 files ("boot.img-zImage" and "boot.img-dtb" ) and past/replace them into to the "Extracted boot.img port " folder.
  7. Use the kitchen the repack the "Extracted boot.img base" folder folder into a new BASE boot.img file.
  8. Copy the new BASE boot.img file in the BASE ROM folder (replacing the old BASE boot.img file).
  9. Use 7Zip to repack the  "Base Rom" folder into a new BASE ROM  .zip file
  10. You just ported your ROM! Now you can flash it from TWRP 


It was extremely Easy! Is it already over?

Very probably it's not over yet! 😃

At this point you should have a ported ROM that can boot, but you'll proably face many bugs.

How to solve them?

I'll show it in the next guide!

Let me know if this guide worked for you and if there's something to update.  

Meanwhile you can join our Retro Android Group where we talk about old Android versions, portings and so on! 😀

Cheers!