Learn the Essentials of creating uBoot, Linux and YOCTO
This is a step-by-step course. During this course you will learn the essentials about porting uBoot, Linux and YOCTO on a custom board.
After this course you will know how to get source code of uBoot, Linux and YOCTO for OpenRex board, you will know how to change the source, add a custom board support, compile it and test it. You can use similar steps to port uBoot, Kernel and YOCTO to your own boards.
THIS COURSE IS FOR: Beginners, Hobbyists, Students and Engineers.
What will you learn?
All these you will learn during this course:
- Prepare a host machine (how to prepare a Linux virtual computer with everything you need for compilation)
- Download YOCTO and create uBoot, Kernel, Device Tree and Filesystem for the reference board (learn how to create images for the reference board)
- Compile YOCTO for a custom board (bitbake YOCTO for OpenRex)
- Create an SD Card needed to boot up a custom board (locate the output files, create SD card with uBoot and Linux)
- Boot up your board to try the generated software (learn how to try the new uBoot, Kernel, Device Tree and Filesystem)
- Setup a new repository with your source code (learn how to setup GitHub and how to use a repository to store your source code)
- Start adding support for your custom board into uBoot (learn how to find which files need to be created and how to modify them)
- Create initial uBoot files with support for your custom hardware (learn which files are important to create and edit)
- Compile uBoot for your custom board (learn what commands you need to run to compile uBoot)
- How to run DDR3 calibration to get values for memory controller (it’s important to get DDR3 controller register values, learn how to get them)
- Uploading and starting uBoot directly from CPU (learn how to run uBoot on a board without any firmware)
- Editing uBoot files to add custom board support (finding the important files and editing them)
- Configuring pins of CPU in uBoot (learn how to setup the proper pin function and pin properties)
- Working with repositories (learn how to upload code changes to GitHub)
- Create files with custom hardware support in Kernel source code (learn which files are important to create and edit)
- Compile Linux for your custom board (learn what commands will compile Kernel)
- How to use uBoot to download and test the new Kernel and Device tree (learn commands to use uBoot for file transfer)
- Create a new meta-layer for a custom board in YOCTO (learn how to tell YOCTO about your new board)
- Add support for your custom board into YOCTO uBoot (learn how to tell YOCTO to compile your uBoot source code)
- Add support for your custom board into YOCTO Kernel (learn how to tell YOCTO to compile your Kernel source code)
- Compile / Bitbake YOCTO for your custom hardware (learn how to generate images from YOCTO for a custom board)
- Create SD card with the new custom images (learn how to create the SD card which will boot up to Linux)
- Rebuild your YOCTO project from scratch (test how your clients and customers will be rebuilding your YOCTO custom source code)
- Add variant support into uBoot for your custom board (learn how to add support into uBoot for a board variant with different CPU and memory size)
- Methods of flashing uBoot (learn how to flash uBoot on the new boards or update it on running boards)
- FUSES / eFUSES / Bootstrap options (learn how to tell CPU from what peripheral it should boot up)
- Add variant support into Kernel for your custom board (learn how to add support into Kernel for a board variant with different CPU and memory size)
- Procedure of updating Kernel on SD card (learn how to update Kernel on existing board)
- How to prepare a downloaded filesystem (learn how to prepare an SD card with downloaded filesystem)
- About uBoot environmental variables and kernel command line (learn essentials about updating uBoot environmental variables and Kernel command line)
- apt-get command in filesystem (learn how to get a filesystem with working apt-get command)
- Add variant support into YOCTO for a custom board (learn how to add support into YOCTO for a board variant with different CPU and memory size)
- Show other people / clients/ customers how they can compile your YOCTO (be sure, other people can compile code for your boards)
- Starting from 99 USD
- Every student who actively engage with course activities will receive The Essentials of Porting Software Certificate.
- 10 Lessons. Each lesson has a tutoring video that is approximately one hour long (the last lesson is shorter). Watch when it’s best for you + activities for practicing.
- Windows or Linux PC
- OpenRex MAX board. This board is not required for the course, but it will help you to test your code.