Course Description

Learn the Essentials of creating uBoot, Linux and YOCTO for a board

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.

Get Certificate



Every student who actively engage with the course activities will receive a personal “The Essentials of Porting Software” Certificate.

Click here to see the course certificate
Watch this short video about the course (Duration: 1min 23s)

THIS COURSE IS FOR: Beginners, Hobbyists, Students and Engineers.

What will you learn?

All these you will learn during this course:

  • Lesson 1:
  • 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)
  • Lesson 2:
  • 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)
  • Lesson 3:
  • 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)
  • Lesson 4:
  • 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)
  • Lesson 5:
  • 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)
  • Lesson 6:
  • 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)
  • Lesson 7:
  • 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)
  • Lesson 8:
  • 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)
  • Lesson 9:
  • 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)
  • Lesson 10:
  • 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)

More Information

Price
Starting from 99 USD

Duration
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.

Technical Requirements
Windows or Linux PC

Optional
OpenRex MAX board. This board is not required for the course, but it will help you to test your code.

100% Money Back Guaranteed for up to 30-days !

Check Prices OR Subscribe Here > > >

Our Happy Students

See what people are saying about this course

All these comments are from emails we receive. Thank you very much. (Published with approval)
​The material is very well presented with all the details. As a Hardware engineer, its been very easy to understand and follow. Its been very helpful.
Pavan, US
Thanks for all the great material! It’s been fantastic!
Randy, US, Glassboard
I would like to thank you so much for your super-awesome online courses. They are really useful for young engineers like me, full of information and inspiration.
Bahman, Denmark
I really enjoyed the course and had much fun. I’m going to take the Advanced PCB Layout Course course as well :-)
Pablo, Spain

Questions & Answers

What is the time limit to get course certificate?

There is no time limit to upload activities and ask for certificate. You can do it anytime, even if your course is finished.

I need an offer or proforma invoice. How can I get it?

Click here and fill out the form. We will then send you an offer / proforma invoice with payment information.

I can not use Paypal, how can I pay?

Click here and fill out the form. We will then send you an offer / proforma invoice with payment information.

Can I use credit / debit card for payment?

Yes, you can. During payment, you will be redirected to secure Paypal website. Simply select “Paypal Guest Checkout”. You do not need to have Paypal account to be able to pay through Paypal.