分享

【实用教程】【骑士原创教程】手把手教你写刷机脚本,小白也能学会做补丁包和rom!

 昵称14584288 2017-11-30

show_progress(0.400000, 0);进度条前进百分之四十
format('ext4', 'EMMC', '/dev/block/mmcblk0p12', '0');格式化system分区
mount('ext4', 'EMMC', '/dev/block/mmcblk0p12', '/system');挂载system分区
mount('vfat', 'EMMC', '/dev/block/mmcblk0p1', '/cust');挂载cust(是为了最后写入boot.img的,因为boot单独在外边,不在system中而且也不是写入12分区的,写入boot.img的语句在倒数第五行)ui_print('Updating SYSTEM...');
show_progress(0.5, 20);
package_extract_dir('system', '/system');把刷机包中所有system下的目录和文件写入到12分区一下symlink的可以理解为创建快捷方式。
symlink('/factory/hdcp.keys', '/system/vendor/firmware/hdcp.keys');
symlink('/persist/msm7630_qcom_wlan_nv.bin', '/system/etc/firmware/wlan/volans/WCN1314_qcom_wlan_nv.bin');
symlink('Roboto-Bold.ttf', '/system/fonts/DroidSans-Bold.ttf');
symlink('Roboto-Regular.ttf', '/system/fonts/DroidSans.ttf');
symlink('libwiperjni_v01.so', '/system/lib/libwiperjni.so');
symlink('mksh', '/system/bin/sh');
symlink('busybox', '/system/xbin/[', '/system/xbin/[[',
        '/system/xbin/arp', '/system/xbin/ash', '/system/xbin/awk',
        '/system/xbin/basename', '/system/xbin/bbconfig', '/system/xbin/brctl',
        '/system/xbin/bunzip2', '/system/xbin/bzcat', '/system/xbin/bzip2',
        '/system/xbin/cal', '/system/xbin/cat', '/system/xbin/catv',
        '/system/xbin/chgrp', '/system/xbin/chmod', '/system/xbin/chown',
        '/system/xbin/chroot', '/system/xbin/cksum', '/system/xbin/clear',
        '/system/xbin/cmp', '/system/xbin/cp', '/system/xbin/cpio',
        '/system/xbin/cut', '/system/xbin/date', '/system/xbin/dc',
        '/system/xbin/dd', '/system/xbin/depmod', '/system/xbin/devmem',
        '/system/xbin/df', '/system/xbin/diff', '/system/xbin/dirname',
        '/system/xbin/dmesg', '/system/xbin/dnsd', '/system/xbin/dos2unix',
        '/system/xbin/du', '/system/xbin/echo', '/system/xbin/ed',
        '/system/xbin/egrep', '/system/xbin/env', '/system/xbin/expr',
        '/system/xbin/false', '/system/xbin/fdisk', '/system/xbin/fgrep',
        '/system/xbin/find', '/system/xbin/fold', '/system/xbin/free',
        '/system/xbin/freeramdisk', '/system/xbin/fuser', '/system/xbin/getopt',
        '/system/xbin/grep', '/system/xbin/gunzip', '/system/xbin/gzip',
        '/system/xbin/head', '/system/xbin/hexdump', '/system/xbin/id',
        '/system/xbin/ifconfig', '/system/xbin/insmod', '/system/xbin/install',
        '/system/xbin/ip', '/system/xbin/kill', '/system/xbin/killall',
        '/system/xbin/killall5', '/system/xbin/length', '/system/xbin/less',
        '/system/xbin/ln', '/system/xbin/losetup', '/system/xbin/ls',
        '/system/xbin/lsmod', '/system/xbin/lspci', '/system/xbin/lsusb',
        '/system/xbin/lzop', '/system/xbin/lzopcat', '/system/xbin/md5sum',
        '/system/xbin/mkdir', '/system/xbin/mke2fs', '/system/xbin/mkfifo',
        '/system/xbin/mkfs.ext2', '/system/xbin/mknod', '/system/xbin/mkswap',
        '/system/xbin/mktemp', '/system/xbin/modprobe', '/system/xbin/more',
        '/system/xbin/mount', '/system/xbin/mountpoint', '/system/xbin/mv',
        '/system/xbin/netstat', '/system/xbin/nice', '/system/xbin/nohup',
        '/system/xbin/nslookup', '/system/xbin/ntpd', '/system/xbin/od',
        '/system/xbin/patch', '/system/xbin/pgrep', '/system/xbin/pidof',
        '/system/xbin/ping', '/system/xbin/pkill', '/system/xbin/printenv',
        '/system/xbin/printf', '/system/xbin/ps', '/system/xbin/pwd',
        '/system/xbin/rdev', '/system/xbin/readlink', '/system/xbin/realpath',
        '/system/xbin/renice', '/system/xbin/reset', '/system/xbin/rm',
        '/system/xbin/rmdir', '/system/xbin/rmmod', '/system/xbin/route',
        '/system/xbin/run-parts', '/system/xbin/sed', '/system/xbin/seq',
        '/system/xbin/setsid', '/system/xbin/sh', '/system/xbin/sha1sum',
        '/system/xbin/sha256sum', '/system/xbin/sha512sum',
        '/system/xbin/sleep', '/system/xbin/sort', '/system/xbin/split',
        '/system/xbin/stat', '/system/xbin/strings', '/system/xbin/stty',
        '/system/xbin/swapoff', '/system/xbin/swapon', '/system/xbin/sync',
        '/system/xbin/sysctl', '/system/xbin/tac', '/system/xbin/tail',
        '/system/xbin/tar', '/system/xbin/tee', '/system/xbin/telnet',
        '/system/xbin/test', '/system/xbin/tftp', '/system/xbin/time',
        '/system/xbin/top', '/system/xbin/touch', '/system/xbin/tr',
        '/system/xbin/traceroute', '/system/xbin/true', '/system/xbin/tty',
        '/system/xbin/tune2fs', '/system/xbin/umount', '/system/xbin/uname',
        '/system/xbin/uniq', '/system/xbin/unix2dos', '/system/xbin/unlzop',
        '/system/xbin/unzip', '/system/xbin/uptime', '/system/xbin/usleep',
        '/system/xbin/uudecode', '/system/xbin/uuencode', '/system/xbin/vi',
        '/system/xbin/watch', '/system/xbin/wc', '/system/xbin/wget',
        '/system/xbin/which', '/system/xbin/whoami', '/system/xbin/xargs',
        '/system/xbin/yes',
        '/system/xbin/zcat');
