Skip to content

Những danh từ quan trọng trong bài viết này mà minh cần quen thuộc và hiểu là

Tháng Tám 27, 2012

Bootloader – BL – phần boot của con chip.
Baseband – BB – cái modem / con communication chip.
Firmware – FW – phần mềm của con chip.
Secpack – là cái chìa khóa để mình có thể upload/write firmware vào BB – Đây là giải thích vắn tắt nhất mà tôi có thể nghỉ ra. Muốn hiểu thêm, các bạn có thể đọc ở đây http://code.google.com/p/iphone-elit…Authentication

Unlock – giải mã cái baseband FW (modem FW) của iphone để nó có thể nhận tín hiệu và đăng ký IMEI của phone với mọi GSM provider

Trên iPhone, mình hay nói đến firmware và bootloader. Nhân dịp này, tôi xin nói thêm là trên iPhone có 2 phần firmware và 2 phần bootloader. Đúng vậy và đừng ngạc nhiên. Tại sao lại là như vậy?

– Trên iPhone có 2 con chip quan trọng:

A) ARM core processor: con này thì chạy Operating System (Darwin) và phần application bootloader nằm trong flash memory

B) Infineon processor (S-Gold): còn này thì quản lý baseband, có phần bootloader và phần mềm chính là baseband firmware

Các bạn cũng có thể nghỉ như thế này cho dễ hiểu (tàm tạm như vậy )

A) Intel CPU – Operating system = Windows XP/Vista – Bootloader == boot sector ở trên đĩa cứng (hard disk)

B) PC ROM BIOS (cũng có boot loader) và firmware == BIOS Flash file

—————————————————————————————-

1. Khác biệt giữa BL 4.6 và 3.9

Cái BB của iphone nằm trên một con chip (Infineon – dân hacker cũng gọi là S-Gold). Trên con chip naỳ có 2 phần: một là bootloader và phần kia là chỗ chứa firmware (code).

Trên những iphone đời trước (OTB 1.0.x, 1.1.1), phần BL là version 3.9
Trên những iphone đời sau và đến hiện tại (OTB 1.1.2, 1.1.3 và 1.1.4), phần BL là version 4.6

Tại sao phần bootloader này lại quan trọng và được đề cập rất nhiều trong những thời gian gần đây?.

1a) Với BL 4.6 Apple thay đổi cái format của secpacks. Vì thế những secpacks cũ (cũ hơn 1.1.3) sẽ không có giá trị (validate) với 4.6 BL. 1.1.3 secpacks chỉ giá trị trên 4.6 BL mà thôi.

1b) BL 4.6 cần phải có secpack mới hơn để mình có thể đụng chạm đến baseband (thí dụ như baseband của 1.1.2 / 02.02.13_G cần secpack của 1.1.3) ***

1c) Một điều kiện rất là quan trọng với BL 4.6 là nó sẽ kiểm tra toàn thể hết tất cả BB fỉmware (signature check) bắt đầu từ FW 1.1.3 trở lên. 1.1.2 BB fỉmware trở xuống, chỉ kiểm tra 1 signature mà thôi.

1d) Bootloader cũ, 3.9 không có phần kiểm tra kiểu này, nó chỉ kiểm tra một signature. Và vì thế mình có thể viết (write operation) bất cứ fỉmware nào cũng được. Và BL 3.9 chỉ cần secpack cùng version với baseband hoặc mới hơn. (Thí dụ như baseband 1.1.2 / 04.02.13_G thì dùng secpack của 1.1.2 cũng được).

—————————————————————————————-

2. Tại sao phần bootloader kiểm tra code mắc mớ gì đến unlock?

Khi mình unlock, thì có nghĩa là mình đã lấy cái BB fỉmware, sửa đổi nó (giải mã) và viết trở lại vào chỗ chứa (write update).

2a) Viết trở lại trên chip có BL 3.9 thì OK tại vì nó không cần secpack mới hơn (1c) và nó chỉ kiểm tra 1 signature)

2b) Viết trở lại trên chip có BL 4.6 thì không được tại vì 1c ở trên.

—————————————————————————————-

3. Liên quan đến ZiPhone.

Đọc đến đây thì hy vọng các bạn đã hiểu và đoán được lý do tại sao iPlus và ZiPhone có chức năng đưa BL xuống (BL downgrade).

Tôi đưa những ví dụ thực tế:
3a) Các bạn còn nhớ với OTB 1.1.3, mình có thể unlock mà không bắt buộc đưa BL 4.6 xuống tại vì sau khi unlock các bạn có thể kiểm tra va sẽ thấy là BB là 04.02.13_G (1.1.2) chứ không phải là 04.13.13_G. Trường hợp này tôi hay gọi là “hybrid mode”, tại vì OS là 1.1.3 và baseband là 1.1.2 (google locate không chạy). Tại sao không là 1.1.3 BB? Tại vì lý do 1c) ở trên.

3b) Muốn OTB 1.1.3 với 1.1.3 unlock baseband thì phải đưa bootloader 4.6 xuống 3.9 tại vì 1d) và 2a)

—————————————————————————————-

4. Liên quan đến iPlus và ZiPhone

Khi 1.1.4 được phát hành thì tại sao ZiPhone lúc này lai bắt buộc phải đưa BL 4.6 xuống 3.9 chứ không như phần 3a) ở trên?

4a) thứ nhất là cần phải có secpack mới hơn (1.1.5) – lý do 1b) và 1c) ở trên

Còn đối với iPlus thì cũng vậy, nhưng đặc biệt là nó đưa BL 4.6 xuống 3.9FB (fakeblank)

—————————————————————————————-

5. Khác nhau giữa BL 3.9 và BL 3.9FB

Dùng 3.9FB thì mình có thể đi về trở lại 4.6 hoặc 4.6FB bằng cách sử dụng phần mềm hiện nay
(tôi sẽ viết thêm cách làm sau)

Dùng 3.9 thì không dùng phần mềm để đưa về 4.6, chỉ có cách là tháo phone ra mà thôi.

—————————————————————————————-

6. BL 4.6FB là cái gì và tôi có cần không?

BL 4.6FB lúc này chỉ là “proof of concept” và thật ra mình cũng chưa cần đến vì từ đây những hackers, programmers có thể viết ra một “custom” bootloader mà không có “signature check”. Khi mà không có signature check thì tha hồ mà chạy baseband 1.1.3, 1.1.4 …..

 

Bootloader, Firmware là gì ?

Nhân tiện đây xin được nói luôn :

Trong bất kỳ một một máy tính mà chúng ta sử dụng luôn có hai phần đó là Bootloader và Operating system -OS (cái mà chúng ta hay gọi là windows đó). và IP cũng là một cái máy tính
Boot loader có nhiệm vụ kiểm tra hệ thống và load các phần liên quan đến OS lên các chip điều khiển khi ta thực hiện bật máy lên.
OS – có nhiệm vụ quản lý các ứng dụng được cung cấp trên nền OS. Đó chính là Firmware của IP.

Bootloader chính là một phần mềm điều khiển rất nhỏ được tích hợp trong FEROM để khi bật máy lên chưa có gì cả thì bootloader có nhiệm vụ kiểm tra trạng thái toàn bộ phần cứng, tải các ứng dụng, khởi động các service lên các chip liên quan — >FW của IP được start up.

Để lại phản hồi

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: