![]() |
Phân vùng và cấu trúc phân vùng của SKY VEGA |
Mỗi phân vùng có một giới hạn dung lượng nhất định và khi ta nạp các thành phần và các phân vùng này thường sẽ có quy tắc dũng như dung lượng phải nhỏ hơn dung lượng phân vùng đã định. Đối với máy Pantech Vega có 4 phân vùng đầu tiên là bắt buộc và các file ở đây được Quallcomm build để có thể chạy được chip Quallcomm đó là Modem > SBL1 > SBL2 > SBL3 . Máy sẽ lần lượt đọc các phân vùng này nếu một trong 3 phân vùng này bị lỗi sẽ ngay lập tức báo về QHS-USBLOAD mà chúng ta hay gọi là brick.
Qua hết 4 phân vùng trên máy sẽ boot đến Aboot ( bootloader - trong rom gốc của SKY VEGA đây là LK ) Phần này do nhà sản xuất quy định và là phần quy định hoạt động của máy khi bấm các phím cứng ( có thể vào recovery , boot khởi động, fastboot vv )
Sau phần bootloader này chúng ta sẽ có một thành phần nối đó là RPM trong quá trình boot khởi động nếu không vượt kha phần này các bạn có thể thấy thiết bị có thể bị đứng ở chữ VEGA đầu tiên ( Đó là chữ VEGA nàm trong Bootloader hoặc trả về dạng fastboot - Có những trường hợp do sai kenrel cũng sẽ dẫn đến tình trạng QHS-USBLOAD).
Tiếp tục quá trình boot khởi động máy bắt đầu truy xuất các phân vùng đã định từ bootloader : Có thể bắt đầu từ system nếu bạn chọn bấm mình phím nguồn hoặc tổ hợp phím để vào phân vùng recovery. Bắt đầu từ phân vùng của boot.img đã bắt đầu qua tới ngưỡng của tầng app cao cấp trên hệ thống và đây bắt đầu đi vào Android.
Lý do nào khiến thiết bị brick: Có thể nói là có 2 lý do chính :
- Một là do máy bị mất partition table và các thành phần quan trọng mình đã nêu ở trên ( Partition table là danh sách các partition nếu ta gọi đơn giản là vậy. Đây gần như là một dạng khai báo và thứ tự để máy có thể boot các phân vùng này )
- Lỗi thứ 2 có thể là do tầng kernel và lib.so gây nên . Đây là các tầng cao nhưng lại là tầng gây nhiều lỗi nhất do việc chúng ta thường tác động tới các tầng cao này còn tầng thấp do chúng ta chưa có đủ các thiết bị cần thiết để can thiệp.
- Lỗi thứ 2 có thể là do tầng kernel và lib.so gây nên . Đây là các tầng cao nhưng lại là tầng gây nhiều lỗi nhất do việc chúng ta thường tác động tới các tầng cao này còn tầng thấp do chúng ta chưa có đủ các thiết bị cần thiết để can thiệp.
Nếu chỉ up nhầm kernel máy khác vào máy chưa hẳn đã brick vì có thể trong kernel đó đã tích hợp một phần hoặc các yêu cầu quan trọng có sự tương thích với thiết bị vì các kernel đều được xây dựng từ linux và may mắn nếu phần liên kết với driver ( các lib.so ) lại phù hợp với điện thoại của mình. Tuy nhiên phần "Nếu" kia chỉ có 5% mà thôi còn không chắc chắn sẽ rất dễ die máy.
Phần tiếp theo đó là các lib hệ thống, các lib này được nhà sản xuất build nó tích hợp và có thể gọi là các driver cho hệ thống vậy, nó là phần cầu nối điều khiển từ người dùng > Màn hình > kernel > Phần cứng xử lý chẳng hạn ( Các phần lib hệ thống này có nhiều tại vendor ) nếu lỗi các lib này giống như việc chúng ta mất liên kết với hệ thống vậy có thể dẫn đến QHS-USBLOAD.
Một vài lý do hiếm gặp nữa có thể khiến bạn giật mình đó là lỗi partition table. Không phải nhất thiết do một tác nhân nào đích thực gây nên mà có thể là do chúng ta dùng recovery và xóa nhầm đi một phân vùng nào đó mà hệ thống cần và không thể khôi phục thì đó là điều tệ hại. ( SKY IM-A810 ) là một ví dụ. Đối với trường hợp như thế này mình khuyên các bạn nên tập trung vào tìm hiểu cách gây ra lỗi và khắc phục không nên dùng cách thông thường mò mẫm thử làm vv sẽ tốn công thôi.
Hi vọng bài viết này có thể giúp các bạn hiểu hơn về hệ thống và các bạn làm về chuyên sâu có thể có một vài cách để thử rom, tự biết cách bảo vệ mình.