馬上加入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都有類似的內容. |