Home > Tracks > Embedded Systems Programming

Getting Linux To Run On Your Custom Board

Mohammed Billoo - Watch Now - Currently watching: 0

The ability of silicon vendors to pack more components and capability into a single silicon die has allowed these System On Chips (SoCs) to support Linux. In turn, developers have been able to quickly migrate their application to be deployed "to the edge" without significant rework. The main objective of this session is to provide embedded systems engineers an overview on the steps necessary to get Linux running on a custom board, issues they may face, and how to debug these issues. This session will provide an introduction to Linux and its value in embedded systems, and how it differs from "traditional" Linux that runs on desktops. This session will also discuss how Linux differs from other embedded software paradigms, such as "bare-metal" and RTOS-based application development.

M↓ MARKDOWN HELP
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
code
surround text with
`backticks`
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

Anil
Score: 0 | 6 days ago | 1 reply

Interesting talk !! Should have focussed more on the actual board bringup workflow.

mabSpeaker
Score: 0 | 6 days ago | no reply yet

Thanks for the feedback. I'll definitely focus more on the board bringup workflow, with a proper demo, in a future presentation/blog post.

ZahirQ
Score: 0 | 6 days ago | 1 reply

Great presentation Mohammed. Hope all is well

-Zahir Quijano

mabSpeaker
Score: 0 | 6 days ago | no reply yet

Zahir! Thanks for the kind words. I'm glad you enjoyed it and hope everything is well with you too!

rahulgoradia
Score: 0 | 6 days ago | 1 reply

Very insightful session. Yet not exposed to Embedded Linux much but was able to relate with steps I did to run Linux on iMx 8. Very nice presentation

mabSpeaker
Score: 0 | 6 days ago | no reply yet

Thank you! Glad you benefited from the presentation.

DrewFustini
Score: 0 | 6 days ago | 1 reply

In terms of getting involved with kernel development, are there any IRC channels that you would recommend?

mabSpeaker
Score: 0 | 6 days ago | no reply yet

I don't use IRC so don't know of any channels. But, the best way to get involved is to dive right in. I've become involved in the breadbee project (https://github.com/breadbee/breadbee) and am working on getting the USB controller working. If you see any driver that piques your interest, file an issue and Daniel will help you get started. The lack of HW is not a showstopper - you can pick up the following board to get you started (the processor is a close variant of the one on the final HW):
https://www.ebay.com/itm/USA-Xiaomi-70mai-Smart-Recorder-Lite-1080P-HD-Dash-Cam-Car-DVR-Security-Camera/254538154167?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2060353.m2749.l2649

And you can email me with any questions at mab@mab-labs.com

jimb
Score: 0 | 6 days ago | 1 reply

Nice Job. Good presentation and useful info. I usually do "bare metal" stuff but who knows what might come up.
Thanks

Jim Bernitt

mabSpeaker
Score: 0 | 6 days ago | no reply yet

Thank you!

wbstvnsn
Score: 0 | 6 days ago | 1 reply

Very insightful and a nice intro/overview. Thanks Mohammed!

mabSpeaker
Score: 0 | 6 days ago | no reply yet

Thank you! Glad you enjoyed it.

DrewFustini
Score: 1 | 6 days ago | 1 reply

In the Ethernet DTS example, what is the purpose of having "simple-bus" in the compatible? Would it actually work if there was no driver for the first item in compatible? I've been confused about why DTS files will have "fall back" options in compatible string.

mabSpeaker
Score: 0 | 6 days ago | no reply yet

Drew,
Excellent question. The "simple-bus" marking will result in the corresponding bus to be a simple memory map interface. Its main purpose is to still allow the children of the parent bus node to still be enumerated as platform devices, and allow their corresponding drivers to attempt to interface with the device. The purpose of the fallback options has been to allow at least some driver to get some sort of barebones functionality up for the device. I hope this helps! Let me know if you have any more questions.

OUR SPONSORS