[Cơ bản] Hướng dẫn tổng quát về flash ROM Android, cách cài Recovery, nguồn kiếm ROM

Anh em Tinh tế lâu năm có lẽ đã không còn xa lạ với vụ up ROM, nhưng nhiều anh em mới hay những anh em mới đào tẩu từ iOS sang Android thì vẫn còn khá lạ lẫm với khái niệm này trong khi thật sự nó không quá khó để có thể tự nghịch. Vậy nên topic mình sẽ tổng hợp một cách khái quát nhất về ROM cook, cách up ROM cook và custom recovery vào điện thoại Android, cũng như các nơi có thể tìm kiếm ROM ngon cho anh em download. Ngoài ra, mời anh em đã chơi Android lâu năm đóng góp thêm ý kiến, thủ thuật, thông tin, ghi chú... nói chung là bất kì thứ gì mà anh em thấy hữu ích cho những người mới tiếp cận với ROM cook bằng cách comment ngay trong topic này luôn.


Thông tin ngắn gọn về các thuật ngữ sẽ xài trong bài viết
  • ROM: là một bản hệ điều hành, ở đây là một bản Android, có thể cài lên máy anh em để chạy
  • ROM stock: bản hệ điều hành do chính nhà sản xuất xây dựng, thường được cài sẵn trên máy, cũng có phân phối online để khi cần có thể xài
  • ROM cook: là bản hệ điều hành do các bạn lập trình viên trên mạng làm ra, không phải do nhà sản xuất thiết bị làm. ROM cook có thể được làm lại dựa trên ROM stock
  • Recovery: là một chế độ hoạt động đặc biệt cho phép khôi phục lại máy. Recovery có trên mọi thiết bị Android
  • Custom Recovery: vẫn là chế độ recovery nói trên nhưng được tùy biến lại để có thể thao tác cảm ứng (không cần dùng nút cứng), backup, restore ROM, up ROM mới, up các bản mod... Chúng ta sẽ dùng cái này là chủ yếu trong quá trình up ROM.
  • Root: cho phép can thiệp ở quyền cao nhất vào hệ thống của Android, chúng ta sẽ không nói nhiều về root tromg topic này, mà thực ra các ROM cook thường đã root sẵn rồi nên cũng không lo.
  • Up / Flash: là hành động cài ROM hoặc các bản mod vào máy, gọi từ nào cũng được. Dân Android hay dùng từ flash
Trước khi bắt đầu up ROM, luôn làm những chuyện sau
  1. Backup máy của bạn, lỡ có bị gì thì không mất dữ liệu. Tham khảo topic này: [Cẩm nang] Các cách backup điện thoại Android, từ cơ bản đến nâng cao
  2. Sạc pin máy ít nhất 50%, vì lỡ đang flash ROM mà máy hết pin là chết, nhiều vấn đề có thể xảy ra, kể cả việc máy có thể biến thành cục gạch
  3. [Chỉ làm 1 lần đầu] Unlock bootloader: bootloader là một phần dùng để boot máy, thường nó bị khóa lại nhưng may là các nhà sản xuất có hỗ trợ mở khóa. Cách làm khác nhau với từng hãng, bạn có thể tham khảo vài link bên dưới:
  4. [Chỉ làm 1 lần đầu] Bật chế độ USB Debugging: vào Settings > About phone > chạm vào dòng Build Number 7 lần. Bấm nút back để trở ra Settings, tìm mục Developer Options > bật USB Debugging
Bước 1: cài Custom Recovery (chỉ làm 1 lần đầu)

Đây là cách phổ biến nhất hiện nay để flash ROM trên điện thoại Android. Với giao diện cảm ứng, bạn có thể nhanh chóng chọn file ROM rồi flash mà không cần phải gõ dòng lệnh hay gì đó phức tạp. Bạn thậm chí còn có thể xài Android để download file ROM về máy, sau đó chạy recovery lên để flash luôn mà chẳng cần tới máy tính nữa.

Có hai bản custom recovery thường được người dùng Android ưa thích và chọn lựa: ClockWork Mod (CWM) và Team Win Recovery Project (TWRP). Theo quan sát của mình thì dạo này TWRP có vẻ nổi hơn và hỗ trợ nhanh hơn cho những thiết bị mới. Mình cũng xài TWRP trng phần lớn những lần flash ROM khoảng 2 năm trở lại đây. Vậy nên trong topic này mình sẽ hướng dẫn anh em cài TWRP nhé.

