I want to learn the basics of embedded linux. To do this I am assuming that I need to go and buy some sort of hardware board and have the linux kernel code.
I have no idea where to start with this and any tips/pointers would be most welcome. Ideally I would like people to point out a full system (e.g. this "board kit with linux" with these "manuals" are very good).
Also cost is a factor as I am doing this personally not as a business : )
Thanks very much, Code
I have been working with Linux for 4 years and in embedded systems for 3 years now. If you are driven by your interest/passion then it will not be much difficult for you. The courses offered are really not that bad though majority of the institutions that offer them lacks quality faculty and hands on approach.
To become an embedded Linux developer, you need to have a bachelor's degree in computer science or a closely related field and a number of technical skills related to Linux development. These include knowledge of different scripting languages, as well as programming languages like C and C++.
Embedded Linux, though utilizing the same Linux kernel, is quite different from the standard Linux OS. Embedded Linux is specifically customized for embedded systems. Therefore it is has a much smaller size, requires less processing power and has minimal features.
Embedded Linux is flexible, low-cost, open-source, and gets adapted to specific-purpose microprocessors. Compared to proprietary embedded operating systems, Linux allows multiple software, development, and support vendors; it has a stable kernel and provides the ability to read, modify, and redistribute source code.
You will need:
1 - Boards: I started with a beagleboard. A new beaglebone black is available now. There's a large support community for the beagles; many howto pages here and here, and ready to install images. You can also build the image yourself (step 3). These boards have most of the peripherals that you may need to play with, and can also be used as extra computer !
2 - Books: As Mali noted, Linux is a fast moving object, but in the early phases of learning you will need a solid reference. I'd suggest "Embedded Linux Primer: A Practical Real-World Approach" as it has many examples and takes you step-by-step. There's also "Building Embedded Linux Systems".
3 - The firmware: a) toolchain, b) root filesystem and c) kernel image. "Buildroot" is the easiest to start with. Openembedded and Yocto have a very steep learning curve. "Embedded Linux Primer: A Practical Real-World Approach" has some examples on how to use buildroot.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With