目前看到 Milestone 都是採用 Recovery 去做 Custom Update.
但是 Custom Update 大多需要使用 adb shell 去下指令.
這邊做了一個利用選單的 Custom Update Package, 提供更新者
可以簡單的做出選單來讓使用者更新時不再需要手動下指令.

[2010040202] Milestone Custom Update Package

工作原理:
這個由 Android Recovery 程式修改而來的 Custom Update,
解開後會有 update.zip 以及 CustomUpdate 目錄. 在 CustomUpdate
目錄下有 bin 以及 menu. 所有選單都是擺放在 menu 下面, 而
其中需要的 script 則是放在 bin 下面.

選單檔案內的項目是以 : 來做分隔. 總共有三個項目 "說明:功能:檔案"

例如: init.menu (預設選單)
Reboot system:reboot:
sprecovery initial:init:sprecovery_init.sh
sprecovery backup:shell:nandroid-mobile.sh -b -q
sprecovery restore:menu:sprecovery_restore.menu
sprecovery delete:menu:sprecovery_delete.menu
Root phone:shell:root.sh
Clear system cache:clear_cache:
Clear user data:clear_data:
Remove custom update package and reboot:clear_custom:

目前有的 "功能" 項目:
reboot: 重開機
init: 選單載入時自動執行, 這個項目不會在選單列表上面顯示出來.
   藉由這個項目可以動態產生其他選單, 如範例中的 sprecovery
   restore 與 delete 選單.
shell: 執行項目, 直接指定 CustomUpdate/bin 下的檔案名稱.
menu: 下一層選單, 直接指定 CustomUpdate/menu 下的檔案名稱.
clear_cache: 清除 CACHE 區塊, 與 Recovery 相同.
clear_data: 清除使用者 DATA 區塊, 與 Recovery 相同.
clear_custom: 刪除此工具.

Custom Update Package:
Milestone_Custom_Update_2010040501

Modified Android Recovery Source:
recovery_2010040202_wipe_custom


2010040501:
A. 修正 tar 問題.

2010040202:
A. 修正 "Clear custom update and reboot" 無法執行.

2010040201:
A. 修正 sh 問題.
B. 變更 shell 執行方式.

2010040101:
A. 增加 AdbRecovery.
B. Camera 按鍵可以當做 Select 功能.
C. 內部處理時 LED 會閃爍.
D. AdbRecovery 備份目錄 "Bb*-xxxxxxxx-xxxx" 必須擺在 nandroid/adbrecovery 下面.
E. 修正選單 bug.

2010033101:
A. 修正 sprecovery 無法備份 /data.
文章關鍵字
哦哦 這個好.. 但要花點時間玩 =WW=
貓老闆
kahnmao wrote:
哦哦 這個好.. 但...(恕刪)


之前有提到不想直接刪除系統內的 apk,
可以用這個做出選單項目讓使用者選擇要不要刪除.
選單要是也能中文化 就太威了 XD
貓老闆

在加上一些小東西好比說記憶體測試工具等等, 就可以出 All in One 工具包了..
醒醒阿, 想的還真遠咧...
=_= 從WindowsXP的 SuperXP光碟 變成

Super Android Bootloader?
貓老闆
雖然不知道你在害羞啥?有問題就光明正大的版上討論,別人有相同問題才能一起受益,把問題PM我也沒用,會答的在討論區已經答了,發私訊問絕對不回。
/data似乎沒有正確被mount?
這是開機完成後
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock6 /system yaffs2 ro 0 0
/dev/block/mtdblock8 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock7 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock5 /cdrom yaffs2 rw 0 0
tmpfs /tmp tmpfs rw,size=2048k 0 0
/dev/block/mtdblock0 /pds yaffs2 rw,nosuid,nodev 0 0

這是apply update.zip後
rootfs on / type rootfs (rw)
tmpfs on /dev type tmpfs (rw,mode=755)
devpts on /dev/pts type devpts (rw,mode=600)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
/dev/block/mtdblock20 on /cache type yaffs2 (rw,nodev,noatime,nodiratime)
/dev/block/mmcblk0p1 on /sdcard type vfat (rw,nodev,noatime,nodiratime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,errors=remount-ro)
/dev/block/mtdblock18 on /system type yaffs2 (rw,nodev,noatime,nodiratime)

還是可以寫入/data資料,可是開機進去都不見了
備份時data.tar都是空的
雖然不知道你在害羞啥?有問題就光明正大的版上討論,別人有相同問題才能一起受益,把問題PM我也沒用,會答的在討論區已經答了,發私訊問絕對不回。
czh wrote:
...順便提供兩種2.1簽證的update.zip升級包
有餘力可以研究看看,或許就不用再刷回2.01的還原模式了...(恕刪)


2.1 的 Recovery 已經修正之前問題 Security: Fix typo in recovery EOCD detection.
macleod wrote:
2.1 的 Reco...(恕刪)

這樣就殘念了,看來2.01Recovery還會用好一陣子

真奇怪用sprecovery的update.zip就可以正常mount
rootfs on / type rootfs (rw)
tmpfs on /dev type tmpfs (rw,mode=755)
devpts on /dev/pts type devpts (rw,mode=600)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
/dev/block/mtdblock20 on /cache type yaffs2 (rw,nodev,noatime,nodiratime)
/dev/block/mmcblk0p1 on /sdcard type vfat (rw,nodev,noatime,nodiratime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,errors=remount-ro)
/dev/block/mtdblock18 on /system type yaffs2 (rw,nodev,noatime,nodiratime)
/dev/block/mtdblock21 on /data type yaffs2 (rw,nodev,noatime,nodiratime)

用CustomUpdate的update.zip就算用手動mount也只會出現錯誤
明明都是一樣的fstab
雖然不知道你在害羞啥?有問題就光明正大的版上討論,別人有相同問題才能一起受益,把問題PM我也沒用,會答的在討論區已經答了,發私訊問絕對不回。
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!