Android和kernel杂散点集合
Android:
1.编译
普通的编译:
1). source build/envsetup.sh
2).lunch
3).make -jx
make kernel:只重新编译kernel部分镜像,但是不会打包更新boot.img
make bootimage-nodeps:不会编译kernel以及ramdisk,只会将out目录中现有的kernel和ramdisk.img重新打包一次生成boot.img
make ramdisk:只重新编译ramdisk镜像,生成ramdisk.img,但是不会打包更新boot.img
make ramdisk-nodeps:不会编译ramdisk,只会将out目录中现有的文件重新打包一次。out/target/product/xxx/root,比如更改了init..rc之类的文件,只需要修改out/…/root/中对应的文件,然后重新用此命令打包一次,就会生成一个包含更改过init..rc的ramdisk.img
make snod:打包system
2.查看硬件信息
查看主次设备号: cat /proc/devices
查看CPU信息:cat /proc/cpuinfo
查看内存信息:cat /proc/meminfo
查看各分区使用情况:df
查看体系结构:busybox uname -a
查看中断信息:cat /proc/interrupts
查看boot传递给kernel的参数: cat /proc/cmdline
查看分区挂在情况: mount
2.重新挂在某个分区
mount -o remount /通过mount查看到的位置 /system
3.查看和修改环境变量
在android应用程序中有如下方法:System.getenv("SECOND_STORAGE_TYPE");获取环境变量。
通过adb shell方式获取环境并修改。
adb shell
root@android:/ # export
MKSH
PATH
PS1
RANDOM
SECONDARY_STORAGE
SECOND_STORAGE_TYPE
SHELL
TERM
USER
............
root@android:/ # echo $SECONDARY_STORAGE
/storage/sdcard1
root@android:/ # echo $SECOND_STORAGE_TYPE
2
root@android:/ # export SECOND_STORAGE_TYPE=1
root@android:/ # echo $SECOND_STORAGE_TYPE
1
kernel:
mount -o remount,rw systemsystem