Skip to content

This project aims to build an Embedded Linux System, in order to analyze the chip from the power-on execution of the first instruction to the entire system running, based on qemu simulator development board. 本项目旨在真正从0开始构建嵌入式linux系统,为了剖析芯片从上电开始执行第一条指令到整个系统运行,基于qemu定制模拟器开发板。

License

Notifications You must be signed in to change notification settings

pengl1/quard_star_tutorial

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux ci Windows ci Macos ci Documentation Status CodeFactor GitHub tag (latest SemVer) GitHub All Releases GitHub stars GitHub forks Gitee stars Gitee forks

Building Embedded Linux System based on QEMU

English | 简体中文

Logo

Introduction

This project aims to build an Embedded Linux System. In order to analyze the chip from power-on to execute the first instruction to the entire system running, related application services are started, so the real board on the market is not used, based on the qemu simulator Development board, and does not use the fast loading elf file method provided by qemu, so we need to download the qemu source code, write our own (or use qemu's own) hardware ip-core simulation code to customize our own hardware board. This project is synchronously produced Blog(2021.8.11: Now I start building the documentation using readthedocs, the content is the same as the blog), so the project should try to ensure that it is submitted every time a feature is added, so that the index can track the development process and correspond to the specific chapters of the blog.

Environment Setup

Ubuntu20.04 needs to use apt to install the package:

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

Hardware Architecture

The figure below shows the current virtual hardware architecture, which will be continuously updated as the project progresses.

Hardware Architecture

Software Flow

The following figure shows the current software flow, which will be continuously updated as the project progresses.

Software Flow

Memory Distribution

The following figure shows the current memory distribution, which will be continuously updated as the project progresses.

Memory Distribution

Development Note

Develop Note

More

The main branch of the project is currently a stable branch, which is used for supporting tutorial documents. The next-kernel branch is used to learn the latest functions on the experimental kernel. Periodically sync with linux-next.

About

This project aims to build an Embedded Linux System, in order to analyze the chip from the power-on execution of the first instruction to the entire system running, based on qemu simulator development board. 本项目旨在真正从0开始构建嵌入式linux系统,为了剖析芯片从上电开始执行第一条指令到整个系统运行,基于qemu定制模拟器开发板。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published