Ghi chú thêm: mình chưa có dịp nghịch máy Samsung nhiều, rất cần anh em chia sẻ cách flash Recovery cho thiết bị Samsung bằng Odin, sau đó mình sẽ update vào topic này. Hướng dẫn tiếng Anh cho máy Samsung có thể xem ở đây. Cách bên dưới mình đã thử với HTC, LG, Nexus, Motorola thì đều ngon lành, riêng Samsung thì hơi đặc biệt một chút.

Hướng dẫn cho Windows
  1. Tải bộ driver, ADB và Fastboot ở đây. Nhớ tải về bản mới nhất của "Minimal ADB and Fastboot"
  2. Sau khi cài xong, trong Start Menu sẽ thấy phần mềm tên là Minimal ADB and Fastboot, chạy nó lên
  3. Một cửa sổ Command Prompt sẽ xuất hiện để bạn bắt đầu nhập lệnh
  4. Tải TWRP bản mới nhất tương thích với máy của bạn, download ở đây, có thể dùng ô search để tìm theo tên thiết bị di động. Sau khi download xong sẽ có một file *.img.
  5. Kết nối điện thoại của bạn với máy tính bằng cáp USB
Lần lượt nhập các lệnh sau:
Code:
adb devices
adb reboot fastboot
fastboot flash recovery <đường dẫn đến file *.img bạn đã tải về>
Đợi một lát cho fastboot chạy xong
fastboot reboot
Đến lúc này, thiết bị của bạn sẽ khởi động trở lại. Việc tiếp theo bạn cần làm là khởi động lại máy vào chế độ recovery bằng cách tắt hẳn máy đi, sau đó nhấn giữ nút nguồn + volume down (một số máy có thể là nguồn + volume up hoặc nguồn + volume up + volume down). Bạn sẽ tiến vào giao diện của TWRP.

Hướng dẫn cho Mac
  1. Tải file zip này về Desktop, giải nén ra
  2. Bật Terminal, gõ lệnh sau: cd Desktop
  3. Gõ tiếp lệnh ./ADB-Install-Mac.sh để cài đặt
  4. Xong, vậy là bạn đã có ADB và Fastboot, giờ là lúc cài recovery.
  5. Tải TWRP bản mới nhất tương thích với máy của bạn, download ở đây, có thể dùng ô search để tìm theo tên thiết bị di động. Sau khi download xong sẽ có một file *.img.
  6. Kết nối điện thoại của bạn với máy tính bằng cáp USB
Lần lượt nhập các lệnh sau:
Code:
./adb devices
./adb reboot fastboot
./fastboot flash recovery <đường dẫn đến file *.img bạn đã tải về>
Đợi một lát cho fastboot chạy xong
./fastboot reboot
Đến lúc này, thiết bị của bạn sẽ khởi động trở lại. Việc tiếp theo bạn cần làm là khởi động lại máy vào chế độ recovery bằng cách tắt hẳn máy đi, sau đó nhấn giữ nút nguồn + volume down (một số máy có thể là nguồn + volume up hoặc nguồn + volume up + volume down). Bạn sẽ tiến vào giao diện của TWRP. Nếu bạn dùng Android 5.0 trở lên, TWRP có thể sẽ hỏi password khóa máy của bạn để nó có quyền truy cập xuống phân vùng mã hóa.

Đang tải Flash_ROM_bang_Recovery.jpg…

Nếu gặp vấn đề trong quá trình cài recovery, anh em hãy xem topic này [Cơ bản] TWRP custom recovery cho Android: flash ROM, backup nguyên máy, chép file, sửa lỗi..., còn không thì search trên Tinh tế hoặc Google về vấn đề của mình.

Đảm bảo rành anh em đã có thể chạy vào recovery, cũng như vào được Android như bình thường là đã thành công.

Bước 2: Download file ROM

File ROM thường ở dạng *.zip, và khi download về thì bạn sẽ để nguyên file zip này rồi chép vào điện thoại chứ không giải nén nó ra. Không chỉ ROM mà các bản mod, các bộ cài app đặc biệt cũng có thể được đóng gói thành dạng *.zip sẵn cho bạn.

File ROM có thể tải về ở đâu?
  • Tìm trên Tinh tế: nhiều anh em tốt bụng chia sẻ rất nhiều link download file ROM ngon, đẹp cho nhiều dòng máy khác nhau, anh em có thể tìm kiếm
  • Tìm trên XDAXDA là diễn đàn chuyên về vụ up ROM, custom ROM cho Android. Anh em có thể lên đó, tìm subforum dành cho thiết bị của mình rồi lục lọi tìm bản ROM mà anh em mong muốn.
  • CyanogenMod: CM là nhóm làm ROM cho Android từ rất lâu, hỗ trợ nhiều dòng máy, nhiều nhà sản xuất. Bản ROM của họ thường nhắm vào sự đơn giản và gần với Android gốc nhất có thể. Vào link này để tìm thiết bị và bản ROM cho máy.
  • Google Apps: nhiều ROM cook không đi kèm theo các ứng dụng Google như Play Store, Google Services, Gmail, Google Maps... vì lý do bản quyền. Bạn sẽ cần tải về và flash riêng chúng. Có thể download ở đây http://opengapps.org.
  • Google: cái này chắc là không cần nói thêm rồi nhỉ
