备份系统中img:dd if=/dev/block/mmcblk0p2 of=/sdcard/boot.img,回车,可得boot.img。
工具
1 2 3 |
|
过程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
注意
打包后的文件用hdrboot看到的一些addr值要和原来一样,一些size的则无所谓
备份系统中img:dd if=/dev/block/mmcblk0p2 of=/sdcard/boot.img,回车,可得boot.img。
1 2 3 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
打包后的文件用hdrboot看到的一些addr值要和原来一样,一些size的则无所谓
下载源码 http://opensource.samsung.com/reception/receptionSub.do?method=sub&sub=F&searchValue=s5830
编译器 https://github.com/AdiPat/Android_Toolchains
编译方法看解开的Kernel的readme。但先注意以下一些再编译:
注意S5830有些驱动,驱动好像是没开源。解开正在用的boot.img,
1 2 |
|
能看到版本为2.6.35.7-perf-CL382966 或者 直接看手机上:设置->关于手机->内核版本。
检查内核的make_kernel_GT-S5830.sh的对应的config(在arch/arm/configs下)文件的CONFIG_LOCALVERSION=XXX,
XXX改成和你手机的这部分'-perf-CL382966'一模一样,不一样这些模块加载不上去,导致开机一直停在三星log那。
编译好后,cp *.ko 到 boot.img-ramdisk/lib/modules/,然后按照 这里 方法重新生成boot.img, 记得zImage用你编译的,在arch/arm/boot/zImage
1
|
|
1 2 3 4 5 6 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
|
参数:
napi : 本地cpu上softnet_data 的backlog .
quota : 一次轮询可以处理的最多报文数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
|
1
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
1 2 3 4 |
|
1 2 3 4 5 6 7 |
|
1 2 3 4 5 6 7 8 9 |
|
1 2 3 4 5 |
|
ruby中带“!“和不带”!“的方法的最大的区别就是带”!"的会改变调用对象本身了。比方说str.gsub(/a/, ‘b’),不会改变str本身,只会返回一个新的str。而str.gsub!(/a/, ‘b’)就会把str本身给改了。
但是gsub和gsub!还有另外一个不同点就是,gsub不管怎么样都会返回一个新的字符串,而gsub!只有在有字符被替换的情况下才会返回一个新的字符串,假如说没有任何字符被替换,gsub!只会返回nil.
1 2 3 |
|
1 2 3 4 5 |
|
1 2 3 |
|
1
|
|
1 2 |
|
1 2 3 4 |
|
1 2 |
|
http://ruby-doc.org/stdlib-1.9.3/libdoc/find/rdoc/Find.html
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
1 2 3 4 |
|