Tuesday, September 9, 2014

Android - Terminology


1. ROM - FIRMWARE:
- Là phần mềm và là "hệ điều hành" trên máy điện thoại. Chính là chương trình chính để máy hoạt động mà không có nó thì máy chỉ là "cục gạch". Có người gọi là phần sụn hay sự mềm dẻo hóa phần cứng. Thực chất Firmware là phần mềm nhớ trong bộ nhớ chỉ đọc (ROM: Read Only Memory) chứa các thủ tục khởi động, lệnh vào/ra ở mức thấp. Nó mềm dẻo hóa phần cứng cho linh hoạt, dễ sửa đổi và thông quá đó làm điều khiển, tăng tốc phần cứng...

- Về khía cạnh thương mại, Firmware là một phần mềm miễn phí. Nhưng thực chất bạn đã trả phí khi bỏ tiền mua phần cứng. Firmware có thể do chính hãng sản xuất thiết bị phần cứng viết hoặc thuê hãng thứ ba viết để hỗ trợ khách hàng. Vì vậy, việc update firmware qua OTA là miễn phí.

Rom có các loại:
1.1 ROM SHIP: Là ROM được phát hành chính thức của nhà sản xuất (hãng).
1.2 ROM STOCK: Là ROM của nhà mạng, được tạo ra dựa trên cơ sở ROM SHIP.
1.3 ROM COOK, CUSTOM ROM: là ROM tự chế dựa trên ROM SHIP hoặc ROM STOCK. Custom rom được độ chế tuỳ vào nhu cầu của người dùng!

2. FLASH máy:
- Flash máy, hiểu ngắn gọn là xoá hệ điều hành đang có trên máy và chép đè vào một hệ điều hành cùng hãng có thể cùng hoặc khác version thông qua các Tool đặc thù cho mỗi hiệu máy.

3. BRICK:
- Là hiện tượng bị lỗi làm máy bạn sẽ thành “cục gạch” do lỗi trong qua trình up rom, file hệ thống android...!
- Để không bị brick, phải nhớ tuyệt đối không up nhầm rom của máy khác, khi đang up rom không làm mất nguồn hay rút cáp, và khi up Radio+SPL (Structed Query Language) phải đúng thứ tự, sai bước vẫn brick và up không đúng dòng máy vẫn brick.

4. UNLOCK CODE:
- Tất cả các loại ĐTDĐ được bán ra dưới dạng hợp đồng (ở nước ngoài) thì đều bị khoá lại với một mã số (CODE) nào đó gồm 8, 14, 15 hoặc 16 số để tránh việc bạn có được điện thoại với giá rẻ đem đi sử dụng dịch vụ mạng khác. Khi bạn đưa Simcard của nhà mạng khác vào thì máy sẽ đòi hỏi bạn nhập một dãy số để mở khoá mạng gọi là unlock code thì bạn mới có thể sử dụng được. Mở khoá dạng này thì chi phí cao hơn khi mở khoá trực tiếp bằng thiết bị chuyên dụng. Tuy nhiên một số máy đời mới do cơ chế bảo mật quá cao nên một số thiết bị chuyên dùng hiện nay chưa xử lý được, nhất là dãy 16 chữ số, vì vậy mở khoá mạng bằng unlock code là một trong những cách unlock đảm bảo an toàn nhất cho điện thoại của bạn, có thể Unlock được từ xa, chỉ cần dựa vào số IMEI của máy mà nơi cung cấp dịch vụ mở khoá (nhà mạng, nhà sản xuất thiết bị, hay các hacker...) sẽ cấp cho bạn một dãy số để bạn nhập vào máy khi gắn sim khác mạng vào.

5. ROOT máy (Hack ROOT):
+ Khi thiết kế hệ điều hành cho mỗi dòng máy, nhà sản xuất thường đặt hệ thống bảo vệ quyền can thiệp vào hệ điều hành để nhằm các mục đích:
- Bảo vệ đặc trưng của thương hiệu.
- Tránh rắc rối phát sinh từ người sử dụng (do không hiểu nên thay đổi, chép đè, xoá file hệ thống v.v...) làm máy không hoạt động được
- Bảo vệ quyền lợi kinh doanh từ các phần mềm ứng dụng được họ cho phép.
- v.v...

+ Vì vậy, Root máy (hack Root) là làm cho người sử dụng có quyền được tạo những thay đổi cho hệ thống files của system và từ đó có thể làm những việc mà nếu không có quyền này sẽ không được như hack multitouch, apps to SD, lấy apk của phần mềm trả tiền, update những firmware được cook riêng, bỏ / thêm phần mềm khác vào hệ thống, khả năng end tasks... và rất, rất nhiều thứ khác.

