As Jeff Geering would say "It has been 0 days since i've recompiled the linux kernel"
@Nec893 ай бұрын
I built a whole linux once. I'm now on blood pressure medication and at increased risk for a stroke!
@monad_tcp3 ай бұрын
I was trying to build Debian from scratch, then I notice the problem is Debian, not Linux. Now I'm a recovering addict, I only use Linux from scratch or Arch.
@RandomUser24013 ай бұрын
You and your videos really have a unique vibe that I kinda got addicted to. Even though I am very familiar with embedded systems, you also always manage to teach me a lot of new stuff and to go deeper in fields that I thought I knew a lot about, like bootloaders.
@tomazzaman3 ай бұрын
Thank you for the kind comment. It's these that keep me going! 🙌
@RandomUser24013 ай бұрын
@@tomazzaman It's a pleasure :)
@bastian99453 ай бұрын
I want to establish the 80/30 rule. getting the feeling to understand a topic up to 80% after watching your 30 minute video. I love it. 😂
@EFazy3 ай бұрын
Also: making /boot read only after you finished is a nice touch of security, since if someone get in, the only way to mess with the kernel is became root somehow. I've managed servers, where the /usr/ was read-only by default, and you had to run a command as root (or sudo) to remount rw, and upgrade the system.
@bigpod3 ай бұрын
personnaly im of opinion that most of linux filesystem should be RO (with exception of /etc /var /home) and in fact should be updated trough images like android is
@grekiki3 ай бұрын
@@bigpodI sometimes want to write to /tmp :)
@bigpod3 ай бұрын
@@grekiki yea kinda forgot about /tmp because of its ephemerality which means it is/can be a mount of some sort
@dimitrioskoulartsas61842 ай бұрын
I have been running NixOS on my servers lately, where /nix/store is mounted as ro by default. I haven't thought of mounting those directories as ro, as I was always configuring my servers with the assumption that if anyone manages to escape the containers, the server is screwed anyway.
@GinaMoriarty3 ай бұрын
This was the most informative video yet!
@PugnaEnjoyer3 ай бұрын
Your explanations and body language are top tier
@bastian7753 ай бұрын
ahh yes this reminds me somewhat of the good old days of installing Gentoo linux while manually compiling the kernel with just the hardware you run on, and compiling all software....
@zrizzy69583 ай бұрын
Linux+One of your videos it's just a perfect fit for me
@TokkanFX3 ай бұрын
You Sir are a star.
@DJDocsVideosАй бұрын
A little tip: use partition label and mount by label. you can skit the editing of fstab by hand.
@oliverer33 ай бұрын
Ooo! Impecable timing! I've somehow found myself designing two different custom SoM-esque boards at once that I'll eventually need to figure out how to run some form of embedded linux on. I have a bad habit of just going for it and hoping I'll be able to learn what I'm lacking on the way. xD
@tomazzaman3 ай бұрын
Same hahaha
@shapelessed3 ай бұрын
"It has been 0 days since I recompiled the linux karnel"
@MelroyvandenBerg3 ай бұрын
Kernel*
@shapelessed3 ай бұрын
@@MelroyvandenBerg Are you annoyed yet?
@AchievedZeus5743 ай бұрын
Arch users
@MelroyvandenBerg3 ай бұрын
@@shapelessed yes xD
@MelroyvandenBerg3 ай бұрын
@@AchievedZeus574 Linux Mint actually
@mullvaden833 ай бұрын
Is the plan to have a web interface on the router when its done to do configs? Or will it be command line only? I really hope you make a web interface like for ex Unifi
@tomazzaman3 ай бұрын
Yes, actually it's the end goal for me, in a manner of speaking.
@vmaxmadness3 ай бұрын
I'm happy to keep to Linux use and playing with all the wonderful toys.
@fusca14tube3 ай бұрын
Awesome!!! Just one advice: use a larger terminal font size because its very difficult to resd from mobile device. Tks.
@tomazzaman3 ай бұрын
Noted, thank you for the suggestion!
@michaelgleason47913 ай бұрын
Linux is as difficult as Windows. People want to compare their 20 years of Windows experience to 20 minutes of Linux and say "Linux is too hard."
@tomazzaman3 ай бұрын
Spot on.
@ronalerquinigoagurto5552 ай бұрын
Both systems are complex. You dont learn from one day to another all the combinations and outcomes of such conplex systems
@treyquattro2 ай бұрын
are you Michael Horn's dad? Very good tutorial! I always learn something from Linux KZbinrs. (ETA: subbed)
@tomazzaman2 ай бұрын
Haha, thank you!
@DJDocsVideosАй бұрын
"keep in mind we only have 3.5 GB lol that's an entire Debian Desktop system.
@jirihoogeveen37753 ай бұрын
LinuxFromScratch ♥♥♥
@ksenchy3 ай бұрын
Wooping 200MB... While I'm downloading a 130GB game 😂
@tomazzaman3 ай бұрын
As long as it's not CoD, we can be friends. 😂
@ksenchy3 ай бұрын
@@tomazzaman God of war Ragnarok 😂
@tomazzaman3 ай бұрын
I approve. Already bought it, but haven't had the time to play it yet. Trying to Escape from Tarkov ATM. 😅
@ksenchy3 ай бұрын
@@tomazzaman it does use 175GB after it's uncompressed. This is insane 😭 Tarkov is good but it demands a huge time investment if you want to fully complete a wipe / season
@tomazzaman3 ай бұрын
My 6th wipe. But don't tell anyone. 🫡
@wolfgangpreier91603 ай бұрын
Up until centos i always had to make my own kernel. Since DLD 1.0 somewhere in the beginning of the 1990s.
@sanjikaneki62263 ай бұрын
hmm at this point you should be able to have internet access and be able to run MII command for HW debug and even test Ethernet speed. Did you do this already? how are the preliminary results?
@tomazzaman3 ай бұрын
Can you clarify? Preliminary results of?
@sanjikaneki62263 ай бұрын
@@tomazzaman as in test those special fancy package routing periferals in your mpu. Or if you can get an acceptable speed in practice with x sfp.
@foobar97613 ай бұрын
Great vid, well done!
@jhirschma3 ай бұрын
Why not use buildroot, or perhaps yocto? I'd love to see tutorials for either or both
@bigpod3 ай бұрын
dont both of those basically force you to use binaries which you might need to build yourself, why going with something like debian, you can rely on already existing ecosystem
@oliverer33 ай бұрын
From my admittedly limited understanding Yocto is more meant for the use case where you need to target many different hardware architectures or configurations, so it's more flexible but requires much more upfront configuration and has a learning curve reminiscent of a cliff from my dabbling. Build root is essentially the other end of the spectrum, target a single platform and get from zero to a running system as fast as possible, it's also much easier to pick up. Another major difference is that neither of these tools use an existing distro as I understand it, they instead essentially make their own from the kernel and the packages of your choice giving you a lot of control but also more homework.
@jhirschma3 ай бұрын
@@oliverer3 I'm pretty sure that buildroot allows you to create a customized Debian install.
@marcogenovesi85703 ай бұрын
Why use buildroot or yocto when you can just use Debian? There is a reason if not a lot of people do buildroot and yocto tutorials
@marcogenovesi85703 ай бұрын
@@jhirschma the point of buildroot is to automate the creation of a LFS (linux from scratch) system. Debian has its own image building infrastructure
@pahnazd3 ай бұрын
"Linux, it's easy!" then spends 3 hours troubleshooting one of the many issues when building a distro from scratch
@cristinelcostachescu95853 ай бұрын
So, here we are: Linux. It wasn't that hard, at all, I only needed a Tomaz to make a 30 minute tutorial and post it on KZbin, 15 years later than when I was breaking my system. Better later than never! 🎉 Jokes apart, nice job! I'm still eager to see more hardware hacking though :)
@padraigconnolly29913 ай бұрын
What does 0x80000000 represent in your tftp command?
@tomazzaman3 ай бұрын
Memory address where I store the file into. See my previous video, it's all explained there.
@DeadlyDragon_3 ай бұрын
Here is a good question for you. JunOS from Juniper has this concept of snapshot partitions. Where the OS creates a snapshot of everything needed to run the OS. Should something go wrong with the primary partition it will boot from the secondary. This saves you from a bad update that wrecks the primary partition. However it also goes a step further allowing the creation of a bootable USB based snapshot partition. Can this kind of functionality be worked into your vision?
@tomazzaman3 ай бұрын
A good question indeed. This tutorial was a bit more, let's say _general_ in scope/approach, rather than highly specific for our board. We are reviewing how other devices of a similar class and functionality are solving this issue, because we need to support both, so tinkerers like myself, who prefer more hands on, as well as people that just want it to, well be a router, and don't care what's under the hood.
@rnts083 ай бұрын
I miss working with junos, the snapshots were a nice feature if something happened to the main configuration. You can probably achieve something similar with lvm2 or xfs/btrfs. Snapshots should be thin anyway.
@DeadlyDragon_3 ай бұрын
@@rnts08 agreed, I also recently learned that juniper devices have 2 different storage devices one for recovery based partition slices and your main storage where normal slices are contained. Should your primary fail it’ll try the backup flash chip. Should that fail theres a USB recovery slice.
@DeadlyDragon_3 ай бұрын
@@tomazzaman i strongly recommend looking at JunOS / junipers SRX/MX series devices for sure they have some absolutely incredible hardware / software. Can pick up an srx-300 series device off of fleabay for a decent price.
@bigpod3 ай бұрын
@@tomazzaman i recommend also looking at how steamOS on steamdeck works and how coreOS and how android works. With CoreOS providing basically best customizability in conjunction with best recoverability/ability not to break RootFS
@worgle1233 ай бұрын
I still reckon anybody can learn Linux. Avoid Arch for a couple years, and figure out package-managers/CUPS and you're set.
@Mooooov08153 ай бұрын
Absolutely. I think it entirely depends on you want to do. I feel like a person whose main computing experience consists of using a Webbrowser and a mail program will have an easier time switching than a person who is very experienced using Mac or windows
@AnnatarTheMaia3 ай бұрын
That time would be better spent mastering illumos and one of the distributions based upon it.
@winsucker77553 ай бұрын
I run Debian btw
@MelroyvandenBerg3 ай бұрын
I run Linux Mint btw
@DistroUser3 ай бұрын
There is no need to compile anything if you download an ISO file that has a complete operating system on it ! Linux comes in many flavors, however, I would suggest starting with Linux Mint and learn from there. Google on how to install Linux Mint and you are on your way! Cheers
@thehady13 ай бұрын
Why not use something like armbian
@tomazzaman3 ай бұрын
You could, definitely. It's not one or the other, both are equally valid options.
@YouTubeExpertZesan3 ай бұрын
waiting for new video
@mworld3 ай бұрын
The video title is true.
@Yasen62753 ай бұрын
Why use systemd on embeded system? Why not using Devuan, which is Debian with good old systemV init scripts?
@tomazzaman3 ай бұрын
Perfectly valid choice too!
@marcogenovesi85703 ай бұрын
Why use a downstream distro when you can use Debian? Who cares about the init system
@Yasen62753 ай бұрын
@@marcogenovesi8570 Because of less resources used. While on PC it's less relevant, on embedded it is a valid concern.
@marcogenovesi85703 ай бұрын
@@Yasen6275 Afaik not in this case, they have 1-2GB of RAM, using a few MB more isn't significant and not worth the tradeoff of losing systemd features. We are reaching a point where even routers have GBs of RAM, just because that's the smallest RAM chip they can buy at all.
@Yasen62753 ай бұрын
@@marcogenovesi8570 What features exactly are so important on embedded system?
@dimitrioskoulartsas61842 ай бұрын
While I am experienced with Linux and I understood every part of the video, I still got a headache. I had never realized how much of a pain it is to build an image for an embedded device.
@tomazzaman2 ай бұрын
Actually, We're using PCIe lanes for wifi support. CPU already comes with SerDes lanes that can be configured in certain ways, so we squeezed the max out of them: 3x GbE ports and 2x 10GbE SFP+ ones.
@bigpod3 ай бұрын
you really dont need to know how to put togehter a linux distro(or build your own rootFS from scratch) to be using it also debootstrap is correct way to build a debian system from scratch
@PuOop-j9l3 ай бұрын
man if you buy a threadripper you could compile this stuff in a quarter of the time your m1 studio does, just use vscode remotely to it
@capability-snob3 ай бұрын
For a few bucks per hour you can get something 2-3 times the size in the cloud. I've definitely learned my lesson from buying pricy workstations that spend 95% of their time doing nothing but running Emacs.
@PuOop-j9l3 ай бұрын
@@capability-snob cloud is the worst solution ever for compiling linux kernel. Must there be a reason for Torvaldis to have a threadripper system instead of going cloud
@bigpod3 ай бұрын
@@PuOop-j9l because he is building them all the time and by all the time i do mean all the time
@sasjadevries3 ай бұрын
How does crosscompiling an ARM kernel on an AMD CPU compare to compiling an X86 kernel on the same CPU?
@bigpod3 ай бұрын
@@sasjadevries honestly slower idk (of the top op my head) how much but slower. There will always be some slowdown but depending on implementation of cross compilation can be extremely small
@laser-sj3 ай бұрын
Agree 100% with you about Linux. 😂
@KnottyDoctor3 ай бұрын
👍
@sasjadevries3 ай бұрын
I like Linux as a desktop, mobile and cloud OS. But for embedded applications I probably wouldn't use it everywhere, and look at different options per usecase.
@EFazy3 ай бұрын
Copying 252GB of nothing sounds fun :D
@tomazzaman3 ай бұрын
I prefer eating pizza as a way of having fun :D
@SuperHapticsАй бұрын
One day hopefully the smart linux people will make it the os for the normal people, without all of this messing about, and then all the rest of us bump ones will start using it 😂. I mean you need an expert who is either a genius, or has already spent a few years fighting with it to do anything above average. Isn't that a huge limitation for its adoption? An this comes from someone who is developing bare metal microcontroller systems for motor controll, networking etc
@NeptuneSega3 ай бұрын
Zaman OS
@gh9752233 ай бұрын
come on you really should build Linux From Scratch then you will know rock hard! normal Linux distributions are easy peasy! NB Android is a Linux Distrution!
@comosaycomosah3 ай бұрын
beyond disappointed in debians latest bs
@Saint_Anger3 ай бұрын
Linux isn't friendly to any one it is designed that way
@h.i.t.m.a.n_47_9113 ай бұрын
what a nightmare
@lumarel3 ай бұрын
The "easy" at the end caught me :D Awesome video! Already have quite a bit of knowledge about building Linux but learning here about Embedded stuff! Did you already work with yocto/yoctobuild? Hearing frequently it being used to build embedded system images
@tomazzaman3 ай бұрын
Nope, but it's been on my to-do list for a while. Afraid of starting, because it'll pull me in for sure! :) And buildroot is so easy to get started with :)