How to Install a Custom ROM
This is the moment you've been preparing for. All that bootloader unlocking and recovery installing has led here.
I've flashed hundreds of ROMs over the years, and I'm going to walk you through exactly how I do it. Follow these steps, and you'll be running your new ROM in under 30 minutes.
Before We Start
Prerequisites Checklist
Make sure you've completed these:
- Bootloader is unlocked - If not, start here
- Custom recovery installed - TWRP guide
- Full backup made - Backup guide
- Battery above 50% - Seriously, don't flash on low battery
- All files downloaded - ROM, GApps, Magisk (if wanted)
Files You Need
š Download folder (on phone):
āāā ROM.zip (e.g., lineage-21.0-xxx-device.zip)
āāā GApps.zip (if ROM doesn't include Google apps)
āāā Magisk.zip (optional, for root)
Where to get these:
- ROM: Official ROM website or XDA
- GApps: NikGapps or MindTheGapps
- Magisk: GitHub Releases
Step 1: Transfer Files to Phone
If files aren't already on your phone:
# Via ADB
adb push lineage-21.0-xxx.zip /sdcard/Download/
adb push NikGapps-xxx.zip /sdcard/Download/
Or just copy via USB file transfer before booting to recovery.
Pro tip: Keep files in a simple path with no spaces. /sdcard/Download/ is perfect.
Step 2: Boot into Recovery
Option A: Via ADB
adb reboot recovery
Option B: Button Combo
Power off completely, then:
| Brand | Combo |
|---|---|
| Most Android | Power + Volume Up |
| Samsung | Power + Volume Up + Bixby |
| Xiaomi | Power + Volume Up |
| OnePlus | Power + Volume Down ā Select Recovery |
Step 3: Backup in Recovery (Recommended)
If you haven't already, backup now:
TWRP Main Screen ā Backup
Select:
- Boot ā
- System ā
- Vendor ā
- Data (optional, takes time)
Swipe to backup
This is your safety net if anything goes wrong.
Step 4: Wipe for Clean Install
This is critical. Most ROM installation issues come from not wiping properly.
Standard Wipe
TWRP ā Wipe ā Advanced Wipe
Select:
- Dalvik / ART Cache ā
- System ā
- Data ā
- Cache ā
ā ļø DO NOT SELECT "Internal Storage" - you'll lose your downloaded files!
Swipe to wipe
When to Format Data Instead
If you're:
- Coming from a different ROM base (e.g., MIUI to AOSP)
- Having encryption issues
- Doing a completely fresh start
TWRP ā Wipe ā Format Data
Type "yes"
Confirm
Warning: Format Data also wipes internal storage. Make sure files are backed up elsewhere.
Step 5: Flash the ROM
Here's the exciting part:
TWRP ā Install
Navigate to your ROM zip
Tap to select
Swipe to confirm flash
Wait for it...
You'll see installation progress. This takes 1-5 minutes depending on ROM size.
Look for: "Successful" at the end.
Don't Reboot Yet!
If you have more files to flash, stay in recovery.
Step 6: Flash GApps (If Needed)
Many ROMs don't include Google apps. If yours doesn't (check ROM description), flash GApps now:
TWRP ā Install
Select GApps zip
Swipe to flash
Wait for success
Critical: Always flash GApps before first boot! Adding them later often causes issues.
Step 7: Flash Magisk (Optional - For Root)
Want root access?
TWRP ā Install
Select Magisk zip
Swipe to flash
Wait for success
Step 8: Clear Cache and Reboot
Almost done:
TWRP ā Wipe ā Wipe Cache/Dalvik
Swipe to wipe
Then:
TWRP ā Reboot ā System
Step 9: First Boot
The first boot takes longer than normal. Don't panic!
- Expect 5-10 minutes
- Screen might show boot animation for a while
- Android is optimizing apps in the background
If you're still on boot animation after 15-20 minutes, something went wrong. See troubleshooting below.
Step 10: Initial Setup
Once you're in:
1. Select language
2. Connect to WiFi
3. Sign into Google (if you have GApps)
4. Restore apps from backup (optional)
5. Configure settings
6. Enjoy your new ROM! š
Troubleshooting
Bootloop (Stuck on Boot Animation)
Causes:
- Wrong ROM for your device
- GApps incompatibility
- Incomplete wipe
Fix:
1. Boot back to recovery
2. Wipe Data again
3. Reflash ROM + GApps
4. If still failing, try different GApps package
5. Last resort: try different ROM
No WiFi or Mobile Data
Cause: Firmware/vendor mismatch
Fix:
1. Check ROM's XDA thread for firmware requirements
2. Flash matching firmware before ROM
3. Reflash ROM after firmware
"No OS Installed" Error
Cause: ROM flash failed
Fix:
1. Wipe System, Cache, Dalvik
2. Reflash ROM
3. Verify ROM is for your exact device variant
Google Apps Force Closing
Cause: Incompatible GApps package
Fix:
1. Use different GApps variant (try Core or Basic)
2. Make sure GApps matches your Android version
3. Clean flash ROM + GApps
Encryption Issues
Cause: Different encryption format from previous ROM
Fix:
TWRP ā Wipe ā Format Data ā type "yes"
This decrypts and wipes data completely
Then flash ROM fresh
Clean Flash vs Dirty Flash
Clean Flash (what we just did):
- Wipes System and Data
- Required when switching ROMs
- Required for major updates
Dirty Flash (preserves data):
- Wipes only System
- Works for minor updates within same ROM
- Keeps all your apps and settings
Learn more about dirty flashing
Post-Installation Tips
First Things to Do
- Check everything works: WiFi, Bluetooth, camera, GPS, calls
- Update apps through Play Store
- Set up backup solution for the future
- Join ROM's community (Telegram/Discord) for support
If Something Doesn't Work
- Check ROM's XDA thread for known issues
- Ask in ROM's Telegram group
- Try searching "[ROM name] [issue]" on Google
- Flash a known fix if available
Summary
Installation Flowchart:
Transfer files to phone
ā
Boot to TWRP recovery
ā
Backup (if not done)
ā
Wipe: Dalvik, System, Data, Cache
ā
Flash ROM ā Flash GApps ā Flash Magisk
ā
Wipe Cache/Dalvik
ā
Reboot ā Wait for first boot
ā
Setup and enjoy!
You've done it! Welcome to the custom ROM world. Every phone feels new again with a fresh ROM.
If you need help, check our troubleshooting guide or join the community. Happy flashing!
Keywords: install custom rom, flash custom rom, twrp flash rom, android rom installation, how to flash rom