之前一直想透過 VirtualBox 進行 jailbreak,不過都卡在 USB 裝置的問題,也就是 iPhone 3G DFU Mode 無法在 Virtualbox 內使用。今天終於狠下心花點時間找一下,終於成功了。此篇測試目標是 iPhone 3G + iOS 4.2.1 使用 redsn0w 並在 VirtualBox 進行 JB,其他環境可能會有問題(如對象改成 iPod Touch 4)!另外,最新的 JB 方式是使用綠毒 GreenPois0n,可以完美 JB 新出的 iOS 設備,請避開使用 VirtualBox 進行 JB 並且請找其他文章參考。
環境:
- Host OS Ubuntu 10.04 64-bit
- Virtualbox 4.0.4 r70112
- VirtualBox 4.0.4 Oracle VM VirtualBox Extension Pack
- http://www.virtualbox.org/wiki/Downloads
- Guest OS Windows XP with SP3
- Jailbreak:redsn0w_win_0.9.6rc8
- http://blog.iphone-dev.org/ 用 Windows 關鍵字可搜尋到
- iPhone 3G IPSW:iPhone1,2_4.2.1_8C148_Restore.ipsw
- 如果一開始是透過 iTunes 升級或還原成 iOS 4.2.1 的話,可以在 C:\Documents and Settings\user\Application Data\Apple Computer\iTunes\iPhone Software Updates 找找看,可以省去再下載一次
- Jailbreak:redsn0w_win_0.9.6rc8
VirtualBox 卡關問題:
為何在 Virtualbox 裡的 Windows XP 無法啟用 USB 連結 iPhone DFU 模式(呈現灰色無法選取),主因是權限關係,請用 root 權限跑 Virtualbox 即可,在要留意的,使用 sudo Virtualbox 後,是透過 root 權限執行,只是必須重新新增 VM 等過程,有試著使用 sudo -u user 的方式執行,其結果還是不行,倒是在 sudo Virtualbox 模式下,掛載之前已建好的 VM 是沒問題的。
除了將 iPhone 弄成 DFU 模式會碰到這問題外,其實透過 iTunes 將 iPhone 裝置進行回復,等到要啟動 iPhone 設置時,也會碰到同樣的問題。
猜測 VirtualBox 這樣的設定是避免使用者不小心接到一些特定使用的 USB 裝置,例如不小心綁住了滑鼠等,而不小心綁住可以透過拔掉重插 USB 裝置來改善。
@ 2011/03/30:參考 gslin 文章 - Ubuntu 上跑 VirtualBox 連接 USB 裝置…,這的確是權限問題,但僅需將使用的帳號也加到 vboxusers 的群組裡,重開機後就可以解決。
$ sudo vim /etc/group
vboxusers:x:123:user
關於 jailbreak 前提:
關於 unlock 部份,iPhone 3G 現階段解鎖方式是透過把數據機韌體(Modem Firmware)升成 iPad 3.2.2 的版本,將產生 GPS 功能失效的問題,除此之外將導致未來無法透過 iTunes 進行更新。因此,若有鎖版的 iPhone 請自行評估,不要冒然往前衝 XD
流程 1 - 使用 root 執行 VirtualBox:
在 Ubuntu 10.04 的機器上安裝 VirtualBox 4.0.4 r70112 以及 VirtualBox 4.0.4 Oracle VM VirtualBox Extension Pack 後,還要安裝一個 Windows XP with SP3 的環境
以 root 權限執行:
$ sudo VirtualBox
流程 2 - 接下來的動作都在 Windows XP :
- 從 DevTeam 官網上下載 Windows 環境的 redsn0w 軟體,在此使用 redsn0w_win_0.9.6rc8
- 確認 iPhone 3G 是 iOS 4.2.1 版本,若不是可透過 iTunes 更新。取得 iPhone1,2_4.2.1_8C148_Restore.ipsw 檔案
- 使用 redsn0w_win_0.9.6rc8 ,執行裡頭的 redsn0w.exe 檔案並依照其流程進行
初次執行,會要求你驗證 IPSW 檔案,此例就是:iPhone1,2_4.2.1_8C148_Restore.ipsw
驗證過程:
驗證完訊息:
挑選 jailbreak 項目,在此僅用預設項目,也是自己開發會玩得東西,其他像 unlock 等東西不選取:
接著要將 iPhone 弄成 DFU 模式:
簡單的教學,如果已經是 DFU 模式,則會跳過此步:
接下來是才是重頭戲,由於過程很多且快速,在此僅截圖幾張,記住有個關鍵的技巧,當畫面卡在 wait for reboot 或一直沒反應時,可以透過 VirtualBox 右下角的 USB 設備,將 Apple Computer Inc. USB DFU Device 進行 unmount 或 mount 動作,即可解決:
整個流程會看到 iPhone 3G 的畫面有變化,也進行開機、安裝東西,甚至出現一隻鳳梨人,沒多久就重新開機了,最後就可以看到 Cydia 在畫面囉!
沒有留言:
張貼留言