惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
IT之家
IT之家
博客园 - 聂微东
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed
人人都是产品经理
人人都是产品经理
PCI Perspectives
PCI Perspectives
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
V
Vulnerabilities – Threatpost
美团技术团队
S
Secure Thoughts
N
News | PayPal Newsroom
L
LINUX DO - 最新话题
腾讯CDC
Application and Cybersecurity Blog
Application and Cybersecurity Blog
雷峰网
雷峰网
B
Blog
MyScale Blog
MyScale Blog
T
The Blog of Author Tim Ferriss
TaoSecurity Blog
TaoSecurity Blog
N
News and Events Feed by Topic
Blog — PlanetScale
Blog — PlanetScale
C
Check Point Blog
T
Tailwind CSS Blog
月光博客
月光博客
Simon Willison's Weblog
Simon Willison's Weblog
Hacker News: Ask HN
Hacker News: Ask HN
The Last Watchdog
The Last Watchdog
Google DeepMind News
Google DeepMind News
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
MongoDB | Blog
MongoDB | Blog
S
Security @ Cisco Blogs
Jina AI
Jina AI
Engineering at Meta
Engineering at Meta
S
Security Affairs
Forbes - Security
Forbes - Security
P
Palo Alto Networks Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
T
Tor Project blog
O
OpenAI News
L
Lohrmann on Cybersecurity
Security Archives - TechRepublic
Security Archives - TechRepublic
P
Proofpoint News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
LangChain Blog
B
Blog RSS Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More

Hacker News

Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Unexpected €54k billing spike in 13 hours: Firebase browser key without API restrictions used for Gemini requests Retrofitting JIT Compilers into C Interpreters IPv6 – Google The Accursèd Alphabetical Clock Cybersecurity Looks Like Proof of Work Now Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent When moving fast, talking is the first thing to break Too much Discussion of the XOR swap trick – Heather Cafe Introduction to Spherical Harmonics for Graphics Programmers The Grand Line Building a Z-Machine in the worst possible language High-Level Rust: Getting 80% of the Benefits with 20% of the Pain GitHub - duguyue100/midnight-captain: Inspired by Midnight Commander, tailored to my taste. How to build a `git diff` driver · Jamie Tanna | Software Engineer Center for Responsible, Decentralized Intelligence at Berkeley The Local Universe’s Expansion Rate Is Clearer Than Ever, but Still Doesn’t Add Up - A new synthesis of astronomical measurements confirms a persistent mismatch that could point to physics beyond current models The air throughout our homes is infused with microplastics. But there are things you can do to breathe less of them The disturbing white paper Red Hat is trying to erase from the internet – OSnews The Future of Everything is Lies, I Guess: Annoyances ‘Abhorrent’: the inside story of the Polymarket gamblers betting millions on war Productive procrastination — Max van IJsselmuiden maps, territory and LMs 447 Terabytes per Square Centimetre at Zero Retention Energy: Non-Volatile Memory at the Atomic Scale on Fluorographane Show HN: Pardonned.com – A searchable database of US Pardons 20 Years on AWS and Never Not My Job The Seasons are Wrong Artemis II crew splashes down near San Diego after historic moon mission We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs How a dancer with ALS used brainwaves to perform live On filing the corners off my MacBooks Installing every* Firefox extension OpenClaw’s memory is unreliable, and you don’t know when it will break Steve Blank Nowhere Is Safe Chimpanzees in Uganda locked in vicious 'civil war', say researchers watgo - a WebAssembly Toolkit for Go linux/Documentation/process/coding-assistants.rst at master · torvalds/linux GitHub - callumlocke/json-formatter: Makes JSON easy to read. Founding Product Engineer at Bild AI | Y Combinator A compelling title that is cryptic enough to get you to take action on it GitHub - Keychron/Keychron-Keyboards-Hardware-Design: Industrial design files for Keychron keyboards and mice. 100+ models with CAD assets in STEP, DXF, DWG, and PDF. Source-available, with commercial use allowed for original compatible accessories within the license terms. [ANNOUNCE] WireGuardNT v0.11 and WireGuard for Windows v0.6 Released 1D-Chess Helium Is Hard to Replace Cooperative Vectors Introduction | Evolve Keeping a Postgres queue healthy — PlanetScale Our response to the Axios developer tool compromise Do Americans read print books, e-books or audiobooks more? The Zettelkasten Method in Obsidian: A Practical Setup Guide Artemis II Is Competency Porn and We Are Starving For It WeakC4 Flight Viz — Cockpit View A Mexican surveillance giant you’ve never heard of is now watching the U.S. border Surelock: Deadlock-Free Mutexes for Rust RISC-V 101 – what is it and what does it mean for Canonical? | Ubuntu The Problem That Built an Industry How Much Linear Memory Access Is Enough? | Solidean Investigating Split Locks on x86-64 Simplest hash functions Sybilproof reputation mechanisms (2005) [pdf] What is a property? How Complex is my Code? Static code analysis in Kotlin — tools overview Toffoli gates are all you need PGLite evangelism dcmake: a new CMake debugger UI Clojure on Fennel part one: Persistent Data Structures Fragments: April 2 Python Release Python install manager 26.1 The Life and Death of the Book Review - Liberties Introducing Database Traffic Control — PlanetScale Bitcoin miners are losing $19,000 on every BTC produced as difficulty drops 7.8% God sleeps in the minerals Building slogbox Apple Silicon and Virtual Machines: Beating the 2 VM Limit Who was “Not Even Wrong” first? Pokemon Evolution Vs Darwinian Evolution The APL Programming Language Source Code
Is It Time for a New Embedded Linux Build System? — [yoe]
yoebuild.org · 2026-06-19 · via Hacker News

