Quản trị mạng – Trong bài này chúng tôi sẽ hướng dẫn bạn cách cài đặt hệ điều hành Android của Google trên iPhone. Cần phải nói trước, hướng dẫn này không dành cho những người yếu tim.
Bạn có muốn giải phóng cho iPhone khỏi sự áp đặt chặt chẽ của Apple hay chỉ muốn chắp vá một số thứ mới. Bằng cách nào đó chắc hẳn bạn đã thấy Android có thể chạy trên iPhone tuy nhiên bạn có muốn tự mình được thử cảm giác đó.
Công việc vẫn trong tiến trình
Mặc dù phương pháp này có thể thực hiện mọi thứ mà bạn mong đợi từ chiếc điện thoại thông minh của mình, tuy nhiên nó thực sự vẫn chưa tiện lợi cho các hành động hàng ngày – ví dụ như bạn chưa thể thực thi các chức năng quản lý nguồn, vì vậy việc sử dụng iPhone chạy Android sẽ bị hạn chế về mặt thời gian sử dụng pin.
Bên cạnh đó vẫn còn tồn tại một số lỗi và một số vấn đề về hiệu suất, tuy vẫn có thể sử dụng điện thoại nhưng người dùng sẽ bị ảnh hưởng về tốc độ. Nếu thực hiện một số hành động nào đó không được mong đợi (chẳng hạn như việc tắt một cách cưỡng bức iPhone), rất có thể bạn sẽ không thể khôi phục được thiết bị của mình. Mặc dù vậy, rắc rối này không thể gây ra các lỗi quá nghiêm trọng và vô hiệu hóa iPhone của bạn một cách vĩnh viễn.
Cuối cùng, việc đồng bộ media vẫn chưa làm việc, việc nạp media của bạn vào điện thoại là một việc khó khăn. Chúng tôi đã thực hiện nhiều biện pháp để thực hiện công việc này tuy nhiên có lẽ chúng ta phải đợi để có được các bản vá lỗi sớm về vấn đề như vậy.
Yêu cầu bắt buộc
Bắt đầu bằng cách đọc qua những nguyên tắc cơ bản trong việc bảo trì iPhone: cách chuyển iPhone sang chế độRecovery Mode, DFU Mode, và cách thực hiện khôi phục phần mềm từ các chế độ đó.
iPhone là một thiết bị được thiết kế khá tốt và nó gần như không thể bị đánh bại khi bạn biết các kỹ thuật này. Nếu tất cả những gì bạn làm đều thất bại, cần nhớ rằng vẫn còn một tùy chọn cuối cùng là khôi phục nó bằng chế độ DFU Mode.
Bạn cũng cần làm việc một cách thoải mái trong giao diện dòng lệnh, tuy nhiên trừ khi bạn tự tin trong việc biên dịch các file nhị nguyên phân của mình thì lúc đó bạn mới cần đến một máy tính thực sự chạy Linux (hoặc một máy ảo Linux).
Những gì cần thiết
1. iPhone thế hệ đầu tiên hoặc iPhone 3G với các phiên bản phần mềm giữa 2.0 và 3.1.2, chương trình jailbroken với Redsn0w, Blacksn0w, hoặc PwnageTool. Nếu đã nâng cấp điện thoại của bạn lên phiên bản 3.1.3 hoặc lên 4.0 beta, bạn phải sử dụng PwnageTool để tạo một file jailbroken 3.1.2 .ipsw nhằm giáng cấp nó trở lại trạng thái thấp hơn.
Lưu ý rằng chúng tôi loại trừ iPhone 3GS, tất cả các model iPod Touch và iPad. Hack này sẽ không làm việc với các thiết bị này. Chúng tôi cũng loại trừ iPhone OS 3.1.3 và tất cả các phiên bản 4.0 beta. Chúng cũng sẽ không làm việc với Spirit jailbreak.
Nếu bạn chưa có jailbroken trên iPhone, không cần phải lo lắng nhiều – nó là một quá trình đơn giản gồm có việc nhấn các nút trên thiết bị khi được nhắc nhở và kích nút tiếp theo trong một wizard. Bạn có thể sử dụng Redsn0w vì đã có rất nhiều mã được viết cho chương trình đó.
2. Hệ thống Linux 32-bit hoặc máy ảo (chúng tôi khuyến khích sử dụng Ubuntu). Về phần này bạn cần tham khảo các hướng dẫn cài đặt Ubuntu trên PC nếu chưa cài đặt.
Mặc dù phần lớn quá trình có thể được thực hiện trên bất cứ máy nào, tuy nhiên một trong các công cụ có liên quan (có tên gọi 'oibc') vẫn chưa được đưa vào Windows. Thêm vào đó, các file nhị nguyên phân mà chúng tôi cung cấp được biên dịch trên máy tính Ubuntu 32-bit.
Tất cả các tiện ích biên dịch cho Linux và Mac, tuy nhiên nếu bạn cảm thấy mạo hiểm, hãy biên dịch các nguồn tại github.com/planetbeing/iphonelinux và github.com/planetbeing/xpwn thay vì sử dụng các nhị nguyên phân.
3. Các image và các nhị nguyên phân được xây dựng trước; các file chính xác mà bạn sử dụng phụ thuộc vào việc bạn đang sở hữu iPhone thế hệ đầu hay iPhone 3G.
4. File .ipsw của iPhone OS 3.1.2 cho thiết bị của bạn, cụ thể là iPhone1,1_3.1.2_7D11_Restore.ipsw hoặc iPhone1,2_3.1.2_7D11_Restore.ipsw. Rất có thể bạn đã có các file này ở đâu đó trên máy tính của mình, tuy nhiên nếu cần nó, bạn có thể download chúng tại đây.
5. Phần mềm cho chip Marvell WLAN bên trong iPhone. Vào URL đó, ở phía bên phải của trang, bạn sẽ thấy một menu sổ xuống có nhãn 'Choose your platform'. Chọn Linux 2.6 - Fedora từ menu sổ xuống và kích nút Search bên dưới. Download file có tên SD-8686-LINUX26-SYSKT-9.70.3.p24-26409.P45-GPL. Bạn sẽ nhận được file có tên SD-8686-LINUX26-SYSKT-9.70.3.p24-26409.P45-GPL.zip.
Android trên iPhone
Bước đầu tiên là chọn phần mềm WLAN và multitouch cho iPhone. Chúng tôi không thể phân phối lại một cách hợp pháp các file nhị nguyên phân này, vì vậy bạn cần phải trích rút chúng từ file .ipsw và website của Marvell.
1. Trên máy tính Linux, tạo một thư mục có tên firmware trong thư mục chủ.
2. Bung file SD-8686-FEDORA26FC6-SYSKT-GPL-9.70.3.p24-26409.P45.tar từ SD-8686-LINUX26-SYSKT-9.70.3.p24-26409.P45-GPL.zip vào một thư mục tạm thời.
3. Bung file FwImage/helper_sd.bin và FwImage/sd8686.bin từ SD-8686-FEDORA26FC6-SYSKT-GPL-9.70.3.p24-26409.P45.tar và đặt chúng vào trong thư mục 'firmware'.
4. Đổi tên helper_sd.bin thành sd8686_helper.bin.
Đến đây bạn đã có phần mềm WLAN. Giờ là lúc đi tìm kiếm phần mềm multitouch.
5. Trên máy tính Linux, tạo một thư mục mang tên idroid trong thư mục chủ và bung utils/dripwn từ file prebuilt tarball (dưới dạng .tar) mà bạn đã download được vào nó.
6. Copy và chuyển file 3.1.2 .ipsw mà bạn lấy được từ website của Apple vào thư mục 'idroid' đã có dripwn.
7. Khởi chạy tiện ích dòng lệnh (Terminal trong Ubuntu) và điều hướng đến thư mục 'idroid' mà bạn đã tạo. Có thể đánh cd ~/idroid để thực hiện điều đó.
8. Vào trang này nếu bạn sở hữu iPhone 3G hoặc trang này nếu bạn sở hữu một iPhone cũ hơn. Copy khóa VFDecrypt.
9. Trong cửa sổ dòng lệnh mà bạn đã khởi chạy, nếu iPhone của bạn là iPhone thế hệ đầu tiên, hãy đánh lệnh dưới đây:
./dripwn iPhone1,1_3.1.2_7D11_Restore.ipsw [the VFDecrypt key you copied]
Nếu là iPhone 3G, hãy đánh:
./dripwn iPhone1,2_3.1.2_7D11_Restore.ipsw [the VFDecrypt key you copied]
10. Sau ít phút lệnh sẽ được thực thi, khi đó bạn sẽ có các file zephyr_main.bin, zephyr_aspeed.bin và zephyr2.bin trong thư mục 'idroid'. Chuyển các file này vào thư mục 'firmware'.
Lúc này bạn đã có tất cả các file cần thiết cho Android, hãy bắt đầu việc cài đặt của mình.
11. Nếu chưa cài OpenSSH, hãy cài đặt công cụ OpenSSH trên iPhone thông qua Cydia.
12. Nếu đã cài đặt OpenSSH rồi, hãy kết nối đến iPhone của bạn thông qua SSH, đăng nhập root với mật khẩualpine, đánh passwd root để thay đổi mật khẩu root. Sau đó nhập vào passwd mobile để thay đổi mật khẩu cho người dùng di động.
Lưu ý không được bỏ qua bước này. Tất cả sâu iPhone này sẽ ảnh hưởng bạn nếu bạn chưa thay đổi mật khẩu SSH mặc định.
13. Bung các file prebuilt/android.img.gz, prebuilt/cache.img, prebuilt/ramdisk.img, prebuilt/system.img, prebuilt/userdata.img và zImage từ prebuilt tarball.
14. Sử dụng lệnh 'scp' hoặc máy khách SFTP để upload tất cả các file này vào thư mục /private/var trên iPhone.
Bạn có thể sử dụng các lệnh này trên Linux nếu muốn sử dụng ‘scp’ thay cho giao diện đồ họa máy khách SFTP. Giả sử bạn đang ở trong cùng thư mục có các file này, hãy nhập:
scp android.img.gz root@[ip address of iPhone]:/private/var/
scp cache.img root@[ip address of iPhone]:/private/var/
scp ramdisk.img root@[ip address of iPhone]:/private/var/
scp system.img root@[ip address of iPhone]:/private/var/
scp userdata.img root@[ip address of iPhone]:/private/var/
scp zImage root@[ip address of iPhone]:/private/var/
15. Sử dụng SFTP client hoặc ‘scp’, tạo một thư mục có tên firmware trong thư mục /private/var trên iPhone; sau đó upload tất cả các file từ thư mục 'firmware' mà bạn đã tạo vào nó.
Nếu thư mục 'firmware' nằm bên trong thư mục chủ thì bạn có thể sử dụng lệnh dưới đây:
scp -r ~/firmware/ root@[ip address of iPhone]:/private/var/firmware
16. Khởi động lại iPhone. Một lưu ý cho mục đích an toàn, hãy kiểm tra để chắc chắn rằng các file vẫn hiện diện sau khi khởi động lại và tất cả chúng đều có đúng kích cỡ. Kích cỡ chính xác của file sẽ không chính xác như kích thước của file nguồn (cho ví dụ, system.img không phải là 71327744 bytes, android.img.gz không phải 2161556 bytes, zImage không phải 2364280 bytes trên 3G hoặc 2356044 bytes trên iPhone cũ hơn).
Nhiều người sẽ gặp phải vấn đề với quá trình này vì không phải tất cả các file đều đến được iPhone của họ.
17. Bung các file utils/oibc, utils/loadibec và prebuilt/openiboot.img3 từ prebuilt tarball vào thư mục 'idroid'.
18. Shut down iPhone và chuyển nó sang chế độ Recovery Mode: Khi iPhone được tắt và được cắm vào máy tính thông qua USB, nhấn đồng thời Hold và Home, sau đó nhả Hold sau khi đèn màn hình sáng. Tiếp tục giữ Homecho đến khi hình ảnh 'Connect to iTunes' xuất hiện trên màn hình.
19. Chạy các lệnh dưới đây trong Terminal (cần cài đặt libusb-0.1-4 với Synaptics hoặc 'apt-get' nếu bạn chưa cài đặt chúng):
cd ~/idroid
sudo ./loadibec openiboot.img3
Nếu tất cả đã được cài đặt từ trước, menu khởi động 'openiboot' sẽ xuất hiện ngay tức khắc!
20. Sử dụng các nút volume-control hoặc nút Hold để chọn tùy chọn menu thứ hai, Console. Chạm nhẹ (tap) vào nút Home để khởi chạy nó.
Cửa sổ chế độ văn bản sẽ bắt đầu chạy trên màn hình của bạn và kết thúc bằng một thông báo 'Welcome to openiboot'.
21. Đánh sudo ./oibc vào Terminal.
Các thông báo xuất hiện trên màn hình iPhone sẽ xuất hiện trong Terminal. Bạn cần phải tạo một backup cho NOR (thiết bị có lưu phần mềm khởi động cho iPhone) dự phòng có trục trặc xảy ra.
22. Đánh nor_read 0x09000000 0x0 1048576 trong Terminal/oibc. Thao tác này sẽ đọc toàn bộ NOR vào bộ nhớ chính.
23. Đánh ~norbackup.bin@0x09000000:1048576 vào Terminal/oibc. File norbackup.bin.sẽ xuất hiện trong thư mục 'idroid'. Giữ file này ở đâu đó an toàn.
Lệnh trên sẽ upload NOR vào máy tính. Sau khi tạo backup này, bạn hoàn toàn có thể thay đổi NOR. Bước tiếp theo là cài đặt OpeniBoot vào NOR, thay thế phần mềm khởi động iBoot của Apple đang tồn tại.
24. Đánh install trong Terminal/oibc.
Quá trình này có thể mất vài phút.
25. Đánh reboot trong Terminal/oibc, sau đó thoát ra khỏi cửa sổ đó bằng cách nhấn Ctrl-C.
Menu OpeniBoot sẽ xuất hiện bất cứ khi nào bạn khởi động iPhone. Lưu ý rằng bạn có thể hủy cài đặt OpeniBoot từ oibc bằng lệnh 'uninstall'. Đánh help để có danh sách tất cả các lệnh của OpeniBoot.
Bạn có thể vào chế độ khôi phục của iPhone OS bằng cách giữ nút Home trên tùy chọn iPhone OS trong menu cho tới khi hình ảnh 'Connect to iTunes' xuất hiện (thay vì việc phải chạm nhẹ vào nút Home).
Cho đến đây bạn đã kết thúc phần việc của mình! Hãy sử dụng menu OpeniBoot để khởi động Android bằng cách chọn hệ điều hành từ menu bất cứ khi nào bạn muốn. Tuy nhiên, không có phương pháp nào để shut down Android, vì vậy chỉ có một cách để tắt nó là giữ hai nút Hold và Home cho tới khi bạn tắt một cách cưỡng bức điện thoại của mình.
Các bạn có thể tham khảo trên iDroidWiki để có thêm các hướng dẫn và mẹo về những gì có thể thực hiện với chiếc điện thoại Android iPhone mới của mình.
Văn Linh (Theo PCworld)