Making Linux Distro with Buildroot

Поделиться
HTML-код
  • Опубликовано: 25 янв 2025

Комментарии • 142

  • @batlink3764
    @batlink3764 9 месяцев назад +63

    Dang, my man makes building an entire operating system look easy between this and his last custom Linux episode.

  • @854Daryl
    @854Daryl 9 месяцев назад +102

    I had no idea this even existed. I started LinuxFromScratch and just lost interest. But this is 10 minutes start to finish.

    • @Maxjoker98
      @Maxjoker98 8 месяцев назад +15

      Haha, true. Although you learn a lot more by doing LinuxFromScratch, for example how all the compilers, build systems, etc. work.

    • @Nunya58294
      @Nunya58294 8 месяцев назад +6

      Yeah man LFS is if you really want to get into how GNU and Linux works

    • @Maxjoker98
      @Maxjoker98 8 месяцев назад

      ​@@Nunya58294 It's true, but as said before, it's a lot since explains every step and you build a very conventional distro/installation(glibc, dynamic linked, etc.). This is both a strength and a weakness. If you just want to **create** a minimal bootable Linux image with some tools, probably choose buildroot. If you want to learn how to do it, I'd recommend statically compiling busybox and creating an initrd first. Way less effort for a basic DIY bootable system(just compile this one application and create a file system). But if you want a deep understanding(no shortcuts) of how everything comes together in a Linux distro, LFS is the way to go.
      I've personally never sat through the entire LFS from start to finish, but I've used it as a reference a lot, for example for setting up toolchains, filesystem hierarchy, etc., and I've created lots of single-purpose Linux distros/initds, from bootable games to rescue tools and testing android kernels.

    • @trickeddev
      @trickeddev 8 месяцев назад +1

      i think this is compiling the entire linux kernel too so 10 minutes + like 2 hours lol

    • @prodego1
      @prodego1 4 месяца назад

      @@854Daryl this seems like a good intermediate step before attemtping LFS haha

  • @aviinl1
    @aviinl1 9 месяцев назад +76

    It has been 0 days since I recompiled the Linux kernel.

    • @AggamRahamim-fs2zm
      @AggamRahamim-fs2zm 8 месяцев назад +4

      gentoo user spotted

    • @IunahYT
      @IunahYT 7 месяцев назад

      @@AggamRahamim-fs2zm gentoo/LFS/custom distro user* as all of those need to compile kernel

    • @mehdiyahiacherif2326
      @mehdiyahiacherif2326 5 месяцев назад

      Can you please help me create an LFS aarch version ?

    • @IunahYT
      @IunahYT 5 месяцев назад

      @@mehdiyahiacherif2326 can you not use JHALFS on an arm64 host system with dependencies met and several days worth of compile time

  • @welly7973
    @welly7973 9 месяцев назад +17

    It's incredible what can be done nowadays with Linux and the way Linux is designed, keeping its simplicity makes it all much more comfortable when you really understand the concepts

  • @Maxjoker98
    @Maxjoker98 8 месяцев назад +32

    Buildroot is pretty fun, a while ago I used a buildroot-based system as my "game engine"(Linux kernel, Lua "userland" using framebuffer graphics, uinput).
    You should have included some mention of the various ways you can include files in the final rootfs, for example overlay directories or custom buildroot packages. Also you don't have to manually create a bootable disk image, buildroot has support for creating grub(2)/extlinux/isolinux(including needed configs), or you could directly boot a kernel+initramfs in QEMU(no bootloader).

    • @IunahYT
      @IunahYT 7 месяцев назад +1

      I tried to do that but syslinux failed to compile cuz the source code was missing an include

    • @Maxjoker98
      @Maxjoker98 7 месяцев назад +1

      ​@@IunahYT I've had some issues with syslinux in buildroot as well. I just switched to GRUB, but as far as I can recall, it was just missing a configuration step. Syslinux is a way simpler bootloader that grub, I don't even think it can read files from disk, only static offset lists(that you need to generate somehow).

  • @connorspruit6002
    @connorspruit6002 9 месяцев назад +28

    finally, a way to utilize my computer truely bloatless.

    • @TheStickmahn
      @TheStickmahn 8 месяцев назад +13

      vi is bloat, manually edit the files by using a magnet next to your hdd.

    • @connorspruit6002
      @connorspruit6002 8 месяцев назад

      @@TheStickmahn you have just invented more than you realize. using this method we dont need an os at all anymore. heck. we dont need a computer anymore all we need is a hard drive, a magnet, a sata breakout board, a power supply and a piece of mettle, just connect the power and then bride the pins of the sata to write. and maybe use some led's to read.
      or just use paper

    • @GoodWill-s8j
      @GoodWill-s8j 8 месяцев назад

      ​@@TheStickmahnor zap his SSD

    • @titualbuddyretard
      @titualbuddyretard 4 месяца назад

      @@TheStickmahn all of gnu is bloat, you could just boot the bzimage, and install only the commands you need

    • @Helper00798
      @Helper00798 4 месяца назад

      @@TheStickmahn 🤣🤣🤣

  • @Paolog_
    @Paolog_ 8 месяцев назад +2

    You are a perfect programmer!!
    I didn't see anybody do video like this, making a lot of video on C, or debugging Windows Kernel.
    Please continue your videos!!!

  • @danielwoodard4931
    @danielwoodard4931 8 месяцев назад +4

    this is one of the first tutorials I've ever seen that gets straight to the point and shows you every single detail you need and nothing that you don't. I wish this guy did tutorials on everything , it would save so much time.

  • @comosaycomosah
    @comosaycomosah Месяц назад +1

    you have became one of my favorite linux channels

  • @filipvranesevic8722
    @filipvranesevic8722 3 дня назад +1

    Great video. It would be interesting to demonstrate building and running the image for actual embedded target like raspberry pi.

  • @TurntableTV
    @TurntableTV 9 месяцев назад +3

    So glad I found this channel. Somehow, youtube algo got it right this time and recommended me something really good.

  • @kieferdhendricks
    @kieferdhendricks 8 месяцев назад

    Another fun, easy to follow tutorial on building a minimal distro and yet another project I will be completing in the near future. Thanks and keep up the great work, Nir!

  • @c2vi_dev
    @c2vi_dev 9 месяцев назад +2

    Amazing video as always!!
    I didn't know before, that you can boot linux without an initrd...... but it makes sense, that you can, if all drivers to mount the rootfs are in the kernel. Learned something new today😃

  • @thecutiepatootiecat
    @thecutiepatootiecat Месяц назад

    Life saver, 0 days to build an distro, thank you Nir Lichtman!

  • @Sevenisko
    @Sevenisko 8 месяцев назад +1

    This is actually pretty interesting.
    It all began with Linux from Scratch, now we're just 10 minutes to make a simple distro.

  • @NovabitsYT
    @NovabitsYT 8 месяцев назад +3

    Hi future me, you are proud that you subscribed before 50k subscribers to the best tutorial channel.

  • @matan-h
    @matan-h 9 месяцев назад +11

    would you do a video about custom compiling Debian?

    • @nirlichtman
      @nirlichtman  9 месяцев назад +13

      Planned :)

    • @nou712
      @nou712 8 месяцев назад

      @@nirlichtman Can't wait :)

  • @kousheralam8657
    @kousheralam8657 8 месяцев назад +1

    Love your video, i work as a web dev, but i watch your video for fun.

  • @mattaikay925
    @mattaikay925 Месяц назад

    Thanks for sharing this awesome presentation - u should get all your content all into an ebook.

  • @twobob
    @twobob 9 месяцев назад +2

    Love me some buildroot. did the arm kindle stuff a decade? back. Top work

  • @pranavbadrinathan6693
    @pranavbadrinathan6693 8 месяцев назад

    Oh damnnn I was recently looking to perhaps make my own very lightweight distro for an ARM based SBC. This looks really really simple too! Thank you very much :)

  • @mohitkumar-jv2bx
    @mohitkumar-jv2bx 8 месяцев назад +1

    I have said it earlier. i will say it again. THIS CHANNEL IS A GOLDMINE.

  • @anon_y_mousse
    @anon_y_mousse 8 месяцев назад

    That was even faster and easier than Rob Landley's video on a minimal Linux, nice!

  • @Noteclip
    @Noteclip 4 месяца назад

    you've inspired me to make a custom iso for my pinephone, good stuff!

  • @SotchNam
    @SotchNam 5 месяцев назад

    Thanks for the dependencies install command, the documentation providing them individually is pretty inconvenient.

  • @medidstuff
    @medidstuff 8 месяцев назад +1

    holy holy i want to absolutly do dispicable things i finally got my own distro thank you thank you thank you

  • @newsgo1876
    @newsgo1876 6 месяцев назад

    Concise and right on target! Thank you!

  • @nichtgestalt
    @nichtgestalt 8 месяцев назад +3

    This is super cool! But how are you going to manage packages? I would love to see this series continued, thank you very much!

    • @nirlichtman
      @nirlichtman  8 месяцев назад +1

      You can add packages during the build by customizing the buildroot settings, I think you can also add a simple package manager with the buildroot settings but I haven't tried that yet.

  • @protonspeed
    @protonspeed 6 месяцев назад +1

    Hey, hope you are doing well. I was trying to build a buildroot to simply stream a USB camera on HDMI. I have one error that I'm stuck to. /dev/video0 no such file or directory. Either I use vlc to capture, gstreamer , ffmpeg everywhere. I'm making this on my windows using wsl. Can you help me with this? Please 😊

  • @xyzabc123-o1l
    @xyzabc123-o1l 8 месяцев назад +2

    Could you run top on the guest machine you made? What was the RAM usage?

  • @callowaysutton
    @callowaysutton 4 дня назад

    Love the video! Though I think using -display ncurses on qemu, to keep everything in the same terminal window, seems to fit your style more

    • @nirlichtman
      @nirlichtman  4 дня назад +1

      Thanks, cool tip! didn't know about "-display curses" definitely handy (up until now I used -nographic and serial options when I wanted to get text output)

  • @linux_dev_arch
    @linux_dev_arch 8 месяцев назад +1

    can you show us how to install a package manager on such a distro like this

  • @claudemods
    @claudemods 6 месяцев назад

    Thank you mate much respect i make my own respins and now i want to try new things you helped alot with what i want todo now

  • @MGD320
    @MGD320 5 дней назад

    Very nice videos. But this type of build is ready for production . Every day use?

  • @pskry
    @pskry 5 дней назад

    The most impressive part is that you know the tear flags by heart 😅

  • @illusbyk
    @illusbyk 6 месяцев назад

    i tried this but selected few more applications and utils along with xorg and wayland and few other sutffs, now im getting one single error that says `execstack.c:138:17: error: passing argument 1 of ‘asprintf’ from incompatible pointer type [-Wincompatible-pointer-types]
    ` i honestly have no clue whats causing this

  • @mythacker4365
    @mythacker4365 9 месяцев назад +3

    What is the difference between buildbox and buildroot?

    • @nirlichtman
      @nirlichtman  9 месяцев назад +5

      You mean BusyBox? The difference is that Buildroot is a system to help build full Linux systems and BusyBox is a minimal all in one program that contains a bunch of standard Unix tools in one executable

    • @mythacker4365
      @mythacker4365 9 месяцев назад +2

      @@nirlichtman oh yeah my bad! Thanks for the explanation ❤️

  • @ronalerquinigoagurto555
    @ronalerquinigoagurto555 9 месяцев назад

    Always wondered how distro mantainers like debian or canonical manage all their package and build stable versiones. What kind of integration testing they do

  • @learnwithcode4211
    @learnwithcode4211 8 месяцев назад +1

    One of the best video on internet

  • @Matt-ht8mc
    @Matt-ht8mc 8 месяцев назад

    cool. no flashy splashes or stalling. subscribing

  • @JuzerDana
    @JuzerDana 3 месяца назад

    Man this is fast and effective

  • @TheMLXProj-Linux
    @TheMLXProj-Linux 5 месяцев назад

    Can we create or add a package manager? (I need to add an desktop environment)

  • @divyeshpatel9103
    @divyeshpatel9103 7 месяцев назад

    It would also be interesting to see minimal distro using yocto build system. Thank you.

  • @Ozla102
    @Ozla102 8 месяцев назад

    Underrated Channel for sure 👍

  • @realityveil6151
    @realityveil6151 4 дня назад

    So do you press your keyboard keys with a hammer or?

  • @richardchambers200
    @richardchambers200 4 месяца назад +1

    I've been exploring RISC-V Small Board Computers and as part of that I learned the basics of building a Linux distro using WSL with cross compiler tools to target the RISC-V based VisionFive 2. I'd like to see something similar to this video except with cross-compile tools and targeting an actual SBC rather than QEMU. And I'd like to have a bit more explanation about the steps and why you are doing something.
    As part of my exploration with the VisionFive 2, I learned the basics of finding the appropriate drivers for a WiFi device and doing the cross compile to create a loadable device driver and then using them. I was very excited when the new USB WiFi adapter worked with the new driver.

  • @newsgo1876
    @newsgo1876 6 месяцев назад

    Once we have the boot.img, I guess the next thing to do is to stuff various application binaries into it. Then we get a full-fledged distribution. Am I right?

  • @pavlebn
    @pavlebn 8 месяцев назад

    Any plans on covering the basics of the yocto project in the future?

  • @soheibmemes2594
    @soheibmemes2594 6 месяцев назад

    very cool video but can u mention how to get GUI like some kind of minimal version of Xorg (microwindows didnt work at all)

  • @Quadredoxical
    @Quadredoxical 8 месяцев назад

    You should make a guide on how to make a Wayland compositor with c.

  • @i-onedarksnow9288
    @i-onedarksnow9288 8 месяцев назад

    buildroot very good toolkit, but i have 1 question - how change default prefix in buildroot from / to /opt as it changed in entware?

  • @tijuthomas6793
    @tijuthomas6793 8 месяцев назад

    Awesome Video. I just want to know about, how i add UI stuffs into this ?

  • @ProSureString
    @ProSureString 8 месяцев назад +1

    after running `make make`, the /output/images dir is empty

    • @samuelhulme8347
      @samuelhulme8347 8 месяцев назад

      You have to run `make`. `make make` won’t do anything and was not demonstrated in this video.

    • @ProSureString
      @ProSureString 8 месяцев назад

      @@samuelhulme8347 yeah, sorry.
      I misunderstood.

  • @tek_broz
    @tek_broz 6 месяцев назад

    You my friend are a magician!

  • @Mb5dev
    @Mb5dev Месяц назад

    does it matter what version of buildroot you get?

  • @MagicKN
    @MagicKN Месяц назад

    How to make automatic boot configure

  • @waldmensch2010
    @waldmensch2010 8 месяцев назад

    Nice, how to install security fixed and upgrades on this distro?

  • @franciszek5831
    @franciszek5831 9 месяцев назад +1

    Does this mean I can "make" my own Linux distribution for my old Pentium 2 ??

  • @DanelonNicolas
    @DanelonNicolas 8 месяцев назад

    Love it. Definitely gonna try to substitute busybox with uutils/coreutils. any recommendations?

  • @Chris-rm1pn
    @Chris-rm1pn 8 месяцев назад +1

    So what's next? Yocto?

  • @unprofessionalproductions
    @unprofessionalproductions 4 месяца назад

    i get an error where qemu says it cant mount root fs

  • @_Cryo_
    @_Cryo_ Месяц назад

    minus minus install... not dash dash. hmm... is that a dialect thing or were you taught that? Maybe we need a poll of TEAM MINUS vs TEAM DASH. lol Great video, presentation was top notch.

    • @nirlichtman
      @nirlichtman  28 дней назад

      Thanks! I guess I say minus because in Hebrew we say the dashes that way when describing commands.

  • @Monkeyindatrees
    @Monkeyindatrees 9 месяцев назад

    What about just cooking up a gentoo and then just use qemu to squeeze it down and push it?

  • @kestreetwin
    @kestreetwin 2 месяца назад +1

    Wow this is. .. i don't now. Like❤

  • @random4955
    @random4955 6 месяцев назад

    Does any one know how to fix the error:
    sudo mount boot.img mounted/
    [sudo] password for user:
    mount: mounted/: mount failed: Operation not permitted.
    using Ubuntu WSL as well
    tried root still didn't work

  • @C5H6O2
    @C5H6O2 13 дней назад

    how can i install apt here?

  • @Cyber_Gas
    @Cyber_Gas 8 месяцев назад

    Make series where you eventualy make a complete desktop usable distro

  • @Garfield_Minecraft
    @Garfield_Minecraft 4 месяца назад +1

    "Fix you PATH" LOL

  • @bennguyen1313
    @bennguyen1313 8 месяцев назад

    Any thoughts on T2 Linux 24.5?

  • @batboy49
    @batboy49 8 месяцев назад

    What boggles my mind is how yocto took over when buildroot was out there. Super easy buildroot, yocto SUPER TOUGH to master.

  • @rohitnangare1655
    @rohitnangare1655 6 месяцев назад

    Bro I was installing buildroot got stuck on error after watching only 2min I fixed it. It was dependency error. Thanks

  • @baranjan6969
    @baranjan6969 8 месяцев назад +1

    Why is buildroot suddenly a minor trend 90% of my recommendations are about buildroot

  • @bramfran4326
    @bramfran4326 8 месяцев назад

    What is the difference between bzImage and rootfs?

    • @nirlichtman
      @nirlichtman  8 месяцев назад +2

      bzImage is the kernel binary compressed and rootfs is the tar archive of the files of the distro

  • @dimaryk11
    @dimaryk11 8 месяцев назад

    How big is the image?

  • @gavyeah9866
    @gavyeah9866 6 месяцев назад

    when i run 'make menuconfig' it gives this 'Makefile:157: support/misc/utils.mk: No such file or directory'

  • @rminstrel
    @rminstrel 8 месяцев назад

    how can we implement uefi boot using buildroot?

    • @rminstrel
      @rminstrel 8 месяцев назад

      i am currently compiling buildroot after navigating cluelessly through the menuconfig and enabling support for iw(,d), nano, uefi using grub, ext4 filesystem, htop, git, and other stuff i forgot. I hope i can succeed.

  • @nastykerb34
    @nastykerb34 8 месяцев назад

    Fun fact . The build time is from 9:56pm to 11:06 pm, aka 70 minutes. Only do this if you have time to spare

  • @skilz8098
    @skilz8098 8 месяцев назад

    You got your shell up and running, but can it run DOOM?

  • @YourLocalMedic
    @YourLocalMedic 8 месяцев назад

    This is quite neat though never practical for a desktop. Which is unfortunate given how neat it sounds to fully build your own distro

  • @maximood-tired
    @maximood-tired 9 месяцев назад

    great video as always!

  • @RocktCityTim
    @RocktCityTim 9 месяцев назад

    Beats using loopback and lilo!

  • @farzi-ye2wb
    @farzi-ye2wb 6 месяцев назад

    bro qemu is not working

  • @hbibamrani9890
    @hbibamrani9890 8 месяцев назад +1

    Make a minimal mail server, please!

  • @Game7Red
    @Game7Red 8 месяцев назад

    how to install distro ?

    • @shellgecko
      @shellgecko 8 месяцев назад

      make or grab an installer (calamares, anaconda, etc) to make it copy all the files and configs to a storage device
      or make a chroot env like arch or gentoo and do it manually

  • @RiccardoPalombo
    @RiccardoPalombo 8 месяцев назад

    Thanks!

  • @Yggdra666
    @Yggdra666 8 месяцев назад

    Next up, how to implement networking into TempleOS.

  • @wahabfiles6260
    @wahabfiles6260 8 месяцев назад

    Awsome! Thanks!!!!

  • @ChandrashekarCN
    @ChandrashekarCN 8 месяцев назад

    💖💖💖💖

  • @linux_dev_arch
    @linux_dev_arch 8 месяцев назад

    Super cool video :)

  • @trwwrt5687
    @trwwrt5687 8 месяцев назад +1

    Sending email with c please 😢

  • @lettd0wn
    @lettd0wn 8 месяцев назад

    On the dead homies this is some cool shit. Subscribed

  • @mzakyr342
    @mzakyr342 9 месяцев назад

    make a package manager and repository now

  • @mathcale
    @mathcale 9 месяцев назад

    Amazing!

  • @canadiannomad_once_again
    @canadiannomad_once_again 9 месяцев назад

    Fix you path? No you fix escape.

  • @DanielOliveiraViolao
    @DanielOliveiraViolao 4 месяца назад

    Noice!

  • @ProSureString
    @ProSureString 9 месяцев назад +1

    Yey :D

    • @ProSureString
      @ProSureString 9 месяцев назад +1

      Another great video for me to watch :D

  • @dtikvxcdgjbv7975
    @dtikvxcdgjbv7975 8 месяцев назад

    Cool

  • @G-3-A-R-Z
    @G-3-A-R-Z 9 месяцев назад

    cool

  • @d_sanu
    @d_sanu 5 месяцев назад

    Small distro makes biggest step 😂

  • @tedchirvasiu
    @tedchirvasiu 8 месяцев назад

    I run my own distro > I run arch btw