I’ve been building products using embedded Linux for the past 20 years. The first time I tried OpenEmbedded (the precursor to Yocto), it felt like a gift to be able to run a single command and build a bootable ARM image from my x86 workstation. But things are changing. We have more and more components (both hardware and software) available. We have AI tools. We have powerful processors with loads of memory. Small teams (startups and industrial companies building small/medium volume connected products) want to do bigger things, yet they struggle with the complexity of stitching it all together, miss their shipping dates, and strain to maintain these systems once they’re in the field. This article explores what has changed, and how we can build and maintain embedded Linux systems more efficiently.

The Embedded Systems Golden Age

We live in a remarkable time for embedded systems engineering. We have:

  • A large number of Linux system-on-modules (SOMs), perfect hardware building blocks for industrial products.
  • Zephyr, an excellent OS for building software on MCU platforms.
  • Mature tools (compilers, build systems, etc.).
  • A vast array of open source software we can apply to these systems.
  • Fast, reasonably priced prototyping (PCB assembly, mechanical 3D printing, etc.).
  • More vendors upstreaming their Linux kernel support.
  • Yocto’s solid tooling for building images and custom parts of the system.

And all of this is available to companies of any size. It’s a bit like inheriting a mansion: open source has handed us a sprawling house full of rooms and features we’d never have built ourselves, and we have to live in it to stay competitive. The catch is that nobody handed us the tools to keep the place running. There is nothing holding us back, except our ability to put it all together.

How Embedded Linux Systems are currently built

Embedded Linux build systems solve the problem of putting all the pieces together, and the existing ones have served us well. Buildroot (2001) and OpenEmbedded/Yocto (2003) are now the standard, supported by most SOC/SOM vendors, and some teams ship successfully on Debian, Ubuntu, or even Arch (as Valve does with the Steam Deck).

The shape of mainstream embedded Linux development has held remarkably steady for ~20 years: cross-compile on a powerful x86 workstation, assemble a BSP (board support package), freeze an SDK (software development kit), ship the image, and hold that line for years. It’s a model built for a static, single-purpose, rarely updated product, and until recently, for that product, it worked well.

But things are changing …

The products have changed more than the tools that build them. Edge devices have started behaving like cloud systems. They run containers, pull OTA (over the air) updates, stream telemetry, and are managed remotely over their entire life. A device is no longer a static artifact you flash once and forget; it’s a system that keeps moving forward after it ships. That inverts the old release cadence: instead of freezing an SDK and holding it for years, teams track upstream continuously and push updates as a matter of course. The long LTS (long-term support) freeze that the cross-compile model was built around no longer fits a new class of products.

At the same time, the software itself has outgrown the cross-compile model. Modern languages each ship their own package ecosystem: Python (wrapping C/C++/CUDA via NumPy and PyTorch), JavaScript (linking to C libraries), Go, Rust, and vcpkg (for C/C++). Most of it is written for desktop/server, not cross-compilation. That puts the cross-compile burden squarely on embedded developers, and maintaining recipes for thousands of packages has been a steady drain on the Yocto community. Yocto compounds this by blocking network access during the build, so language package tooling doesn’t work without complex do_fetch integration. That’s useful when you must control every source, but unnecessary friction for many projects.

Each of these solutions trades one problem for another. Building everything from source in Yocto means long builds, heavy memory use, and powerful workstations. A stock binary distro like Debian starts development faster but lacks the tooling to integrate the custom parts. And vendor BSPs frozen on a 4-year-old Yocto make it hard to integrate modern software at all.

We could go on, but the cause is structural. Talented teams working hard still hit this, because the problem is inherently difficult and the software keeps getting harder to build.

To summarize, three things have changed:

  1. Products never stop moving. Edge devices now behave like cloud systems: continuous OTA updates, not a multi-year freeze.
  2. Software outgrew cross-compilation. Every modern language brings its own package ecosystem that doesn’t always cross-compile cleanly.
  3. The old tradeoffs got sharper. Build-from-source is slow and heavy; stock distros lack custom tooling; BSPs freeze you in time.

The old model is good. The real question is whether it still fits the product you’re building and the team you have.

Small teams have different problems, not smaller ones

I’ve been talking to a lot of people building products, and keep hearing a consistent message. First, the ground has shifted: both the products and the way we have to put them together. Second, what works for a big team doesn’t always work for a small one.