+ Lưu ý là khi bạn hack root sẽ mất quyền update OTA (Over The Air), được hiểu là cập nhật trực tuyến hệ thống từ nhà sản xuất qua wifi, qua các kết nối mạng khác.

6. HBOOT, BOOTLOADER:
- HBOOT là bộ nạp khởi động cho máy (Hiểu nôm na nó là Bootloader)
- Từ đây bạn có thể có các tùy chọn vào các chế độ nạp khởi động như Fastboot, Recovery.....)
- Lưu ý là với mỗi một version Firmware thì sẽ có một HBOOT khác nhau. Vì vậy nếu không tìm hiểu kỹ những bản Rom Ship mà đã up ngay thì nó sẽ nâng HBOOT của bạn lên và bạn không thể ROOT được nó => đồng nghĩa với việc bạn sẽ "Nằm im" với bản ROM đó mà không thể up một bản ROM nào khác (Phải đợi các DEV (develop: nhà phát triển) chế ra Tool ROOT phù hợp)

7. S-OFF:
- S-OFF đơn giản nó là SECURITY OFF ( Tắt Bảo vệ )
- Máy HTC mới bây giờ được cài 1 chip để chống uprom và update vào System nên chúng ta cần s-off để tắt chip đó đi => Mới có thể UP ROM và Update System (Kernel, Radio....)
- Nếu S-ON khi vào recovery sẽ thấy hình điện thoại với biểu tượng tam giác và chấm than đỏ (tuy nhiên, có một số tool làm cho máy vẫn có thể vào được recovery mà không hiển thị hình điện thoại với biểu tượng tam giác và chấm than đỏ, dù máy vẫn ở trạng thái S-ON)
- Với S-OFF sẽ có 2 khái niệm là ENG S-OFF và SHIP S-OFF

7.1 ENG S-OFF (engineering S-Off ):
- Nó có tác dụng là cài đặt một hboot img mới lên điện thoại của bạn, đặt Memory Card (Thẻ nhớ) vào bên trong S-OFF lúc khởi động => Nó có thể qua được bước Check Security => Bạn có thể up ROM Cook, cài các file Update.zip vào hệ thống....
- Nó không có tác dụng với việc bạn muốn update RADIO hoặc các ROM SHIP của các nhà mạng khác (ROM SHIP thì bao giờ cũng kèm RADIO)
- Khi bạn UP ROM SHIP (đúng phiên bản hỗ trợ cho máy của bạn) thì nó sẽ mất và trở lại là S-ON

7.2 SHIP S-OFF ( Radio S-Off)
- Với SHIP S-OFF (Radio S-Off) thì nó sẽ tắt hoàn toàn chế độ bảo mật (Security) của điện thoại (HTC) và điều này cũng đồng nghĩa với việc bạn có thể up các bản Rom, Radio (SHIP) của các nhà mạng khác nhau và các bản Rom Cook, update System vô tư.
- Trạng thái này có tính bền vững
+ Nó sẽ không bị mất đi khi bạn up ROM SHIP
+ Muốn trở lại S-ON thì bạn phải dùng Tool và phải nhớ CID (Carrier ID) xuất xứ máy của bạn.

8. CID (Carrier ID)
- Mã nhận dạng khu vực (Asia, Euro.....) hoặc nhà mạng cung cấp (Orange, T-Mobile....)
- Không nhớ mã này thì không thể trở lại tình trạng như máy xuất sưởng (S-ON và CID đúng như ban đầu) nếu như bạn đã dùng SHIP S-OFF (Radio S-OFF) đã nêu ở trên.

Những mục trong H BOOT (Bootloader)

Khi điện thoại android đã được thực hiện Root, Eng-S off và Recovery thì trong Menu HBoot (Bootloader) thường sẽ có những mục sau (tuỳ loại máy có hết hoặc chỉ có vài mục):

1. FAST BOOT : dùng để Update các file *.zip, *.img và UP ROM qua kết nối với PC

2. RECOVERY : Khi bạn vào mục này sẽ có các lựa chọn cho bạn Update các file *.zip (Kernel, Theme.....), Wipe / Factory Reset (Đưa máy về nguyên trạng xuất xưởng, tuy nhiên chỉ là đưa về bản rom gốc, radio, kernel bạn đang sử dụng chứ không phải đưa về bản Rom khi bạn mua máy)...

3. FACTORY RESET : Tác dụng như mục Wipe / Factory Reset trong RECOVERY (Nếu bạn đã cài RECOVERY thì khi chọn mục này nó sẽ vào RECOVERY đã nói ở trên).

