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