kk Blog —— 通用基础


date [-d @int|str] [+%s|"+%F %T"]
netstat -ltunp
sar -n DEV 1

查看所有(挂载、未挂载)的分区

blog.chinaunix.net/uid-22731254-id-3222708.html

下面的例子都是围绕/system目录。

使用df命令查看

1
2
3
4
5
6
7
8
9
10
11
12
13
# df
df
Filesystem Size Used Free Blksize
/dev       197M 64K   197M 4096
/mnt/asec  197M 0K    197M 4096
/mnt/obb   197M 0K    197M 4096
/system    295M 245M  50M  4096
/data      755M 26M   728M 4096
/cache     188M 4M    184M 4096
/HWUserData 2G 1024K  2G   32768
/cust      59M 14M    44M  4096
/mnt/sdcard 7G 753M   6G   32768
/mnt/secure/asec 7G 753M 6G 32768

看到/system分区有295MB的大小。

接着查看/proc下的partitions

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
# cat /proc/partitions
cat /proc/partitions
major minor #blocks name

179    0    3817472 mmcblk0
179    1    20      mmcblk0p1
179    2    300     mmcblk0p2
179    3    133120  mmcblk0p3
179    4    1       mmcblk0p4
179    5    12288   mmcblk0p5
179    6    196608  mmcblk0p6
179    7    4096    mmcblk0p7
179    8    3072    mmcblk0p8
179    9    4096    mmcblk0p9
179    10   3072    mmcblk0p10
179    11   3072    mmcblk0p11
179    12   393216  mmcblk0p12
179    13   786432  mmcblk0p13
179    14   4096    mmcblk0p14
179    15   8192    mmcblk0p15
179    16   20480   mmcblk0p16
179    17   4096    mmcblk0p17
179    18   81920   mmcblk0p18
179    19   2154496 mmcblk0p19
179    32   7761920 mmcblk1
179    33   7757824 mmcblk1p1
31     0    4096    mtdblock0

其实,可以在/proc/mounts下面看的更直接。。。

ME722(A953)刷机教程

ROM

二楼刷机包 http://bbs.gfan.com/android-2448659-1-1.html

这里的可以直接下 http://bbs.gfan.com/android-4905385-1-1.html

这个包还行 http://115.com/file/bw6u2lnn

工具

RSDLite5.5汉化版.rar http://dl.dbank.com/c05d7hs3mo

记得装USB驱动

教程

[贴自] http://moto.zol.com.cn/209/295_2084002.html

1

按住X键再按开机键,这时他会出现一个小机器人,按@键 进入recovery模式,双wipe

2

手机关机状态先按住拍照键+音量增大键+开机键 进入bootloader模式

3

把手机与电脑通过USB线相连,并打开RSD刷机工具,如图

4

然后选择刚才下载的底包导入,导入后按start开始刷机,直到手机自动开机,开机后请请再次关闭手机,之后再开机。


http://http://anzhuo.paojiao.cn/android/allinfo/1/56998.html

首先我们要明确,就是BL等级一旦升上去,就再也不能降下来了。

如果降刷,导致的必然结果就是黑屏不能开机,甚至连红色LOGO都看不到,也看不到开机键+音量上的刷机界面。

遇到这种情况,只能通过用RSD盲刷BL和原来一样的底包,来重新开机。

盲刷的具体方法是:

1.拔下电池

2.按住音量加,同时放入电池

3.连接数据线

4.打开RSD,直到RSD识别到手机

5.刷你上次刷的底包去吧。

完整版刷android内核及定制内核模块攻略

blog.sina.com.cn/s/blog_706845a5010129da.html

终于很恶心的把流程走通了

首先列出需要的东西,从网上搜一下就能搜到了:
———源码类———–
1. kernel source
2. .config文件

———工具类———–
1. 交叉编译器arm-eabi-
2. fastboot,adb等android工具
3. mkbootimg用于解包boot.img使用

———脚本类———–
1. repack-bootimg.pl //不一定需要
2. unpack-bootimg.pl

下面是完整版刷内核及内核模块攻略(基于恶心的Galaxy Nexus)
1. 配置交叉编译器等各种环境