4. SIMLOCK : Chưa đụng tới vì các mục liên quan đến SIMLOCK thường rất nhạy cảm (Trên cả điện thoại thường lẫn smart phone) => Không nên voọc nếu không biết rõ về nó.

5. SYSTEM INFO : Thông tin về phần cứng, phiên bản Android, CID máy của bạn . Nếu máy bạn chạy ENG S-OFF thì mới có mục này, còn nếu bạn chạy Tool One Click S-OFF (SHIP S-OFF) thì nó sẽ không hiện.

 Một số thuật ngữ khác, từ viết tắt bắt nguồn từ diễn đàn XDA

1. CW hoặc CWM: Viết tắt của từ ClockWorkMod Recovery :
- Những file update *.zip mà có chữ CW ở đằng trước là dùng cho các máy đã vào được chế độ Recovery trong Bootloader (Các bạn có thể update bằng thẻ nhớ) để phân biệt với FastBooot (Chỉ có thể cập nhật qua kết nối với PC)

2. CM: Viết tắt của từ CyanogenMod :
- Là những bản Rom dựa trên Base mặc định của hệ điều hành Android (Google) và đã được tích hợp thêm tùy chỉnh giao diện Cyanogen. Nó khác với những bản Rom Andoid do nhà sản xuất phát triển (Tích hợp giao diện SENSE, BLUR…)

- Hiểu đơn giản là
+ CM : Rom không có SENSE, BLUR…
+ SENSE, BLUR… : Rom có SENSE, BLUR…

3. UV: Viết tắt của từ Under Volt (Hạ điện áp) :
- Thuật ngữ này được dùng trong các Kernel do các Dev chỉnh sửa tối ưu , UV là điều chỉnh điện áp cung cấp tuơng thích với mỗi chế độ hoạt động xung nhịp của CPU

4. OC: Viết tắt của từ Over Clock (Ép xung)
- Thuật ngữ này cũng được dùng trong các Kernel nói trên, OC có tác dụng ép xung nhịp cho CPU hoạt động tăng công xuất xử lý hoặc điều chỉnh xung nhịp theo nhu cầu sử dụng....


Cơ bản
Bộ nhớ trong của smartphone HTC chạy Android được phân thành nhiều vùng (partition). Mỗi một vùng được sử dụng vào mục đích riêng. Sau đây là những vùng chính:

  • System: vùng cho hệ thống điều hành, thường là bị khóa. Khi các bạn up ROM, đại đa số (nếu không phải là 100%) là được viết vào đây. Root là lý do mà bạn muốn có quyền để có thể viết/xóa trên vùng này.
  • Data (userdata): Vùng dành cho phần mềm tải trên mạng về, chép vào máy và cài đặt. Một số custom ROM (ROM cook) có thể cài đặt một số nhỏ ứng dụng của ROM vào phần này. Những ứng dụng mà ROM cook cài ứng dụng trên vùng này thường là có thể tải từ nguồn khác về, thường là những ứng dụng thông thường nhưng không phải là phần tất yếu của ROM. Tất cả dữ liệu trên vùng này sẽ bị xóa nếu bạn dùng chức năng factory reset.
  • Recovery: vùng dành cho chức năng hồi phục. Lúc bạn cài (flash) custom Recovery.img là bạn viết vào đây.
  • Boot: Vùng chứa Android kernel (boot.img)
  • Radio: Vùng chứa firmware cho radio, camera và một số phần cứng của máy.
  • HBOOT: Bootloader, phần mềm liên quan tới khởi động của máy.
  • Cache: Chứa ROM tải về qua OTA, dữ liệu tạm thời từ tải về từ Play Store.
  • Sdcard (internalsd): Vùng dùng chứa dữ liệu cá nhân.
Chú thích:
Xanh: Vùng bạn có thể can thiệp dữ liệu mà không cần bất cứ quyền hay chức năng đặc biệt. Khả năng máy bạn có thể biến thành là cục gạch là 0.

Vàng: Bạn có thể can thiệp dữ liệu trên vùng khi có được ít nhất là root (cần Unlock Bootloader cho Boot và Recovery). Nếu không cẩn thận thì có thể bootloop hoặc tệ hơn là softbrick.

Đỏ: Bạn chỉ có thể can thiệp dữ liệu trên vùng này khi có được S-OFF. Cơ hội máy bạn thành cục gạch là khá cao nếu bạn không cẩn thận khi táy máy trên các vùng này.