Bước 3: flash ROM

Sau khi đã có file ROM trong tay, bạn chép nó vào điện thoại của mình. Nên chép vào bộ nhớ trong, tốc độ đọc sẽ nhanh hơn so với thẻ nhớ.

Giờ là lúc bạn vào lại TWRP như hướng dẫn ở trên. Nhắc lại, bạn có thể vào TWRP bằng cách:
  1. Tắt máy đi, nhấn các tổ hợp phím nút nguồn + volume down (một số máy có thể là nguồn + volume up hoặc nguồn + volume up + volume down)
  2. Backup full cho máy hiện tại bằng cách chọn nút Backup > chọn hết mọi phân vùng > kéo thanh trượt để bắt đầu
  3. Quay trở lại màn hình chính của TWRP sau khi đã backup xong, lần này chọn "Wipe" để xóa hết dữ liệu trên máy
  4. Sau khi xóa xong, quay trở lại TWRP, lần này chọn "Install"
  5. Tím đến file zip ROM mà bạn đã chép vào khi nãy, chọn vào
  6. Vuốt tiếp thanh trượt để bắt đầu cài đặt
  7. Tùy ROM, nếu cần thì bạn làm tương tự bước 4-5 để flash file zip chứa Google Apps
  8. Flash xong xuôi hết rồi thì nhấn nút Reboot của TWRP để khởi động lại
Đang tải Huong_dan_su_dung_TWRP_Android_custom_recovery_2.jpg…

Một số lưu ý:
  • Lần đầu khởi động của ROM có thể sẽ lâu hoặc rất lâu, 5-10 phút là chuyện bình thường, bạn cứ để cho máy chạy và đừng nôn nóng đụng vào sẽ hỏng chuyện
  • Nếu thấy đã 30 phút mà ROM vẫn chưa chạy lên, hãy nhấn giữ nút nguồn để tắt máy, sau đó vào lại Recovery và flash lại. Đảm bảo rằng bạn đã Wipe dữ liệu trước khi flash. Lỗi treo logo thường xảy ra nhất vì lý do này.
  • Có thể vừa gắm sạc vừa flash ROM nếu pin máy của bạn không còn nhiều, đừng để máy tắt giữa đường
  • Những lần up ROM sau cũng làm y hệt như bước 3 này
  • Nếu up bản mới của ROM cũ, không cần wipe dữ liệu trừ khi bạn lập trình viên làm ROM yêu cầu
  • Nếu thay đổi sang ROM khác, bắt buộc wipe dữ liệu trước khi flash
Một cách khác dễ hơn nhưng cần root: flash ROM bằng app

Ứng dụng FlashFire do lập trình viên ChainFire làm ra, nó dành cho các máy đã root và có thể sao lưu tất cả mọi thứ trong thiết bị Android của bạn mà không phải đi vào custom recovery, không dòng lệnh, tất cả đều được thực hiện như cách mà chúng ta sử dụng một app rất bình thường. Chưa hết, FlashFire còn hỗ trợ flash các file ZIP và ROM ngay từ trong ứng dụng luôn, thậm chí còn hỗ trợ update Over The Air cho máy đã root nữa. Anh em có thể xem thêm trong topic [Android, root] FlashFire: giải pháp backup, flash ROM, flash OTA không cần recovery, còn video bên dưới mô tả ngắn gọn cách dùng FlashFire.



Tuy nhiên, theo kinh nghiệm của mình thì cách dùng FlashFire này không ổn định lắm, lúc được lúc không, ngay cả với một chiêc máy dễ tính như Nexus. Mình vẫn chuộng và vẫn khuyên anh em nên xài Custom Recovery để làm bất kì thứ gì liên quan tới ROM và flash file ZIP vì tính ổn định cao, làm là ăn, và không gây hại tới phần mềm của máy (trừ khi anh em flash bậy file ZIP nào đó không dành cho máy của anh em).

Chúc anh em thành công. Nhớ luôn backup dữ liệu trước khi nghịch ROM, và có vấn đề gì thì post lên đây để anh em cùng chia sẻ và giúp khác phục nhé.