1)下载交叉编译器:
$ git clone https://android.googlesource.com/platform/prebuilt

2)写入环境变量中:
export PATH=“/home/xxx/android-toolchain/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH”

2. 编译内核

1)修改内核根目录下的Makefile(一劳永逸的方法…):

1
2
3
4
#ARCH           ?= $(SUBARCH)
#CROSS_COMPILE  ?= $(CONFIG_CROSS_COMPILE:"%"=%)
ARCH            ?= arm
CROSS_COMPILE   ?= arm-eabi-

2)从手机目录: /proc/下找到config.gz压缩文件,拿出来解压成.config,复制到内核源码根目录下
很多情况下手机中没有config.gz,我们刷了N多的rom加内核才找到一个能正常跑并且里面有这个文件的内核…
但是找到了可以一直使用,即使换了别的rom或者内核也没关系
实在没有的话,看第三步。
3)如果2)成功了,执行make menuconfig,看看该配置是否支持netfilter,如果不支持安下面的选上

1
2
3
To use netfilter
Networking support  -> Networking options ->  Network packet filtering framework (Netfilter)
Choose related choices

如果找到config.gz,执行make tuna_defconfig(这个是默认的德州仪器CPU的配置文件,理论上可用,但是我没有成功),然后同样看netfilter配置
4)执行make -j 2
5)完成编译,得到arch/arm/boot/zImage文件

3. 将zImage扔到手机中

1)从手机中拿出boot.img,或者从刷入手机的rom或kernel中拿也可,总之拿到一个手机在用的boot.img
2)执行前确保各个脚本permission正确,将boot.img,zImage,脚本unpack-bootimg.pl,可执行文件mkbootimg,放于同一个目录下。
3)执行脚本com.sh:(com.sh内容如下),用于将zImage打包进boot.img形成我们自己的kernel:newtestboot.img

1
2
3
4
5
./unpack-bootimg.pl boot.img
cd boot.img-ramdisk/
find . | cpio -o -H newc | gzip > ../ramdisk-repack.cpio.gz
cd ..       
./mkbootimg --kernel zImage --ramdisk boot.img-ramdisk/ramdisk-repack.cpio.gz --base 0x30000000 -o newtestboot.img
4. 手机进入bootloader模式,利用fastboot刷入newtestboot.img

1)$ adb reboot bootloader
2)$ fastboot boot newtestboot.img
若出现permission denied,waiting for devices之类的问题,执行
$ sudo vim /etc/udev/rules.d/51-android.rules
在规则中添加
若出现permission denied之类的错误,执行
$ sudo vim /etc/udev/rules.d/51-android.rules
在规则中添加:

1
2
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
    SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"
这个的作用是将usb权限以及配置与adb或者fastboot配对,特别是fastboot由于是通过usb线刷的,必须保证usb口是匹配的。
5. 此时不出意外就是完成了内核刷入,下面将内核模块加载进去就简单了
6. 编译内核模块

1)利用我们的内核源码作为头文件,交叉编译器作为编译器来编译内核模块,Makefile文件写法如下:

1
2
3
4
5
6
7
8
9
10
11
KERNELDIR := /home/carelife/android_icecream/android_kernel/CyanogenMod
PWD :=$(shell pwd)
ARCH=arm
CROSS_COMPILE=arm-eabi-
CC=$(CROSS_COMPILE)gcc
LD=$(CROSS_COMPILE)ld
obj-m := netCatch.o
modules:
        $(MAKE) -C $(KERNELDIR) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) M=$(PWD) modules  
clean:
        $(MAKE) -C $(KERNELDIR) M=$(PWD) clean
7. 加载KM
1
2
3
4
  1)$ adb push /your_kernel_module_position /sdcard/
  2)$ adb shell
  #cd sdcard
  #insmod your_kernel_module_name
8. 查看debug信息

1)$ adb shell dmesg
这个方法的实质是从手机IO缓存中读取print信息,输出到电脑屏幕上,所以是一个固定时间更新的静态查看信息的方法,十分不利于调试
2)等待寻找其他debug方法…