29
1 Android ROMs Bob Igo, Digital Arc Systems [email protected] Slides will be made available at http://bob.igo.name

Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

1

Android ROMs

Bob Igo, Digital Arc [email protected] will be made available at http://bob.igo.name

Page 2: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

2

What is (a) ROM?

● Your device's ROM (Read Only Memory) stores your device's OS.

● A ROM file can be installed (flashed) to your device's ROM, giving you a different OS.

● In context, ROM refers to the ROM file or the OS that it provides.

Page 3: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

3

ROMs Are Read Only?

● ROMs are usually read only.● An Android ROM chip is

NAND flash memory pretending to be a ROM.

● Special device mode and actions required to write to them (aka flash them).

● Could think of this like a CD-RW

Page 4: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

4

Questions?

Page 5: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

5

Why Install Another ROM?

● Things to lose:– vendor EOL– bloatware– skins (inefficiency layers)– stock app replacements

Page 6: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

6

Why Install Another ROM?

● Things to gain:– stock features

● free wifi hotspot

– custom features● deny permissions● toggle switches in pulldown● landscape home screen

– early upgrades– root

Page 7: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

7

Why NOT Install Another ROM?

● You could potentially render your device inoperable (aka brick it)– this is usually a recoverable

condition– not to be undertaken the

weekend you're on call● The new ROM might be

buggy

Page 8: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

8

Why root?

● Android is Linux● Linux root user has power

– overclocking– backups– firewall– ad blocker– bloatware removal

Page 9: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

9

One Possible Snag

● The bootloader– like a BIOS

● Your device's bootloader is shipped locked– like a fascist BIOS– “protects“ your phone from

unsigned code– greatly limits your options

unless unlocked

Page 10: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

10

Questions?

Page 11: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

11

Prep: Root your current ROM

● Very device-specific process● Try to find:

– a set of exact steps and commands

– a YouTube video of someone performing all the major steps

● You may need to use adb– Android Debug Bridge

– part of the Android SDK

– For ROMs, often used to● copy patches or images to the device● unlock devices

Page 12: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

12

Prep: Recovery and Backups

● install ClockworkMod ROM Manager– flash ClockworkMod recovery

● recovery is a powerful pre-boot menu

– perform a NANDroid backup● vaguely like a disk image

Page 13: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

13

Prep: Recovery and Backups

● Install Titanium Backup, SMS Backup and Restore, Call Logs Backup, and do backups.

● If your launcher has a backup feature, use it.

● Consider syncing contacts to Google.

● If paranoid, copy your backups outside the device.

Page 14: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

14

Why Back Up?

● Flashing usually “formats“ everything but /sdcard– all backups are saved to /sdcard

● NANDroid– You may want to return to the

backed-up state.

– Restoring a NANDroid backup gives you everything the flashing process took away or changed.

● It's like an UNDO button.

● Titanium Backup– After flashing, you can restore

individual applications and settings from your backup.

Page 15: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

15

What's in the Backups?

● NANDroid (via ClockworkMod)– ./clockworkmod/backup/NAM

E/● boot.img● recovery.img● cache● /data tarfile● /system tarfile

● Appextractor lets you access individual files

Page 16: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

16

What's in the Backups?

● Titanium Backup– ./TitaniumBackup/

● per app:– gzipped APKs– .tar.gz data

Page 17: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

17

Questions?

Page 18: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

18

Prep: Unlock the Bootloader

● Very device-specific process– method used may require

factory reset● but you have backups, right?

Page 19: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

19

Prep: Misc

● If unlocking required you to factory reset, you'll need to get ROM Manager back.– from store– from backup

Page 20: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

20

Installing a ROM: Choose One

● Download ROM in ROM Manager(*)

● No one-size-fits-all way to pick your ROM, but I've used– stock rooted ROMs by Peter

Alfonso– CyanogenMOD

● requires separate Google Apps (gapps) download

* Free version may not support this.

Page 21: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

21

Installing a ROM: Erase Stuff

● data and cache– your applications, settings, data

● dalvik cache– dalvik is the Java Virtual Machine

(JVM) for Android● runs all your APKs

– the cache speeds up program execution

● it can get confused if you swap ROMs

Page 22: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

22

Do I have to do that?

● Usually● In same “family“ of ROMs,

not always needed● You can try not doing it

– but assume glitches and errors are your fault.

● This is why you have backups.

Page 23: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

23

Questions?

Page 24: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

24

Installing a ROM: Wait and Watch

● After you click OK in ROM Manager, Android reboots into recovery and installs your ROM.

Page 25: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

25

Installing a ROM: Booting the New ROM

● Boots like before, but with a different animation.

● Post-boot, your device has amnesia.– log into your Google account

Page 26: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

26

Restoring Your Data

● All the apps you got from the store will automatically re-download– including your backup apps

● Launch each backup app and restore data as desired.

● Timing and ordering are important.

Page 27: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

27

Questions?

Page 28: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

28

HELP! I BROKE IT!

● You probably didn't break anything permanently.

● 90% of the time, restoring the NANDroid backup gets you unstuck.

● Other 10% of the time, the place where you found the instructions can help.

Page 29: Android ROMs - bob.igo.name file5 Why Install Another ROM? Things to lose: – vendor EOL – bloatware – skins (inefficiency layers) – stock app replacements

29

References

● XDA forum– forum.xda-developers.com

● CyanogenMod– www.cyanogenmod.com

● Peter Alfonso– www.peteralfonso.com

● Android SDK– developer.android.com/sdk/ind

ex.html