前面几篇文章我们完成了Crosvm的编译和安装,以及依赖库的安装。本文将详细阐述一下如何开发和调试crosvm。
我的开发环境是Windows工作机+Ubuntu开发机。当然,可以仅仅用一个Ubuntu做为开发机就可以搞定所有的事情,这种情况最为简单直接。之所以这么做,因为需要使用windows的office,N多年来也习惯了Windows office。出差出门啥的,不需要带两个电脑。
所以,windows中使用的IDE是MS VScode。免费软件,自行下载。
创建mini虚拟机镜像
ELF可执行文件详解
本文我们来一起探索下ELF的真容。我们将尝试从头开始以十六进制生成Linux的”Hello world”程序。为了讲解最底层的ELF原理,我们这里尽量不使用gcc,ld等编译工具。希望通过本文,让读者对操作系统如何加载和运行程序的原理有所了解。
为了使生活更轻松,本文将仅关注一种体系结构:AMD64(x64)和一种操作系统Linux。不需要编译器、链接器甚至标准库。我们创建最简单的ELF可执行程序,直接使用系统调用。我将详细介绍并描述所有“源代码”,即十六进制的文件。然后使用工具’xxd’将其转换为二进制文件。
创建ChromeOS虚拟机
Ubuntu中玩转Android模拟器
由浅入深CrosVM(四)—— 虚拟机的键盘鼠标输入
由浅入深CrosVM(三)—— 虚拟机的网络配置
所有虚拟机都面临的问题——网络访问。关于虚拟机的网络模型在前文 QEMU虚拟机网络模拟已经有过详细的描述。基于上篇文章,这里简要说明下如何在CrosVM的虚拟机中使用网络。