Small teams and startups need to build and ship. They often don’t have the resources to sustain multi-year development cycles. They don’t have dedicated build or platform engineers experienced in creating complex build infrastructure and debugging hard build problems. Simplicity and ease of build/deployment often matter more than binary-reproducible builds or building everything from scratch. Easily deploying the latest open-source releases is frequently required to leverage new technologies.

These teams are often hampered by three things: vendor BSPs that lock them into old versions of Yocto, frustrating debug cycles where a critical component won’t build, and the heavy effort of back-porting needed components into a system frozen in time. A large organization can hire dedicated experts and throw resources at these problems. A small organization does not have this luxury.

To be clear, small != hobbyist. These are often startups or industrial products produced at moderate scale (100’s to 1000’s of units) that sit between the one-off maker projects and consumer scale mass production.

The new opportunity

Buildroot and OpenEmbedded were created in an era when ARM-based computers were slow, and cross-compiling software on powerful x86 workstations was the only practical option. When we were building a limited set of C/C++-based applications, these systems worked great. However, several things have changed in recent times:

  1. Application development is moving to modern languages (Python, JS, Go, Rust, Zig). These languages have their own package ecosystems, caching, etc.
  2. The hardware story has flipped. We now have fast ARM computers (AWS Graviton, Hetzner CAX) available for building and are no longer constrained to x86 workstations.
  3. AI has emerged as a powerful tool for creating software, including build systems.

We need to leverage these change agents and rethink the world of connected products. The key shift is this: stop borrowing only the technology of modern ecosystems, and start borrowing their process too. When we adopt Rust or Python and take the language but force it into the old build process, it’s a bit like running a train on a paved road. The win comes from adopting how those ecosystems build, package, and cache, not just what they produce.

We now have an opportunity to rethink embedded Linux build systems. For me, this got personal. It hit me recently — if I’m going to keep doing this for another 20 years, I want something different, something that better fits the problems my customers and I are actually trying to solve, instead of fighting the tools.

So I’ve been experimenting. Over the past couple of months I’ve been building real pieces of this in the open, and the early results have been encouraging: software that used to mean a day of fighting cross-compilation now goes from idea to running on target hardware in minutes, using the same tooling on my laptop and in CI. It’s rough and early, but it’s enough to convince me this approach is worth pursuing.

What if …

… we could:

  • Get to market faster. Shorten the path from idea to a working product.
    • Takes an idea to running on target hardware in seconds to minutes, not days or weeks.
    • Doesn’t require cross-compilation.
    • Leverages modern language ecosystems (Python, JavaScript, Rust, Go, Zig, pkgbuild, etc.).
    • Caches builds so no piece of software is built twice.
    • Provides the convenience of pre-built packages from mainstream distributions with the tooling benefits of Yocto.
  • Do more with a small team. One toolset the whole team (and AI) can use, so you don’t need dedicated build specialists.
    • Provides one build system for applications and system software: the same tooling on laptop, cloud CI, and build farms.
    • Is easy for humans and AI to understand.
    • Includes tooling that works well with AI agents.
    • Leverages AI to do most of the low-level work.
    • Provides error messages that clearly point to the problem.
  • Keep products current and supportable in the field. Stay on modern software and maintain devices over their whole life.
    • Tracks current software versions easily, without being held back by vendor BSPs.
    • Scales from system to application to CI with consistent tooling throughout.
    • Deploys updates to fielded devices easily.

(These problems seem universal, but they hit small teams disproportionately hard, since those teams rarely have dedicated resources to solve them.)

This is what I am experimenting with in this next-generation Embedded Linux build system. A few examples of how this tool makes development easier:

A few key features are still missing, such as distributed caching and remote build runners, but these are coming soon.

The old models still have their place

None of this means the old models are going away, or should. For deeply embedded regulated products (compliance-certified, bit-reproducible, built entirely from source, and intentionally frozen for years), Yocto is battle-tested and remains the right tool. It does exactly what those products need, and it does it well.

We’ve seen this pattern before. Alpine Linux didn’t replace Debian. It answered a different need: minimal, container-friendly images. Both distributions still ship today, serving different points in the design space. Nobody frames it as a competition; they’re simply shaped for different jobs.

The same is true here. Dynamic, connected, frequently updated devices built with modern languages are a different job, and they deserve a tool built for that job.

So, is it time?

For a real and growing class of teams and products, I think the answer is yes. [yoe] build is an early experiment exploring what that could look like. It’s pre-1.0 and developed in the open, rough edges and all. It’s a bet that this is a problem worth solving, and an invitation to work out the shape of the solution together.

It depends on you: the teams building products and the vendors that support them. Provide feedback. What am I missing? Test it out and let me know how it works. Sign up for my newsletter. Tell your vendors you need something like this. Like/watch the GitHub repo. Share it with someone who might be interested. Contribute improvements. Fund development or infrastructure. Many small teams need this, and these small companies form a significant portion of the global economy (the long tail). Startups are where a lot of innovation happens. And if a community emerges who can leverage modern AI tools, it will happen. The progress in the past two months demonstrates this is possible.