Android Diễn Nghĩa
Bạn có thể xem máy bạn như cấm thành Bắc Kinh. Muốn được vào kinh thành thì bạn phải vượt qua Vạn Lý Trường Thành (Root), muốn vào gặp vua thì phải qua Tử Cấm Thành (Unlock Bootloader), và muốn lấy Ngọc Ấn thì phải có S-OFF.
Root, unlock bootloader, và S-OFF không phụ thuộc vào nhau.

Root (superuser / SuperSU) - Cơ bản
“Root” cơ bản cho phép bạn là chạy bất cứ ứng dụng/chương trình mà không có giới hạn. Nói cách khác các ứng dụng và chương trình của bạn sẽ được phép chạy dưới quyền admin (tương tự như bạn chạy với account Administrator trong Windows). Bạn @vuhai6 đã có một bài chi tiết nói về root ở đây. http://www.tinhte.vn/threads/1540865/
Lúc bạn root xong thì bạn sẽ có thêm 2 thứ trên máy của mình:

  1. /system/xbin/su: đây là chương trình cho phép bạn đổi qua quyền hạn của root (admin).
  2. /system/app/superuser hay /system/app/superSU: ứng dụng để quản lý những ứng dụng khác có quyền sử dụng root (/system/xbin/su) hay không.
Điều kiện để root
Muốn root thì bạn phải cài đặt su và superuser/superSU trong /system nhưng chưa có root thì làm sao có thể viết lên trên /system được? Đây là bài toán mà muốn root máy, bạn phải giải. Câu trả lời ở phía dưới:
  • Máy đã S-OFF hoặc Bootloader đã được mở khóa (UNLOCKED): Vì máy đã unlock nên bạn có thể truy cập trên /system mà không bị cản trở. Bạn chỉ cần flash một tập tin có su và superuser/superSU từ custom recovery hoặc “đẩy qua” (push) dùng ADB. (Bạn đã có ngọc ấn hay ở trong Tử Cấm Thành rồi thì muốn đi tham quan kinh thành thì cứ mở cổng thành mà đi).
  • Máy bạn S-ON và Bootloader LOCKED: Trong trường hợp này, bạn thường được yêu cầu để chạy phần mềm dùng để khai thác lỗ hổng để có thể viết lên /system bằng một cách nào đó (Bạn đang ở ngoài VLTT chỉ có cách là trèo, chui hoặc đục thành, tìm lổ hổng để vào). Các phần mềm này đại đa số đều khai thác lỗ hổng của Android kernel 2.3.x những máy chạy kernel 3.x đa số đã không còn lổ hỗng nên các phần mềm này trở nên ít hơn.
Vì 2 lý do trên nên root không yêu cầu điện thoại phải đã mở khóa Bootloader hoặc S-OFF, nhưng nó thường được đề cập chung vì nếu Bootloader đã được mở khóa hay máy đã được S-OFF thì dễ làm hơn nhiều.

Mở khóa bootloader
Unlock (mở khóa) bootloader cho phép bạn có thể tùy tiện đặt ROM vì bạn có toàn quyền truy cập vào /system và /recovery. Unlock bootloader được thực hiện để bạn có thể viết lên các phân vùng của hệ thống điều hành Android (các vùng màu vàng).

Điều kiện để mở khóa Bootloader

  1. Máy đã S-OFF: Một khi đã S-OFF, tất cả mọi vùng đã đều được mở (Bạn đã có Ngọc Tỷ trong tay rồi thì cũng không cần unlock bootloader làm cái gì, ngoại trừ khi bạn muốn táy máy chơi).
  2. HTCDev Unlock Bootloader (vẫn còn S-ON): HTC có cho phép một số máy được mở khóa qua HTCDev.com (Cho bạn cái chìa khóa của cửa Tử Cấm Thành, bạn muốn ra vô tùy ý).
    Yếu điểm của phương pháp HTCDev là nó không cho bạn can thiệp vào vùng radio, HBOOT và cũng không cho phép Recovery truy cập vào vùng kernel (/boot), hoặc splash màn hình. Đây là lý do tại sao mặc dù đã Unlock Bootloader rồi, sau khi flash ROM nào đó bạn bị lỗi wifi hay bootloop, vì tuy ROM (chính xác hơn là drivers modules của ROM) đã được viết lên /system nhưng kernel (boot.img) không được cập nhật.
    Để khắc phục yếu điểm này bạn cần có 1 trong 2 điều kiện sau đây:
    1. Dùng fastboot để cài kernel (boot.img) sau khi gắn ROM từ PC với lệnh: fastboot flash boot <tên của boot.img của bạn lấy ra từ ROM>. Boot.img nằm trong gốc của zip của ROM/kernel.
    2. Dùng một custom Recovery sử dụng phương pháp HTC Dumlock để có thể flash kernel từ recovery. 4Ext và TWRP Recovery là hai recovery sử dụng HTC Dumlock. Vắn tắt là HTC Dumlock nhảy từ chế độ recovery qua fastboot khi cần flash boot.img.
