English | 简体中文
本项目旨在真正从0开始构建嵌入式linux系统,为了剖析芯片从上电开始执行第一条指令到整个系统运行,相关应用服务启动,因此不使用市面上真实的板子,基于qemu定制模拟器开发板,且不使用qemu提供的快速加载elf的文件方式,因而我们需要下载qemu源码,自己编写(或使用qemu自带的)硬件ip相关模拟代码定制属于自己的硬件板卡。本项目同步制作博客专栏(2021.8.11:目前开始使用readthedocs构建文档,与博客内容相同),因此项目尽量保证每增加一个feature就提交一次,方便索引跟踪开发过程以方便对应到博客的具体章节。
ubuntu20.04需要使用apt安装的包:
sudo apt install ninja-build pkg-config libglib2.0-dev libpixman-1-dev libgtk-3-dev libcap-ng-dev libattr1-dev libsdl2-dev device-tree-compiler bison flex gperf intltool mtd-utils libpulse-dev libalsa-ocaml-dev libsdl2-dev libslirp-dev libvirglrenderer-dev libsdl2-image-dev
下图为目前的虚拟硬件架构,随着项目推进会持续更新。
下图为目前的软件流程,随着项目推进会持续更新。
下图为目前的内存分布,随着项目推进会持续更新。
项目main分支目前为稳定分支,配套教程文档使用,next-kernel分支用来学习实验kernel上的最新功能,定期与linux-next同步。
项目仓库目前体积比较大,但是故意没有用submodule的方式管理,主要是考虑可能会有初学者或git不熟练的同学。还望大家谅解。