内核运行起来以后可以通过uname -a命令查看当前内核是32位还是64位的,普通ELF文件可以用file命令判定是32位还是64位的,但zImage并不能用这个方法。
一个trick是:
用qemu-system-i386 -kernel zImage 启动
如果zImage是64位的,会挂死并提示This kernel requires an X86-64 CPU, but only detected an i686 CPU云云。否则即为32位。
用这个方法检测Nexus Player的Factory Image,发现它的内核是64位的,而安卓系统是纯32位的,都不带64位的lib,WTF。