Does anyone have a good study plan or resources to get started with embedded Linux

Does anyone have a good study plan or resources to get started with embedded Linux. I want something that will take me down the rabbit hole. Which of the dev. board would you suggest too? Beaglebone or raspberry pi?
46 Replies
32bitSaviour
32bitSaviour5w ago
Hey @Techist bootlin has some good resources https://bootlin.com/docs/
Michael Opdenacker
Bootlin
Embedded Linux, kernel and real-time presentations - Bootlin
Free training materials and conference presentations from Bootlin, covering real-time, embedded Linux system and device driver development.
Techist
Techist5w ago
Ok, bro. I will look at it real quick.
melta101
melta1015w ago
beagleboard
Techist
Techist5w ago
Any structured course on how to run embedded Linux on it?
melta101
melta1015w ago
Structured course Hmmm None that ik of
undefined.elf
undefined.elf5w ago
Fastbit Embedded Brain Academy
YouTube
New Course : Embedded Linux Step by step using Beaglebone
Get the full course here: http://fastbitlab.com/ What will you learn in this course ? Understanding ROM –Uboot-Kernel boot process on Linux-ARM systems and Testing Kernel, Bootloaders compilations Step-by-Step and testing on Beaglebone Hardware U-Boot, MLO, SPL, explanation and Testing Understanding various sub systems of AM335x SOC such as G...
undefined.elf
undefined.elf5w ago
this might help I haven't used it but I saw other embedded related videos from this channel and that seems quite good
Techist
Techist5w ago
I saw it early, some of the course reviews says the course is outdated... And even the exact beaglebone board used isn't even in the market no more. Now, I'm skeptical...
Techist
Techist5w ago
But thanks, I might just buy it and go with the bumpy ride.
melta101
melta1015w ago
i personally havnt used done any structured course what i did was started with LDD, did some basic serial comm and char drivers then moved to LFS(major learning here) then moved to build tools like build root and now to yocto as hobby
melta101
melta1015w ago
also i forgot to ask what exactly do you want to learn in linux? @Techist
melta101
melta1015w ago
honestly its quite large to comprise anything of
Techist
Techist5w ago
I want to understand how to develop embedded Linux applications for Linux supported microprocessors... Learn custom: Drivers development. Linux - based operating system.
melta101
melta1015w ago
Are you fine with book reading?
Techist
Techist5w ago
Also, I'm currently working on a side project. I'm building a task scheduler that schedule tasks in round Robin fashion using the systick timer of the stm32f429i mcu. Each task has their individual allocated private stack... The aim is to understand how real time operating system works in its barest form. I'll keep you guys updated.
Techist
Techist5w ago
Yes, I'm fine with that.
melta101
melta1015w ago
it uses 5.10 kernel but should'nt have changed much to latest tag 6.12
melta101
melta1015w ago
in terms of learning about it
Techist
Techist5w ago
Thank you so much! I appreciate.
melta101
melta1015w ago
see, there is next to know difference between desktop linux and embedded linux at its core
melta101
melta1015w ago
the programs you run on desktop will do the same task in an embedded env provided its the same arch
Techist
Techist5w ago
Ok, are you speaking generally? or just for the examples in the recommended ebook? If yes, how would the desktop handle a program that tries to toogle a gpio pin?
melta101
melta1015w ago
so every board(this includes motherboards) have dts file which defines what all hardware are present. normally a laptop/motherboard don't have any GPIO's as they are commercial products, not development products
melta101
melta1015w ago
1 small thing about the dts part atleast for x86, most of the time they dont use dts for initializing the HW, instead they use BIOS
Techist
Techist5w ago
This makes much sense now. Thank you so much.
Ming
Ming5w ago
Which of the dev. board would you suggest too? Beaglebone or raspberry pi?
I prefer the Beaglebone - mainly because it is fully open, we supported and well documented. Do you have experience with Linux/Embedded Linux - as that would give me an idea of what resources to recommend
Techist
Techist5w ago
I have "user friendly" experience with just Linux. I will order one tonight then.
Ming
Ming5w ago
And even the exact beaglebone board used isn't even in the market no more.
I wouldn't worry about specific board revisions - thhey tend to be minor tweaks to the hardware. The interfaces and calls are stable across revisions (as in the GPIOs don't change)
melta101
melta1015w ago
yea, as the capes have to be compatible to every boards
Ming
Ming5w ago
If you only have "user" experience with Linux, then I would highly recommend starting with "Linux From Scratch" https://www.linuxfromscratch.org/lfs/view/stable/ This will guide you through the process of hand-building your own Linux system. It will give you the best foundation to build on when you start looking at the more complex systems.
Techist
Techist5w ago
I will start soon as am done with my current project tomorrow. I appreciate the guideline and resource, thank you!
undefined.elf
undefined.elf5w ago
What about Raspberry Pi?
undefined.elf
undefined.elf5w ago
I already have few on my desk
undefined.elf
undefined.elf5w ago
If I want to try embedded linux someday
Ming
Ming5w ago
A raspberry pi is ok for anything after the bootstrapping, as it uses some proprietary code to initially boot the kernel. So for kernel development or user space development, it is fine.
undefined.elf
undefined.elf5w ago
what hardware you will suggest for a beginner?
Ming
Ming5w ago
To give the standard embedded answer… it depends 😄 If you want to look at kernel, device drivers or generally use hardware - then the best board is either the one you already have or the one you can get hold of easily. (As it doesn’t matter too much what to use) For low level stuff, I like the BeagleBone black. It is well documented, easy to access uart and options for jtag. For the price it’s great.
undefined.elf
undefined.elf5w ago
gonna buy one beagle bone
Techist
Techist5w ago
GitHub
GitHub - spizytek/task_scheduler_stm32f429
Contribute to spizytek/task_scheduler_stm32f429 development by creating an account on GitHub.
ZacckOsiemo
ZacckOsiemo5w ago
do you want to present this at one of our hacking sessions
Techist
Techist5w ago
I would love to sir. When exactly?
ZacckOsiemo
ZacckOsiemo5w ago
can be the Wednesday after next?
Techist
Techist5w ago
12th of December?
Techist
Techist5w ago
Ok then.
ZacckOsiemo
ZacckOsiemo5w ago
Yes!

Did you find this page helpful?