剛好前一陣子Treo 650 Unlocked GSM ROM update 1.28/1.13-ROW的韌體公布後,我順手就將ROM精簡並完成加入自己想要的軟體,目前使用穩定無任何問題。有不少網友詢問我應該如何精簡並自訂韌體內容,於是促成本篇文章誕生!
首先在本文開頭,我必須事先聲明:
自訂韌體升級是有一定的風險的!請確定你能控制並自負風險後再行升級!
一、首先,你必須準備一些工具:
1.自行下載可以自訂的韌體版本(SD卡升級版),目前最新的版本是1.28/1.13-ROW!
2.至http://shadowmite.com/下載編輯ROM的工具!
3.準備好你預定丟到ROM中的程式!
4.找一張小容量、低速度的SD卡,最好是隨數位產品附贈的SD卡,並確認讀寫動作正常!
二、將你的韌體解壓縮到任一磁碟的根目錄下,以避免因目錄及檔名過長造成失敗!
三、執行T650Tool,準備修改\PALM\DeviceCustomizer\Treo650.ROW目錄下的ace-palmos.zip(T650Tool會自行修正ace-palmos.zip.md5)。
![[分享] Treo650 自訂韌體升級](http://attach.mobile01.com/attach/200506/mobile01-527805654384fd235233dff945ed4d17.jpg)
四、按下T650Tool左上角的Open ROM ZIP按鈕,程式會將ace-palmos.zip解壓縮到暫存目錄,並在中間視窗下顯示ace-palmos.zip內所有檔案!
五、按下T650Tool的Select All按鈕,右邊視窗會顯示你預定生成的ROM內容!
![[分享] Treo650 自訂韌體升級](http://attach.mobile01.com/attach/200506/mobile01-bbdfce02b86371dcc230c62e10513d47.jpg)
在此特別說明一下:T650Tool程式左邊視窗為目錄結構,中間視窗顯示目錄下檔案或原始ROM內的內容,右邊視窗是預定製作的ROM內容!
六、T650Tool程式右邊視窗下在將不要的程式或文件一個個刪除,僅留下需要的程式或文件。在不影響功能的狀況下,通常大部分的使用者可以刪除其他語系、Clock、RealPlayer、Tutorials及VersaMail等等,個人在精簡過後僅保留300個檔案,目前穩定使用中。
AboutBoxLib.bprc
AboutBoxLib_enUS.oprc
Address.bprc
AddressLib.bprc
AddressLib_enUS.oprc
Address_enUS.oprc
ADPCMCodec.prc
AglkglLib.prc
AmrDecLib.prc
AmrEncLib.prc
AmrEngine.prc
ARMTelephonyWrapperLib_Device.prc
Audio.prc
BlazerApp_Device.bprc
BlazerApp_Device_CROW.cprc
BlazerApp_Device_CROW_enUS.lprc
BlazerApp_Device_enUS.oprc
BlazerRsc_Tips.prc
BlazerRsc_Tips_CROW.cprc
BlazerRsc_Tips_CROW_enUS.lprc
BluetoothExt_Device.prc
boot.conf
Brightness_Device.bprc
Brightness_Device_enUS.oprc
BtCommVdrvLib_Device.bprc
BtCommVdrvLib_Device_enUS.oprc
BtDeviceLib_Device.prc
BtExgLib_Device.bprc
BtExgLib_Device_enUS.oprc
BtHandsfreePnl_Device.bprc
BtHandsfreePnl_Device_enUS.oprc
BtHsmLib_Device.prc
BtLibLib_Device.bprc
BtLibLib_Device_enUS.oprc
BtManagerApp.bprc
BtManagerApp_enUS.oprc
BtManPnl.prc
BtStackLib_Device.prc
BtTransportLib_Device.bprc
BtTransportLib_Device_enUS.oprc
ButtonsPnl.bprc
ButtonsPnl_enUS.oprc
Camcoder_Loader_CROW.cprc
CameraMgr_Device.prc
Capture.bprc
Capture_CROW.cprc
Capture_enUS.oprc
Capture_Loader.bprc
Capture_Loader_CROW.cprc
Capture_Loader_CROW_enUS.lprc
Capture_Loader_enUS.oprc
CardInfoApp.bprc
CardInfoApp_enUS.oprc
CarrierConfiguratorApp.prc
CarrierCustomizationLib.prc
CategoryLib.bprc
CategoryLib_enUS.oprc
certs.pdb
CodecPluginMgr.prc
CodecWrapperLib_Device.prc
ColorThemePnl.bprc
ColorThemePnl_enUS.oprc
ComChannelProviderLib_Device.prc
ConnectionPnl.bprc
ConnectionPnl_enUS.oprc
CPMLib.bprc
CPMLib_enUS.oprc
DALAcDc_Device.prc
Datebook.bprc
DatebookLib.bprc
DatebookLib_enUS.oprc
Datebook_enUS.oprc
DateTimePnl.bprc
DateTimePnl_enUS.oprc
DefaultAppsPnl.bprc
DefaultAppsPnl_enUS.oprc
DefaultHelperLibraryLib.prc
DefaultHelperLibraryLib_CROW.cprc
DefConnectionDB_enUS.pdb
DeviceResLib.bprc
DeviceResLib_enUS.oprc
DeviceResources_Device.prc
DigitizerPnl.bprc
DigitizerPnl_enUS.oprc
DMABulverdeIntelDrv_Device.prc
DmTxn.prc
DynDevInfo.prc
EmPalmUILib.prc
Emul68K.prc
FATFS.prc
FavoritesDBLibraryLib.prc
FormatsPnl.bprc
FormatsPnl_enUS.oprc
Graffiti2Lib.bprc
Graffiti2Lib_enUS.oprc
GSMActivationApp.bprc
GSMActivationApp_enUS.oprc
GSMLibraryLib.bprc
GSMLibraryLib_CROW.cprc
GSMLibraryLib_enUS.oprc
H263LIB.prc
HiddenAddress.bprc
HiddenAddress_enUS.oprc
HiddenDatebook.bprc
HiddenDatebook_enUS.oprc
HiddenMemo.bprc
HiddenMemo_enUS.oprc
HiddenPIMsSupport.prc
HiddenTodo.bprc
HiddenTodo_enUS.oprc
HiResTimerLib_Device.prc
HostControl.prc
HotSyncApp_Device.bprc
HotSyncApp_Device_enUS.oprc
HsDataMgrExt_Device.prc
HsExtensionsExt_Device.bprc
HsExtensionsExt_Device_CROW.cprc
HsExtensionsExt_Device_CROW_enUS.lprc
HsExtensionsExt_Device_enUS.oprc
HsModemMgrExt_Device.prc
HsNavExt_Device.bprc
HsNavExt_Device_enUS.oprc
HsPPPNetIFLib_Device.bprc
HsPPPNetIFLib_Device_enUS.oprc
HsProgressMgrExt_Device.prc
HsSoundLib_Device.prc
HsSysResource_Device.bprc
HsSysResource_Device_CROW.cprc
HsSysResource_Device_CROW_enUS.lprc
HsSysResource_Device_enUS.oprc
HsUIExt_Device.bprc
HsUIExt_Device_enUS.oprc
HS_HtmlLib.prc
HTTPLib_Device.prc
IIDataLib.bprc
IIDataLib_enUS.oprc
ImageLibraryLib_Device.bprc
ImageLibraryLib_Device_enUS.oprc
ImageUtilsLib.prc
ImgFile.prc
IMUMathLib.prc
IrCommDrvr.bprc
IrCommDrvr_enUS.oprc
IrLib.bprc
IrLib_enUS.oprc
JPEGLibraryLib_Device.prc
KeyguardPnl.bprc
KeyguardPnl_enUS.oprc
LatinLocModule-2X_enUS.oprc
LauncherApp.bprc
LauncherApp_CROW.cprc
LauncherApp_CROW_enUS.lprc
LauncherApp_enUS.oprc
LcdOverlayLib_Device.prc
LocalLib.bprc
LocalLib_enUS.oprc
LocalReceive.prc
LocsLib.bprc
LocsLib_enUS.oprc
LoopNetIFLib.prc
MapLib.prc
MathLib.prc
Media_Tips.bprc
Media_Tips_enUS.oprc
Memo.bprc
Memo_enUS.oprc
MessageStoreLib.bprc
MessagingExchange-HsSxLib.prc
MIAttachLib.bprc
MIAttachLib_enUS.oprc
MIDataLib.bprc
MIDataLib_enUS.oprc
MImgPlugIn.prc
MMCBulverdeIntelDrv_Device.prc
MMSTransport.prc
MMSTransportLib.bprc
MMSTransportLib_enUS.oprc
MP3Codec.prc
MPEG1LIB.prc
MPEG4Decoder.prc
MPEG4LIB.prc
MVLib.prc
NetFrontLib_Device.prc
NetMasterLib.prc
NetPatchLib_Device.prc
NetPrefLib.prc
NetTrace.prc
NetworkPnl.bprc
NetworkPnl_enUS.oprc
OwnerPnl.bprc
OwnerPnl_enUS.oprc
PadHtalLib.prc
PalmCaptureLib.bprc
PalmCaptureLib_CROW.cprc
PalmCaptureLib_enUS.oprc
palmOneLatinLocModule-2X.bprc
PalmPhotoLib.bprc
PalmPhotoLib_CROW.cprc
PalmPhotoLib_enUS.oprc
PdiLib.prc
PhoneApp.bprc
PhoneApp_CROW.cprc
PhoneApp_CROW_enUS.lprc
PhoneApp_enUS.oprc
PhoneRsc_Tips.prc
PhoneRsc_Tips_CROW.cprc
PhoneRsc_Tips_CROW_enUS.lprc
PhotoConvert.prc
PhotoManager.prc
Photos.bprc
Photos_CROW.cprc
Photos_enUS.oprc
PIMsSupport.prc
Ping.prc
PmKeyLib_Device.prc
PmNetLib_Device.prc
PmSysGadgetLib_Device.bprc
PmSysGadgetLib_Device_enUS.oprc
PmSystemLib.prc
PmUIUtilLib_Device.prc
PowerPnl.bprc
PowerPnl_enUS.oprc
Preferences.bprc
Preferences_enUS.oprc
PreviewPhotoLib.bprc
PreviewPhotoLib_enUS.oprc
Queries.prc
RelHtalLib.prc
rom.txt
ScientificCalc.bprc
ScientificCalc_enUS.oprc
SecurityApp.bprc
SecurityApp_enUS.oprc
SerialLib.prc
SetupApp.bprc
SetupApp_CROW.cprc
SetupApp_enUS.oprc
SharedContentRsc_Tips.prc
ShortcutLib.bprc
ShortcutLib_enUS.oprc
SimPhoneBookApp.bprc
SimPhoneBookApp_CROW.cprc
SimPhoneBookApp_CROW_enUS.lprc
SimPhoneBookApp_enUS.oprc
SimServicesApp.bprc
SimServicesApp_CROW.cprc
SimServicesApp_enUS.oprc
SLIPNetIFLib.bprc
SLIPNetIFLib_enUS.oprc
SmartTextEngine_Device.prc
SndFileStreamLib.bprc
SndFileStreamLib_enUS.oprc
SoundPnl.bprc
SoundPnl_enUS.oprc
SoundsApp.bprc
SoundsApp_enUS.oprc
SplashscreenColor-2X.bprc
SplashscreenColor-2X_enUS.oprc
SslLib.bprc
SslLibCrypto.bprc
SslLibCrypto_enUS.oprc
SslLib_enUS.oprc
SyncMedia.prc
System.bprc
System_enUS.oprc
TcpHtalLib.bprc
TcpHtalLib_enUS.oprc
TexterApp.bprc
TexterApp_CROW.cprc
TexterApp_CROW_enUS.lprc
TexterApp_enUS.oprc
Texter_Tips.prc
Texter_Tips_CROW.cprc
Texter_Tips_CROW_enUS.lprc
TFFS.prc
ToDo.bprc
ToDo_enUS.oprc
TonesLibraryLib.bprc
TonesLibraryLib_CROW.cprc
TonesLibraryLib_CROW_enUS.lprc
TonesLibraryLib_enUS.oprc
TransparencyLibraryLib_Device.prc
TreoSMSLib.bprc
TreoSMSLib_enUS.oprc
TreoSMSStub.prc
TxnLogLib.prc
UartBulverdeIntelDrv_Device.bprc
UartBulverdeIntelDrv_Device_enUS.oprc
UartHtcAsic6BulverdeDrv_Device.prc
UI.prc
UIAppShellApp_Device.bprc
UIAppShellApp_Device_enUS.oprc
USBClientBulverdeIntelDrv_Device.prc
VideoAccess.bprc
VideoAccess_enUS.oprc
VirtualModemVdrv_Device.bprc
VirtualModemVdrv_Device_enUS.oprc
VPNPnl.bprc
VPNPnl_enUS.oprc
VPNShimLib_Device.prc
七、按下T650Tool的Build It!按鈕,自定義精簡版的ROM就會生成在\PALM\DeviceCustomizer\CustomRom內。將新生成的ace-palmos.zip和ace-palmos.zip.md5兩個檔案先行複製到其他地方保存,爾後如需變更自行加入的程式就可以不必再重複一~七的步驟!
八、刪除\PALM\DeviceCustomizer\CustomRom,並將新生成的ace-palmos.zip和ace-palmos.zip.md5兩個檔案覆蓋\PALM\DeviceCustomizer\Treo650.ROW,重新執行三~五的步驟!
九、將你想加入的程式在中間視窗下,用一個一個點擊的方式加入右邊的視窗!特別注意ace-palmos.zip最好不要超過8Mb,不然會無法升級韌體!(升級會失敗,但不會造成Treo 650無法動作)
十、按下T650Tool的Build It!按鈕,並將\PALM\DeviceCustomizer\CustomRom內新生成的ace-palmos.zip和ace-palmos.zip.md5兩個檔案覆蓋\PALM\DeviceCustomizer\Treo650.ROW,並將\PALM\DeviceCustomizer\CustomRom刪除!
特別注意:因為T650Tool本身設計有一些Bug,例如加入自行增加的檔案不能使用Select All按鈕,只能用一個一個點擊的方式加入右邊的視窗,否則boot.conf會沒有紀錄!
另外show boot.conf按鈕的功能是是查看boot.conf的內容(boot.conf記錄必須與ROM檔案對應),如果你打開看了,一定不能點右上角的X按鈕關掉,必須使用back按鈕退出,否則生成的boot.conf檔案是空的,結果就是Tero 650到新加坡旅行!
![[分享] Treo650 自訂韌體升級](http://attach.mobile01.com/attach/200506/mobile01-309cdb40f287394c8ecb292db7796588.jpg)
所以升級前一定要檢查ace-palmos.zip內的boot.conf檔案大小及內容。切記!切記!
十一、清空或格式化你的SD卡,並使用讀卡機將整個\PALM目錄複製到SD卡根目錄下。
十二、使用磁碟工具再度確認SD卡讀寫沒有問題,並確認你的Treo 650已正確完成備份!
十三、將Treo 650插上充電器或USB傳輸充電線,然後插入SD卡,Treo 650會自動執行升級程式。
十四、至此已經你盡人事了,其餘一切各聽天命吧!:D
原則上只要執行後不會更動資料的程式或文件大多都可以移至ROM內,目前已確定無法移入ROM內的有:
PenP
mRing
NotePad PNG Library
SplashPhoto
PocketTunes
4cast
2day
Phone Technician
flight status
keycaps 600
pxaclocker
目前綜理各個更新韌體失敗的原因,主要有:
一、SD卡讀寫問題:
目前已知高速及大容量的SD卡容易造成更新失敗。
二、自訂精簡版ROM時誤刪檔案:
ROM內哪些檔案可安全移除請參考filelist.pdf說明!
三、Boot.conf檔案錯誤:
所以升級前一定要檢查ace-palmos.zip內的boot.conf檔案大小及內容。切記!切記!
四、自行加入的檔案有問題:
最常見的是忘記將必須的檔案加入,嚴重時可能造成無限循環開機!
例如加入SplashID時忘記將splashID_enUS語系檔加入,結果就是無限循環開機!B)
五、愛機突然想要出國旅行:
原則上不會發生,但是如果遇到了,我只能告訴你: 趕快去簽樂透吧!|)