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
32bitSaviour3mo 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
Techist3mo ago
Ok, bro. I will look at it real quick.
melta101
melta1013mo ago
beagleboard
Techist
Techist3mo ago
Any structured course on how to run embedded Linux on it?
melta101
melta1013mo ago
Structured course Hmmm None that ik of
undefined.elf
undefined.elf3mo 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.elf3mo 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
Techist3mo 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
Techist3mo ago
But thanks, I might just buy it and go with the bumpy ride.
melta101
melta1013mo 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
melta1013mo ago
also i forgot to ask what exactly do you want to learn in linux? @Techist
melta101
melta1013mo ago
honestly its quite large to comprise anything of
Techist
Techist3mo ago
I want to understand how to develop embedded Linux applications for Linux supported microprocessors... Learn custom: Drivers development. Linux - based operating system.
melta101
melta1013mo ago
Are you fine with book reading?
Techist
Techist3mo 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
Techist3mo ago
Yes, I'm fine with that.
melta101
melta1013mo ago
it uses 5.10 kernel but should'nt have changed much to latest tag 6.12
melta101
melta1013mo ago
in terms of learning about it
Techist
Techist3mo ago
Thank you so much! I appreciate.
melta101
melta1013mo ago
see, there is next to know difference between desktop linux and embedded linux at its core
melta101
melta1013mo ago
the programs you run on desktop will do the same task in an embedded env provided its the same arch
Techist
Techist3mo 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
melta1013mo 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
melta1013mo 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
Techist3mo ago
This makes much sense now. Thank you so much.
Ming
Ming3mo 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
Techist3mo ago
I have "user friendly" experience with just Linux. I will order one tonight then.
Ming
Ming3mo 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
melta1013mo ago
yea, as the capes have to be compatible to every boards
Ming
Ming3mo 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
Techist3mo ago
I will start soon as am done with my current project tomorrow. I appreciate the guideline and resource, thank you!
undefined.elf
undefined.elf3mo ago
What about Raspberry Pi?
undefined.elf
undefined.elf3mo ago
I already have few on my desk
undefined.elf
undefined.elf3mo ago
If I want to try embedded linux someday
Ming
Ming3mo 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.elf3mo ago
what hardware you will suggest for a beginner?
Ming
Ming3mo 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.elf3mo ago
gonna buy one beagle bone
Techist
Techist3mo ago
GitHub
GitHub - spizytek/task_scheduler_stm32f429
Contribute to spizytek/task_scheduler_stm32f429 development by creating an account on GitHub.
ZacckOsiemo
ZacckOsiemo3mo ago
do you want to present this at one of our hacking sessions
Techist
Techist3mo ago
I would love to sir. When exactly?
ZacckOsiemo
ZacckOsiemo3mo ago
can be the Wednesday after next?
Techist
Techist3mo ago
12th of December?
Techist
Techist3mo ago
Ok then.
ZacckOsiemo
ZacckOsiemo3mo ago
Yes!

Did you find this page helpful?