Linux is a great OS for embedded devices. Good knowledge of linux layers from the kernel to the user application is a key to the success of the final product. Porting linux to a custom board can also be a complex task depends on the differences between the evaluation board and the custom board.
This course goes deep inside the development process of an Embedded linux system covers many practical tasks in user space and kernel space. It covers how to port linux to a custom board, how to use linux effectively and some patterns and good practices