S-OFF
Ngoài khóa Bootloader ra, HTC còn có một kiểm soát an ninh tên S(ecurity)-ON/OFF. Một khi đã được S-OFF, bạn có thể làm bất cứ điều gì bạn muốn ngay cả sử dụng một bootloader vẫn còn khóa để cài đặt ROM (nhưng phải cẩn thận khi cài RUU). Một điện thoại S-OFF cho phép bạn truy cập để viết firmware radio, HBOOT mới vào thiết bị. Một điện thoại S-OFF không có hạn chế về vùng, vì vậy bạn có thể xóa sạch mọi thứ trên máy và bị kẹt lại với một chiếc điện thoại không có hệ điều hành và không có cách nào để làm bất cứ điều gì. Nói cách khác bạn có thể biến chiếc điện thoại của bạn thành cục gạch nếu bạn không cẩn thận. Ngược lại, vì bạn có thể can thiệp vào bất cứ vùng nào trên máy, bạn có thể biến nó từ cục gạch trở lại một chiếc điện thoại bình thường.
Tóm lại, S-OFF như bạn có Ngọc Tỷ trong tay và muốn làm gì cũng được.

S-OFF để làm gì

  1. Đầu tiên và quan trọng nhất, nó cho phép bạn cài ROM và khôi phục Nandroid backup một cách dễ dàng hơn nhiều, bằng cách cho phép Recovery có quyền can thiệp vào vùng boot (kernel). Bạn sẽ không cần máy tính để flash boot.img sau khi up ROM/khôi phục Nandroid backup như trong trường hợp còn S-ON.
  2. Cho phép thay đổi firmware: bạn có thể cập nhật một HBOOT “vá” hoặc “kỹ thuật”(engineering), lợi thế của sẽ được thảo luận phía dưới.
  3. Bạn có thể nâng cấp các radio và firmware liên quan mà không cần phải flash/chạy cái RUU gốc.
  4. Nó cho phép bạn xuống cấp phiên bản Android, thí dụ bạn chán/không thích ICS và muốn xuống lại Gingerbread. Bạn có thể flash những ROM rò rỉ mới nhất và nếu không thích, quay trở lại hệ điều hành/ firmware cũ mà không có vấn đề gì.
  5. Bạn có thể thay đổi màn hình splash của bạn, đây không phải là chức năng quan trọng, nhưng thỏa mãn nhu cầu cá nhân hóa điện thoại của bạn.
  6. Khả năng để cài đặt một HBOOT “vá” hoặc kỹ thuật, kết hợp với khả năng có thể chạy bất kỳ RUU nào, cho cơ hội lớn hơn để “vực dậy” một điện thoại đã bị biến thành cục gạch “mềm”.
  7. Giảm thiểu các bước để thay đổi trạng thái mở khóa của bạn cho mục đích bảo hành.
Cách để S-OFF
Hiện tại có 2 cách bạn có thể sử dụng để S-OFF: Revolutionary.IO và Unlimited.IO. Có một vài máy HTC, tùy theo HBOOT mà bạn đang chạy có thể sử dụng một cách khác nhưng phần nhiều là khá rắc rối và chỉ dành cho các bạn đã quen với ADB và fastboot. Đối với những bạn mới thử S-OFF, mình khuyên bạn nên dùng Revolutionary.IO hoặc Unlimited.IO.
Cả hai cách đều đòi hỏi là bạn đang chạy ở những dòng đời HBOOT nhất định. Nếu máy bạn chạy trên những HBOOT phiên bản khác thì ĐỪNG THỬ.

Cách để xem phiên bản HBOOT hiện tại của máy
Vào Bootloader (Nhấn nút Power và Volume – cho tới khi máy vào trong hình HBOOT).
Dãy số hiển thị sau chử HBOOT-… là số phiên bản HBOOT của máy

Revolutionary.IO
Đây là cách đầu tiên được sử dụng để có thể S-OFF và công cụ S-OFF cũng khá dễ dùng để làm theo các bước để dẫn tới S-OFF. Cách S-OFF của Revolutionary.IO sử dụng là dựa trên lỗ hổng của các HBOOT để thực hiện. Do đó các bạn chỉ nên S-OFF trước khi chắc chắn là HBOOT mình đúng phiên bản HBOOT được hỗ trợ bởi Revolutionary.IO.
Hiện tại các máy sau (và đời HBOOT) đang được hỗ trợ bởi Revolutionary.IO

0 comments:

Post a Comment