哈工大硕士毕业,就职于阿里巴巴YunOS事业部,主要从事工具开发
一、前言 android源码中有很多product,进行配置时,会将源码中所有product的信息都读进来(不用的product的信息也会被读进来),其中每个product,可以包含如下信息 # # Functions for including ...
9p是啥,网络文件系统,用于共享目录。当然,qemu中使用9p是用于host和guest中共享目录,也不需要网络的支持,而是需要virtio的支持。 qemu启动参数需要添加: -fsdev local,security_model=passthr...
代码版本qemu1.5,只看linux下使用kvm加速的,guest为x86的。 vl.c:main atexit(qemu_run_exit_notifiers); vl.
代码版本:qemu1.5 一、qemu有哪些参数 1、qemu-options.hx文件 qemu可用参数位于qemu-options.hx文件中,例如: DEF("kernel", HAS_ARG, QEMU_OPTION_kernel, \...
本文所用qemu为1.5版本的,不是android emulator的。 之前几篇文章介绍的都是android emulator中的设备模拟。一些是android自己加的platform bus上的虚拟设备;一些是qemu自己的虚拟设备,但是这部分代码很旧,没有使用到QOM模型。
queue.h中是qemu使用到的一些基础的数据结构,比如QLIST,QSLIST,QSIMPLEQ,QTAILQ。 本文主要介绍QLIST的数据结构,其它几种数据结构与之类似。
ubuntu12.04下使用android emulator,启用kvm加速,模拟i8259中断控制器的代码比较旧,对应于qemu0.14或者之前的版本,这时还没有QOM(qemu object model)模型,虚拟设备的代码是比较简单的。
ubuntu12.04下使用android emulator,启用kvm加速,模拟i8254定时器的代码比较旧,对应于qemu0.14或者之前的版本,这时还没有QOM(qemu object model)模型,虚拟设备的代码是比较简单的。
为什么内存管理和IO映射要放一起呢?因为IO映射有memory map io(MMIO)和port map io(PMIO)两种,其中MMIO和内存管理有关的。 MMIO和普通内存的访问的汇编指令是相同的;PMIO有自己的汇编指令。
一、概述 据说qemu的gpu的实现,运行起来非常慢。所以android emulator提供了一种use host gpu的方式,guest os可以使用host机器的opengl库去画图,速度快很多。
一、概述 framebuffer是啥就不用详细说了吧,需要注意的是android emulator的framebuffer貌似用处不大,因为我之前用android emulator运行x86镜像时,可能是分辨率选得太大了,/dev/graphics/fb0文件都没有产生,系统却可以正常跑,因为系统用的是DRM方式。
一、概述 本篇和第二篇是强相关的,需要结合第二篇一起看。 以boot-properties为例,注意不需要看ANDROID-QEMUD.TXT,这个是和guest os中的qemud进行相关的,已废弃。
一、概述 qemu pipe也是一个虚拟设备,是一个通用的虚拟设备,用于提供guest os和emulator通信的功能,类似于一个抽象的通信层,这样就不用写很多虚拟设备了。
一、概述 本文使用的android版本是5.1.0_r1,goldfish内核版本是3.4,android镜像是x86架构的。本文以battery为例,完整地介绍了虚拟设备的实现和使用。
错误方法: import urllib2 req = urllib2.Request('http://127.0.0.1/longerrorpage') try: response=urllib2.
android api22, arm images root@generic:/ # cat /proc/version Linux version 3.4.
源于systemd的例子 先看bus-error.h中的一个宏: #define BUS_ERROR_MAP_ELF_REGISTER \ __attribu...
使用django搞一个东西玩,python manager.py runserver的时候,一切正常。将项目部署到apache之后,出现了问题。定位到问题所在: if not os.
有一个BaseHTTPServer,名为A,监听端口12346;它有10个子进程,通过os.system("nohup xxxx &")启动,也是BaseHTTPServer,名字分别为B0~B9,分别监听9000~9009。
对于int型的,使用open,write,read,close操作,对于FILE*型的使用fopen,fwrite,fread,fclose操作 标准输入,int fd = 0,int fd = STDIN_FILENO,FILE *f = stdin,...
开发环境ubuntu12.04,x86_64,gcc4.6 arm板子环境armeabi,32bit,gcc5.3 以shell里面经常用到的file程序为例子 从ftp://ftp.astron.com/pub/file/上面下载源代码,因为我的ubuntu使用的是file5.09,不支持编译最新版本的file.5.25,所以我就下载file5.09了。
为了研究ELF文件装载到内存的哪里,以及从哪里开始运行程序,环境:ubuntu12.04 64位,gcc4.6.3。 使用的源代码是: #include void hello(void) { exit(42); } int mai...
在桌面上有一堆.cpp和elf文件以及shell脚本,我想写一个脚本删除所有的elf文件 #!/bin/bash for filename in `ls` do file $filename | grep ELF; if [ $? ]; then rm $filename fi done 结果所有文件都被删除了,原因是 [ 0 ]是true,[ 1 ]也是true,应该写成if [ $? == 0 ] 写C语言写习惯了,if里面可以不加==0,然后就亏大了。