Course DescriptionIn this hands-on training series, Virtualized Embedded Systems Development, we explore the basics of QEMU, OS installation, QEMU networking, and embedded system development for the ARM architecture. In Part 1 we start with the basics of QEMU including how to use QEMU for a generic Linux OS installation and for networking using OpenVPN and TAP/TUN. Then we’ll dig deeper looking at the embedded domain including cross- compilation of the Linux kernel for ARM, how to boot the kernel for QEMU and how to build a small filesystem and then mount it on the vanilla kernel. We’ll start with emulating the ARM processor for two purposes, one to run an ARM program and then to boot and run the ARM kernel.
Next we work with bare-metal programming and explore the need for a bootloader. Then we build an ARM Versatile Platform Baseboard, write some data to the serial port of the processor and test with a bare-metal program which runs directly on the processor. We finish with developing and testing the U-Boot (Universal Bootloader).
Basic Use of QEMU
Building QEMU from source
Creating a New Virtual Machine
Compiling QEMU for ARM
Obtaining an ARM tool-chain
Cross-compiling and running the test program for ARM
Building the Linux kernel for ARM
Modified kernel for u-boot
Download and compile U-Boot
Boot U-Boot in QEMU
PrerequisitesPrior experience with TCP/IP, and the Linux command line as well as familiarity with C or C++.
Applies Towards the Following Certificates
- Virtualization Technology Boeing Certificate : 54 Hour Certificate
*Academic Unit eligibility to be determined by college/university in which you are enrolled in a degree seeking program.