I’m not native English speaker, but your pronunciation is perfect, I understand all words you speak, thank you
@ShakilShahadat3 жыл бұрын
The timing of this series couldn't be more perfect than this for me.
@ajayamirtharaj30163 жыл бұрын
Same here dude. Same.
@bastiannenke96133 жыл бұрын
Same here, my lichee pi nano will arrive in a couple Weeks and I already started to go deeper in the matter of Linux and C than I've ever done before.
@antonyalen27453 жыл бұрын
I was just about to skip on the best Linux resource on the internet, thank god I clicked on this video. Please Please make a comprehensive series on the three (especially Yocto). Thanks alot guyz!
@thenoisyelectron3 жыл бұрын
YES! I am SOO happy to see this! Your STM32 series was a fantastic introduction to that micro controller family. If this series is even half as good as that then I am super excited!
@SchecterWolfe Жыл бұрын
while there are many buildroot guides on youtube, only ONE is explained by a guy in a bowtie. Respect
@alejandrocelery3091Ай бұрын
Excellent video, very well sequenced and presented, thanks! I'm NOT buying you a beer just for calling Vi a "very basic editor" 😆
@RichardEricCollins3 жыл бұрын
I've been working with Yocto on and off for a couple of years. It is extremely powerful. Just finished a custom build for a client using i.MX6 ULL chip. Never would have been able to do it without yocto. Looking forward to the series. I still have a lot to learn, I think my work flow needs improving. I've notice over the last three years the need for developers to be using Linux to sky rocket. I'm coming into contact with companies where only the admin staff are on Windows. Management on Mac. Everyone else on Linux.
@einsteis3 жыл бұрын
You should really have a look at the ISAR project which is based off Yocto. It combines Yocto with prebuilt packages from debian/apt.
@evren-52103 жыл бұрын
Does i.MX6 cost efeective? compared to stm32
@batboy493 жыл бұрын
buildroot is WAY easier than yocto. To date I have not seen anything that you could do with yocto that you cannot do in buildroot....easier. Yocto can take years to properly understand, buildroot....basically an afternoon. It is simpler but not hard to customize.
@greppurtorfason4216 Жыл бұрын
Excellent series - Thank you. I use buildroot and yocto quite a bit, and welcome these videos. Notes: a) Append 'status=progress' to the dd line to have an indication of dd's progress. b) When using usermod to add yourself to a group (here dialout), one needs to use 'newgrp dialout' to activate it - else you have to open a new terminal to get it activated. Thanks a lot for all the work that went into making these videos!
@KydroxHD Жыл бұрын
may i ask, what do you use it for? I'm curious on what kind of career direction embedded linux could actually direct to
@astralxing9883 жыл бұрын
For dd command use "status=progress" to actually see the progress of dd command . Nice tutorial !!!
@rodboyce26793 жыл бұрын
The introduction is great. I have worked with buildroot on and off for years. You can split the build into components, boot loaders, kernel, device-tree, root filesystem. This makes updating the kernel easy as long as you can just update each part on your SD card. You can make these components from the buildroot build command line. The best way to figure this out is 'make help' in the buildroot directory, there is a lot of information there. Hope I have not just taken the subject of an up and coming episode of this series. Keep up the good work I will be able to point co-works at this series instead of writing lots of documentation.
@ShawnHymel3 жыл бұрын
You have not...I actually switch to Yocto starting in the next episode :) That's really cool to hear about how Buildroot can be split into components.
@PaulSykesMr3 жыл бұрын
Top marks for clarity. Nice to see what can be a complex subject communicated so clearly.
@Clark-Mills3 жыл бұрын
Nice timing, I'm playing with a AllWinner D1 64 bit RISC-V board, for fun I want to do exactly this. It's on my ever growing stack of ToDo's... Thanks as ever for all your work, it's excellent!
@jyvben15203 жыл бұрын
Risc V, cutting edge, does gcc compile for that ?
@Clark-Mills3 жыл бұрын
@@jyvben1520 Yes! :)
@anoldhippieshideout10803 жыл бұрын
I have been learning linux since before Red Hat's IPO. It's ability to run on old hardware, has made me always think about task oriented hardware. People throw old hardware to the curb because it is running slow. If it only has one task, it is a speed demon at that task
@jerrymorrow52092 жыл бұрын
imagine the amount of old electronics in the landfill due to WINDOZE!!
@stevenbroshar79486 ай бұрын
Been wanting to know what buildroot is/does for some time. I feel that I now have a good foundation. Thanks.
@MatteoCordray Жыл бұрын
Great video! Build time for a raspberry pi zero w (v1.1) took my Thinkpad T470 about 1 hour and 9 minutes to run "make". Excited to learn more from this series!
@molotov-zz6rm3 жыл бұрын
to speed up make times: you can run make with the jobs flag. make -j12 for example for a system with 12 logical cores.
@MA-td2ic2 жыл бұрын
This quality is too good to be free honestly
@MadRajibLab3 жыл бұрын
Thanks Shawn, for your efforts in making these videos.
@muratkancaoglu32843 жыл бұрын
For dd command, using oflag=sync will force every byte written over SD instead of buffer and status=progress to show realtime transfer information
@ShawnHymel3 жыл бұрын
Good to know about the sync argument, thanks! status=progress does not work on my version of Linux Mint, for whatever reason (that status just shows up at the end after dd is done).
@littlenewton63 жыл бұрын
这个视频太棒了!UP主的发音非常精准清晰!
@ItsGosho2 жыл бұрын
That is High Quality Content. It is worth creating a whole course even bigger than the tutorials that will be available with tasks and more detailed explanations!
@fat_pigeon3 жыл бұрын
17:40 Add `status=progress` to the `dd` command line. to show progress. Or pipe through `pv`.
@oldornot3 жыл бұрын
dd status=progress option is available in Ubuntu since 16.04 ;)
@derisis133 жыл бұрын
I'm definitely an openwrt fanboy. Routers are easy to come by (since no-one is happy with their 100Mb gear anymore) and have all the resources to be used as IoT controllers. And they are quite secure as openwrt is built with security in mind.
@gregcooper86472 жыл бұрын
Are you saying you re-purpose the routers to do things besides being a router? Or do you just repurpose them as routers running openwrt?
@electronichome11533 жыл бұрын
Thanks Shawn. I will book this weekend mainly for your great tutors in the past months & years!
@Factory4002 жыл бұрын
This content is super high quality! Relevant, well considered, well presented = USEFUL! Love it.
@marcusk7855 Жыл бұрын
If you add "status=progress" the the dd comand it will show the progress as it goes.
@mixxx20053 жыл бұрын
Very good. Looking forward to seeing next videos 👍👍👍
@chrislamb47233 жыл бұрын
AWESOME! It took me the better part of the day to get this working on an STM32MP157C_DK2 - mostly due to many problems with VirtualBox, but man did I learn a lot! Thank you!
@sanderspeetjens3 жыл бұрын
Btw when using dd you can add status=progress to show output
@nqobilesibisi3544 Жыл бұрын
wow ,im a bit late to the party but im glad i followed all the steps successfully 🎉😅, thank you sir.
@dymastro7883 жыл бұрын
this is awesome, hopefully as great as the stm32 serie
@AdamMaryniuk3 жыл бұрын
Make sure you run the "sync" command after you run "dd" like that to be sure all the writes are actually flushed to the sd card before you remove it.
@ShawnHymel3 жыл бұрын
From what I understand, umount will do a sync before unmounting the drive. So long as I do a `umount` or `sync`, I should be good.
@AdamMaryniuk3 жыл бұрын
@@ShawnHymel you may be right, but in the video you said "now all we have to do is remove the card from our computer" so I figured a clarification would be good :)
@ShawnHymel3 жыл бұрын
@@AdamMaryniuk Good catch, thanks :) Agreed, `sync` or `umount` is always a good idea!
@scienceoftheuniverse91553 жыл бұрын
I really love your tutorials Shawn
@BogdanTheGeek3 жыл бұрын
Would be nice if you could go through some options in buildroot and show how complicated it would be to do something like add an i2c port or add some files to the image.
@ShawnHymel3 жыл бұрын
That's something I'm planning to do in the next few episodes using Yocto :)
@arshammor37293 жыл бұрын
waiting for next part !
@Andy_Rocket5 ай бұрын
Thank you for a wonderful video, it gave me a good introduction, i finnaly got my first Raspberry,and im excited to get started
@JonitoFischer3 жыл бұрын
You can do motor control using FreeRTOS for instance, just use kernel unaware interrupts for time critical interrupts that do the control work and the rest can be easily handled by OS threads. The price you pay is less time for OS tasks...
@jerrymorrow52092 жыл бұрын
i'm a fan of SoC with FPGA for motor control and ARM (maybe multi-core) running embedded linux. best of both worlds
@davidpatry41953 жыл бұрын
Good job Shawn.
@Microcontrollerslab3 жыл бұрын
Correction: We do not have to completely rebuild the entire image in buildroot when we make any changes. We can avoid distclean and buildroot build system will automatically detect which changes are made and it will only build those packages where you make the changes.
@ShawnHymel3 жыл бұрын
Good catch, thanks!
@AhmetKizilay03 жыл бұрын
This is amazing. Looking forward to the next episode!
@Francisco-me2eu8 ай бұрын
Great channel! Direct and concise
@marcushoutzager62253 жыл бұрын
This is awesome. When's part two??
@ShawnHymel3 жыл бұрын
Part 2 dropped yesterday :) kzbin.info/www/bejne/aF6zqKahhteNl8U
@starlino3 жыл бұрын
I like these series, keep them going
@BerndFelsche3 жыл бұрын
Command line is to take charge. GUI is for spectators! 😎
@the_biggest_chungus75082 жыл бұрын
Very true😂
@10e9993 жыл бұрын
Good video. I'm currious about the underlying process here. Where does Buildroot find its cross-compiler and linker ?
@annguyenhoangphu4513 жыл бұрын
Love your video, Shawn. Thank you!!
@AndersJackson2 жыл бұрын
Well, OpenWRT are general and not only for routers. And yes, it has packages, so you have packages that you don't need to rebuild to get.
@tljstewart3 жыл бұрын
Awesome Video! Try status=progress with dd command for progress bar
@ryanmckenna2047 Жыл бұрын
These tutorials are gold
@bensenanehamdane91203 жыл бұрын
Hello Shawn and Digi-Key! Thanks for the amazing introduction to Embedded Linux and Buildroot! how to use gcc on the generated embedded linux image. because when i use pip to install python frameworks, i get a compile error, the system always works with the cross compiler that generated the linux image
@ShawnHymel3 жыл бұрын
Good question! From what I've gathered, you can't use Buildroot to include a compiler on the target (buildroot.org/downloads/manual/manual.html#faq-no-compiler-on-target). You can use another system (e.g. Yocto) to add such packages. In a future episode, I plan to show you how can cross-compile on your host machine to include a custom application in the target image.
@xidameng3 жыл бұрын
I was just looking for this content, and you made a series of tutorial about it... Can I ask that you take my tuition money?
@tstcikhthys2 жыл бұрын
Great overview! I needed this to see what I want to do with my Raspberry Pi. BTW, _router_ (a device that _routes_ packets) is pronounced identically to "rooter" because _route_ is pronounced identically to "root". A _router_ (a device that _routs_ things) would be a device that creates grooves in wood or metal, since the word there is _rout._
@honeybadgerisme3 жыл бұрын
Oo! Can't wait to try next! lolz...still doing my first linux project!
@doditsuprianto64743 жыл бұрын
i am waiting part 2
@rverm10003 жыл бұрын
Excellent I've been learning python for 2 years now. Was wondering if Linux would be useful in conjunction with python. I don't particularly care raspberry pi because of the amount of current it uses. Can't really do a stand alone project with it. But I'm glad brought up another board to use which is probably less of a energy hog. Really cool that SpaceX uses Linux to run the rockets
@canwenot5733 жыл бұрын
In my opinion, Linux and Python are two peas in a pod. Even if you're not too interested in Raspberry Pi; Linux itself, as pointed out in the video, is a very popular and powerful operating system. Learning how to use Linux isn't too difficult if you're already familiar with systems like Windows or MacOS. There is also a massive community of developers and users to support you in your pursuits. Python and Linux are both very useful in terms of embedded systems. SBC's and other small standalone electronics can be hard to develop for, especially if the hardware or applications are custom. This video series should elaborate more on the challenges of programming on embedded devices, but suffice it to say that having a good working knowledge of Linux is very handy if you're looking to program embedded devices yourself. I hope that helps.
@raul0ca3 жыл бұрын
Adafruit m0 express uses Circuitpython and uses less than 500 mA
@BenediktHauer2 ай бұрын
18:03 I would definitely run „sync“ before unplugging! There might be some data loss otherwise…
@mesuttopuzlu62482 жыл бұрын
Nice video series.... Thank you Mr. Clark Kent :)
@VasaMusic4383 жыл бұрын
Great Video !!! Please, more !!!
@alexander1989x10 ай бұрын
But but but, OpenWrt USES Buildroot to build its images.
@sanyamarora48763 жыл бұрын
Please start with an FPGA series!!
@masifamu3 жыл бұрын
Thank you very much for making suck an informative video on buildroot. you made it really easy to understand.
@Paint2Luv Жыл бұрын
This guy looks like Henry Cavill.
@3bmon3em2 ай бұрын
Cap
@danr5438 күн бұрын
From wish😂
@bruno661307311 ай бұрын
@ShawnHymel The keyboard you are using looks and sounds amazing! What is it?
@joebro3912 жыл бұрын
This was so clear and concise. Thank you!
@sorrowseal3 жыл бұрын
17:40 use ctrl+t to display dd progress.
@ShawnHymel3 жыл бұрын
Thanks for the tip! I'll give it a shot, but I don't know if it works on all flavors: askubuntu.com/questions/215505/how-do-you-monitor-the-progress-of-dd
@dng882 ай бұрын
Very good as usual.
@taylorshinАй бұрын
So the build process is kind of similar to Linux Kernel compile process? make config/menuconfig/xconfig generates scripts for my corresponding settings, then we actually make to generate vmlinuz images. I think we still do this on Gentoo Linux every day. by the way, 'make -j 8' makes the compilation process faster. -j X means number (X) of concurrent jobs when compiling the stuff. Say we need to compile 1000 files but not many of them are strictly dependent to others, then we can compile those files at the same time. That's where -j X command shines. I was able to compile the image in 10 minutes with Ryzen 5 5600G CPU =D
@zetaconvex19872 жыл бұрын
Very interesting, and very nicely explained.
@francisco.mendes Жыл бұрын
Great helpful video! Thank u so much!
@ereyes952 жыл бұрын
I have wanted to dive into embedded Linux for a few years now and was wondering if you'd recommend this book: Mastering Embedded Linux Programming 3rd Edition
@pma35982 жыл бұрын
Very good quality stuff, thank you !
@RajeevSharma-m8l5 ай бұрын
Linux mint is my favorite.
@akshayvision-wh5hp5 ай бұрын
Can you make video on odyssey stm32mp135d board for how to build a buildroot operating system on that board
@kevinlu-j5c4 ай бұрын
Thanks for your class which is really great, but I have a question here, as you're using STM32MP developing board, why didn't get the img and all developing stuff from ST directly, I think it will be more efficient than we build it ourselves, am I right? Hope to get the reply, thanks.
@RajaGupta-iw7wg Жыл бұрын
Well explained.
@steveandamyalso3 жыл бұрын
@2:06 I think you mean JTOS, as in Jitter Time Operating System.
@karimzidan30679 ай бұрын
Thank you for your effort 🤍
@scharkalvin3 жыл бұрын
I like gtkterm for a terminal program. This is a GUI program, and it runs under KDE with some extra baggage.
@vediam Жыл бұрын
Harika bir video. Çok bilgilendirici
@samuelsirois74553 жыл бұрын
That guy is amazing
@ianng82432 ай бұрын
Do you recommend using esp32 for the board?
@saturdaysequalsyouth2 жыл бұрын
18:18 How did you know UART 4 was tied to the on-board ST-Link debugger? And how did you know the config file has UART 4 used as the console port by default?
@matt_0f_all_steams435Ай бұрын
Couldn't I still run a customized Linux distribution on a raspberry pi? I wasn't sure if it was absolutely necessary to purchase a STM32MP157D-DK1 board to follow along instead of just using a raspberry pi I already have.
@lionux650610 ай бұрын
Thanks for this video 👍🏻
@theengineer9910 Жыл бұрын
Thank you
@human890209yang5 ай бұрын
The stm32 board is expensive. Why not pick a raspberry pi or beaglebone?
@MikePollock-m4e24 күн бұрын
When I inserted my SDCard in my computer, I didn't see the mount point in WSL2. Is there a way to fix that?
@rakesh231rakesh Жыл бұрын
Can I use STM32MP157f-dk2 kit along with this series?
@R90916 Жыл бұрын
What are some simple projects I can do to practice this
@JairoGustavo3 жыл бұрын
Hi, why is strict timing mentioned in baremetal when a RTOS is always mentioned for deterministic behaviour?
@ShawnHymel3 жыл бұрын
Great question! Most RTOSes can be made to be deterministic or non-deterministic, depending on how you configure the scheduler and heap allocation. As a result, your application is not guaranteed to be completely deterministic just because you use an RTOS (although, with the right settings, you can make it so). I might not have described it correctly in the video...but my thoughts for "strict timing" for baremetal include things like needing to sample a sensor every 200 microseconds. A time slice in most RTOSes is 1-10ms, so an RTOS won't help you meet that timing requirement. You can combine baremetal techniques and an RTOS (e.g. use a hardware timer to set up a sampling schedule and feed the data to a FIFO that's read by an RTOS task).
@JairoGustavo3 жыл бұрын
@@ShawnHymel Understood!, thanks, I also check your videos about FreeRTOS, they are great, could you recommend us extra material (courses, books, etc) to learn more about FreeRTOS and embedded Linux?
@انامسلموكفى11 ай бұрын
Thank youuuu . How I could run a dotnet app on Yocto image ?
@andytrewin3 жыл бұрын
Do you double as Clark Kent?
@ShawnHymel3 жыл бұрын
Only on Tuesdays ;)
@RixtronixLAB3 жыл бұрын
Cool video, thanks :)
@nagarajy6492 Жыл бұрын
You are champ dude🙌
@ashishkushwaha38122 жыл бұрын
my stm32 board does not have a memory slot. what should be the right place to find the interface diagram. I can see stm32f429 is listed and I am using the Discovery board with OTG support.
@dwiyulianto85132 жыл бұрын
how to add build essential and ncurses packages? I am a layman and can only directly see this video to practice but there is an error
@phamnhungnhung51642 жыл бұрын
I'm sorry it was a bit confusing! I promise that if you take your ti over the next few days and weeks, tNice tutorials stuff will make sense. Most
@مقاطعمترجمة-ش8ث2 жыл бұрын
Could this be customized for Old PC's e.g (some have as low as 32MB), I know it's out of video subject, but this one of few videos about Buildroot .