Theo phân tích thị trường, Samsung Galaxy A51 là một trong những điện thoại Android tầm trung bán chạy nhất Quý 1/2020. Trang bị màn hình 6.5" AMOLED, chip Exynos 9611 (10nm) với GPU Mali-G72 MP3, và các phiên bản RAM 4GB/6GB/8GB.
A51 không nhận được nhiều sự quan tâm từ cộng đồng mod, vì Galaxy A71 chỉ đắt chút xíu nhưng cấu hình tốt hơn nhiều. Hiện chưa có TWRP cho A51, chính thức hay không chính thức. Vẫn có cách mở khóa và root Galaxy A51, nhưng rất phức tạp và đòi hỏi kiên nhẫn lớn.
Cần cả Windows và Linux, nhưng dùng bootable Linux USB như Kali Live cũng được. Vì cần tạo file firmware.img mới bằng terminal Linux trong hướng dẫn này. Hoặc dùng Linux Bash System cho Windows.
Chỉ khuyên làm theo cho người rành Linux, hoặc có nhiều thời gian và kiên nhẫn và thực sự muốn root Galaxy A51.
Yêu cầu:
- PC Windows và bootable Linux OS, hoặc Windows với Linux Bash System
- Frija hoặc SamFirm để tải firmware chính thức Galaxy A51
- GSI Android 10 A/B Gapps arm64v8
- LZ4 Extractor
- Simg2img
- LPunpack Tool
- Odin
- 7zip
- Permissive kernel
Mở khóa bootloader Galaxy A51
- Vào Cài đặt > Giới thiệu điện thoại > nhấn 7 lần Số bản dựng để mở khóa Chế độ nhà phát triển.

- Vào Tùy chọn nhà phát triển > bật Mở khóa OEM.
- Tắt Galaxy A51, giữ cả hai nút âm lượng khi kết nối điện thoại với PC qua USB.
- Điện thoại sẽ boot vào Download Mode. Giữ Tăng âm lượng để mở khóa bootloader.
Galaxy A51 sẽ reset gốc và reboot vào trình hướng dẫn thiết lập Android.
Chuẩn bị file .img trong Windows
- Tải firmware Samsung chính thức cho mẫu Galaxy A51 chính xác và biến thể khu vực.
- Giải nén file AP_file.tar.md5 từ firmware.zip.
- Dùng 7zip giải nén file super.img.lz4 từ AP_file.tar.md5.
- Đặt file super.img.lz4 vào thư mục LZ4, mở CMD, gõ:
lz4.exe -d super.img.lz4 superLZ4.img
- Đặt file superLZ4.img vào thư mục Simg2img, gõ trong CMD:
simg2img.exe -i superLZ4.img -o superSIMG.img
Tạo file .img có thể flash trong Linux
Chúng tôi đã cảnh báo hướng dẫn này cần terminal Linux (hoặc Linux Bash cho Windows). Hãy đun nồi cà phê.
Lấy file superSIMG.img từ phân vùng Windows, đặt vào thư mục otatools/bin.
Giải nén file .img bằng terminal Linux với lệnh:
./lpunpack --slot=0 superSIMG.img <thư mục đích>
Đặt file GSI Android 10 A/B Gapps arm64v8 vào cùng thư mục Linux nơi vừa giải nén superSIMG.img, đổi tên file GSI thành system.img. Thư mục nên chứa: odm.img, system.img, vendor.img, product.img.
Bây giờ bước cực kỳ quan trọng và nhạy cảm: kết hợp tất cả file đó thành một file super.img duy nhất. Hãy đọc kỹ phần này trước khi tiếp tục.
Trong lệnh Linux sau, có một số con số rất quan trọng cần thay đổi. Chúng chỉ kích thước (byte) của 3 file .img giải nén (odm, vendor, product), cộng với system.img bạn tải/đổi tên. Bạn phải cập nhật mã với kích thước thực tế tính bằng byte của các file.
- system:readonly:1577095168:main (kích thước system.img không sparse tính bằng byte)
- vendor:readonly:342155264:main (kích thước vendor.img tính bằng byte)
- odm:readonly:643456:main (kích thước odm.img tính bằng byte)
- group main:4293513600 (kích thước partition main 1577095168+342155264+643456=2776752512)
- Kích thước group main là tổng 4 file .img, hãy tính toán cho đúng!
Đây là lệnh Linux cần dùng, sau khi điều chỉnh:
./lpmake --metadata-size 65536 --super-name super --metadata-slots 2 --device super:4294967296 --group main:4293513600 --partition system:readonly:1577095168:main --image system=./system.img --partition vendor:readonly:342155264:main --image vendor=./vendor.img --partition odm:readonly:643456:main --image odm=./odm.img --sparse --output ./super.img
Lệnh này sẽ tạo file mới tên super.img, đặt file này vào phân vùng Windows.
Flash super.img trong Windows
- Dùng 7zip tạo file .tar, đặt super.img vừa tạo trong Linux vào đó.
- Mở Odin, bỏ chọn Auto Reboot, thêm file .tar vào tab AP.
- Boot Galaxy A51 vào Download Mode, nhấn Start trong Odin.
- Sau khi flash file .tar xong, KHÔNG reboot Galaxy A51. Đặt file (NoForcedEnforce).tar vào tab AP và flash nó nữa.
- Reboot Galaxy A51 vào recovery gốc, thực hiện factory reset.
Sau khi về hệ thống Android, cài ứng dụng terminal emulator, chạy lệnh:
su setenforce 0 getenforce (nên hiển thị Permissive)