綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[討論] 關於XT910刷機腳本的撰寫

[複製連結] 查看: 1049|回覆: 0|好評: 0
跳轉到指定樓層
樓主
四角褲亞瑟 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2013-9-8 10:46

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
本帖最後由 四角褲亞瑟 於 2013-9-8 10:58 編輯

最近剛把用了很久的4.0.4升級到4.1.2,照例要玩極度精簡.
我比較了兩個ROM的腳本,發現結構大致如下----

1.雙清與刪除舊資料
ui_print("Wiping cache...");
mount("ext3", "EMMC", "/dev/block/cache", "/cache");
delete_recursive("/cache");
ui_print("Wiping dalvik-cache...");
mount("ext3", "EMMC", "/dev/block/userdata", "/data");
delete_recursive("/data/dalvik-cache");
ui_print("Mounting your system...");
mount("ext3", "EMMC", "/dev/block/system", "/system");
package_extract_file("system/etc/releasetools/fixperm.sh", "/tmp/fixperm.sh");
set_perm(0, 0, 0777, "/tmp/fixperm.sh");
ui_print("Deleting old system files...");
delete_recursive("/system");
2.安裝
package_extract_dir("system", "/system");
package_extract_dir("data", "/data");<-官方Deodex沒這行
3.設定symlinks
----以下相同----
symlink("motobox",後面一長串...);
symlink("toolbox",後面一長串...);
symlink("mksh", "/system/bin/sh");
symlink("/pds/wifi/nvs_map_mac80211.bin", "/system/etc/firmware/ti-connectivity/wl12xx-fac-nvs.bin");
symlink("/data/misc/wifi/firmware/wl12xx-nvs.bin", "/system/etc/firmware/ti-connectivity/wl12xx-upd-nvs.bin");
symlink("Roboto-Regular.ttf", "/system/fonts/DroidSans.ttf");
symlink("Roboto-Bold.ttf", "/system/fonts/DroidSans-Bold.ttf");
symlink("/factory/hdcp.keys","/system/vendor/firmware/hdcp.keys");
symlink("busybox",後面一長串...);
----以上相同----
4.設定權限
----以下相同----
set_perm_recursive(0, 0, 0755, 0644, "/system");
set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
set_perm(0, 0, 0755, "/system/etc/bluetooth");
set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");
set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
set_perm(0, 0, 0444, "/system/etc/install-recovery.cfg");
set_perm(0, 2000, 0544, "/system/etc/install-recovery.sh");
set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
set_perm_recursive(0, 2000, 0755, 0755, "/system/usr/bin");
set_perm_recursive(0, 2000, 0755, 0755, "/system/vendor/bin");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
run_program("/tmp/fixperm.sh");
set_perm(0, 3003, 02750, "/system/bin/netcfg");
set_perm(0, 3004, 02755, "/system/bin/ping");
set_perm(0, 1001, 04770, "/system/bin/pppd-ril");
set_perm(0, 2000, 06750, "/system/bin/run-as");
set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
----以上相同----
官方版只有一串
set_perm(0, 0, 06755, "/system/bin/su");
而自製的ROM改為...
set_perm(0, 0, 06755, "/system/xbin/su");
set_perm(0, 2000, 0755, "/system/bin/sysinit");
set_perm(0, 2000, 0777, "/system/xbin/run-parts");
set_perm_recursive(0, 0, 0777, 0777, "system/etc/init.d");
set_perm(0, 0, 0755, "/system/bin/debuggerd");
set_perm(0, 0, 0755, "/system/etc/init.d");
set_perm(0, 0, 0755, "/system/xbin/zipalign");
set_perm(0, 0, 0755, "/system/xbin/zipalign_apks");
set_perm(0, 0, 0755, "/system/bin/mot_boot_mode");
set_perm(0, 2000, 0777, "/system/xbin/sysctl");
set_perm(0, 2000, 0777, "/system/xbin/crond");
set_perm(0, 2000, 0777, "/system/xbin/crontab");
set_perm(0, 2000, 0777, "/system/xbin/run-parts");
set_perm(0, 0, 06755, "/system/etc/init.d/01sysctl");
set_perm(0, 0, 06755, "/system/etc/init.d/71sqloptimize");
set_perm(0, 0, 06755, "/system/etc/init.d/90modules");
set_perm(0, 0, 06755, "/system/etc/init.d/93overclock");
set_perm(0, 0, 06755, "/system/etc/init.d/98tweaks");
5.卸載
unmount("/cache");
unmount("/data");
unmount("/system");

我想問的是,那一長串的symlinks跟權限設定是有意義的嗎?我看很多ROM都有類似的內容.
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則