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

原文地址:https://www.cnblogs.com/maogefff/p/7649909.html