Live data from Hacker News

So you want to build an embedded Linux system?

jaycarlson.net

91–100 of 113 posts

Re: So you want to build an embedded Linux system?

#91

The article really seems to be more about "so you want to design a custom PCB for a given embedded Linux capable application processor". While it is full of useful information and candid findings, there is usually negative business value in this approach as Jay admits lower down the article: I don’t think most people design PCBs around these raw parts anyway — the off-the-shelf SOMs are so ridiculously cheap (even on…

Just out of curiosity, what are the some off-the-shelf SOMs that you would tend to reach for/recommend?

Re: So you want to build an embedded Linux system?

#92

> Yocto is totally the opposite. Buildroot was created as a scrappy project by the BusyBox/uClibc folks. Yocto is a giant industry-sponsored project with tons of different moving parts. You will see this build system referred to as Yocto, OpenEmbedded, and Poky, and I did some reading before publishing this article because I never really understood the relationship. I think the first is the overall head project, the…

Does anyone have experience using either BUildroot or Yocto to build a virtual appliance? That is, a VM image that runs on a typical x64-based hypervisor. I'd be particularly interested in experience building an immutable image with an A/B setup for updates, in the style of Chromium OS or the old CoreOS (now Flatcar Linux).

buildroot has defconfigs for building uefi or bios images capable of booting on most any hypervisor. you can easily extend them.

you can also easily strip them down and get itty bitty tarballs suitable for import as a docker container images

https://github.com/br-containers/br-containers

Re: So you want to build an embedded Linux system?

#93

Earlier quoted context omitted.

Choosing a four layer stackup was a really instructive point for the purposes of his blog post, but kind of a bad rule of thumb to carry forward on a professional level. PCBs are built in a sandwich stack. The middle dielectric layer, or "prepreg", is way thicker than the dielectric layers in the outer layers. This doesn't seem like a big deal, but for the speeds that a DDR interface runs at, it creates a higher impe…

Well said. And we're not even mentioning what happens when you start adding other criss-crossing traces for parallel LCDs and cameras into the mix. Those usually creep into the 30-40 MHz range, 18-24 lines per device with no differential lines. And I haven't even thought about USB-C yet. And you still need to pass radiated emissions testing. Even those right-angle DIMM connectors for the SOMs spray RF noise everywher…

cough cough METAL ENCLOSURE cough cough

:)

Re: So you want to build an embedded Linux system?

#94

Earlier quoted context omitted.

Well said. And we're not even mentioning what happens when you start adding other criss-crossing traces for parallel LCDs and cameras into the mix. Those usually creep into the 30-40 MHz range, 18-24 lines per device with no differential lines. And I haven't even thought about USB-C yet. And you still need to pass radiated emissions testing. Even those right-angle DIMM connectors for the SOMs spray RF noise everywher…

cough cough METAL ENCLOSURE cough cough :)

(injection molded ABS with thin-film deposition aluminum)

Re: So you want to build an embedded Linux system?

#95
post #88

Standing ovation! This is a decade's worth of knowledge in a single article. I'll be forwarding this one to coworkers and acquaintances when they ask about how to do this kind of stuff. I can understand why the author focuses on cheap entry-level parts. It's cheap and it's fun. He also kind of dismisses the major SOMs for this reason so maybe there can be a more comprehensive review of those (I build almost exclusive…

Just out of curiosity, in your opinion, which are the major SOMs that you would consider for a 5+ year expected run lifetime?

I'm working on a project that is using Nvidia Jetson modules. The Jetson TX2i is supported to 2028.

Re: So you want to build an embedded Linux system?

#96
post #88

Standing ovation! This is a decade's worth of knowledge in a single article. I'll be forwarding this one to coworkers and acquaintances when they ask about how to do this kind of stuff. I can understand why the author focuses on cheap entry-level parts. It's cheap and it's fun. He also kind of dismisses the major SOMs for this reason so maybe there can be a more comprehensive review of those (I build almost exclusive…

Just out of curiosity, in your opinion, which are the major SOMs that you would consider for a 5+ year expected run lifetime?

If product lifetime is a concern, it's important to pick a vendor that guarantees product availability through a certain date. Either that, or you need to be prepared to do a lifetime buy of all of the parts you'll ever need when the EOL is announced.

Companies like NXP will guarantee certain parts for at least 10 years after launch date. Search for 'i.MX' on this page to see their date guarantees: https://www.nxp.com/products/product-information/product-lon...

Re: So you want to build an embedded Linux system?

#97
post #68

Earlier quoted context omitted.

Then you want a small desktop system, not an embedded one.

What wrong with that? My first Linux (SuSE) system had 16MB of RAM. I successfully compiled X on it in just few days. Why I should use outdated software on embedded chip with say 256MB of LPDDR?

What does it have to do with outdated software? You still use kernel version and userspace libraries of your choice - arguably more flexibly and up to date than on any mainstream distro.

Re: So you want to build an embedded Linux system?

#99
> Because Linux-capable application processors have a memory management unit, *alloc() calls execute swiftly and reliably. Physical memory is only reserved (faulted in) when you actually access a memory location. Memory fragmentation is much less an issue since Linux frees and reorganizes pages behind the scenes.

This paragraph is confusing to me.

- How would a MMU help for malloc to execute "swiftly and reliably" ?

- What does "actually access a memory location" implies exactly?

- "since Linux frees and reorganizes pages behind the scenes": Is this not what people dislike from malloc? That it's none deterministic?

Re: So you want to build an embedded Linux system?

#100

Good read! Some others that I have enjoined in the embedded Linux realm are the posts by George Hilliard, Mastering Embedded Linux series and the Designing my Linux-powered Business Card. https://www.thirtythreeforty.net/posts/2019/08/mastering-emb... https://www.thirtythreeforty.net/posts/2019/12/designing-my-...

thanks for sharing
Post reply on HN