symlink('toolbox', '/system/bin/cat', '/system/bin/chmod',
        '/system/bin/chown', '/system/bin/cmp', '/system/bin/date',
        '/system/bin/dd', '/system/bin/df', '/system/bin/dmesg',
        '/system/bin/getevent', '/system/bin/getprop', '/system/bin/hd',
        '/system/bin/id', '/system/bin/ifconfig', '/system/bin/iftop',
        '/system/bin/insmod', '/system/bin/ioctl', '/system/bin/ionice',
        '/system/bin/kill', '/system/bin/ln', '/system/bin/log',
        '/system/bin/ls', '/system/bin/lsmod', '/system/bin/lsof',
        '/system/bin/mkdir', '/system/bin/mount', '/system/bin/mv',
        '/system/bin/nandread', '/system/bin/netstat',
        '/system/bin/newfs_msdos', '/system/bin/notify', '/system/bin/printenv',
        '/system/bin/ps', '/system/bin/r', '/system/bin/reboot',
        '/system/bin/renice', '/system/bin/rm', '/system/bin/rmdir',
        '/system/bin/rmmod', '/system/bin/route', '/system/bin/schedtop',
        '/system/bin/sendevent', '/system/bin/setconsole',
        '/system/bin/setprop', '/system/bin/sleep', '/system/bin/smd',
        '/system/bin/start', '/system/bin/stop', '/system/bin/sync',
        '/system/bin/top', '/system/bin/touch', '/system/bin/umount',
        '/system/bin/uptime', '/system/bin/vmstat', '/system/bin/watchprops',
        '/system/bin/wipe');
symlink('wiperiface_v01.so', '/system/bin/wiperiface');下面的set_perm_recursive 是给文件夹赋予相应的权限,以后自己做包的时候可以直接参考下面的内容。set_perm 是给文件赋予权限。大家自几看下不同文件夹和文件需要的权限,看到下面的数字是不是不懂什么意思?读r=4写w=2执行x=1对应的数相加 就是相应的权限。
set_perm_recursive(0, 0, 0755, 0644, '/system');
set_perm_recursive(0, 2000, 0755, 0755, '/system/bin');
set_perm(0, 1000, 04750, '/system/bin/diag_mdlog');
set_perm(0, 1000, 04750, '/system/bin/iptables');
set_perm(0, 3003, 02750, '/system/bin/netcfg');
set_perm(0, 3004, 02755, '/system/bin/ping');
set_perm(0, 2000, 06750, '/system/bin/run-as');
set_perm(0, 1000, 04750, '/system/bin/tc');
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(1000, 1000, 0777, '/system/etc/init.qcom.sdio.sh');
set_perm(0, 0, 0544, '/system/etc/install-recovery.sh');
set_perm_recursive(0, 0, 0755, 0555, '/system/etc/ppp');
set_perm_recursive(0, 2000, 0755, 0644, '/system/vendor');
set_perm_recursive(0, 2000, 0755, 0755, '/system/xbin');
set_perm(0, 0, 06755, '/system/xbin/librank');
set_perm(0, 0, 06755, '/system/xbin/procmem');
set_perm(0, 0, 06755, '/system/xbin/procrank');
set_perm(0, 0, 06755, '/system/xbin/su');
set_perm(0, 0, 06755, '/system/xbin/tcpdump');
show_progress(0.200000, 0);
show_progress(0.200000, 10);
ui_print('Updating BOOT Image...');
package_extract_file('boot.img', '/cust/image/boot.img');这一行是写入boot.img
show_progress(0.1, 0);进度条走百分之十
unmount('/system');卸载system分区
unmount('/cust');卸载cust分区
ui_print('Installation complete!');显示安装结束

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多