HackerTrans
TopNewTrendsCommentsPastAskShowJobs

cbrake

no profile record

Submissions

Is it time for a new Embedded Linux build system?

yoebuild.org
83 points·by cbrake·26 dni temu·85 comments

Human friendly industrial device IDs

bec-systems.com
1 points·by cbrake·8 miesięcy temu·0 comments

Changed my mind: AI is good for coding

justinjackson.ca
2 points·by cbrake·w zeszłym roku·0 comments

[untitled]

1 points·by cbrake·w zeszłym roku·0 comments

Struggling to scale your IoT system? Simplify your data

bec-systems.com
1 points·by cbrake·w zeszłym roku·1 comments

comments

cbrake
·19 dni temu·discuss
Thanks for the detailed explanation!
cbrake
·19 dni temu·discuss
Agreed, building on the typical target is a terrible idea. None of my suggestions are to build on target, but rather specific units on some capable hardware of the same architecture. The main build will still run on your own workstation of any architecture. Only specific units get farmed out to another machine, but worst case can be run in QEMU user mode emulation if there is no native machine runner available.

This remote build runner is not implemented yet, just ideas.
cbrake
·19 dni temu·discuss
Is this similar to QEMU user mode emulation?
cbrake
·19 dni temu·discuss
I wrote the orignal draft, but used Claude to integrate some feedback. In hindsight, this was a mistake, and I will not do that again. Thanks for the frank feedback.

I'm glad Yocto is working for you.

I'm by no means a Yocto expert like many of you, but I've used OpenEmbedded/Yocto since the start, so I'm quite familiar with it. I started the following project, which Khem mostly maintains these days:

https://yoedistro.org/
cbrake
·19 dni temu·discuss
Thanks, I was not aware of this - will look into this more.
cbrake
·19 dni temu·discuss
https://yoebuild.org/faq/#is-yoe-created-with-ai

Yes, much of Yoe build is implemented using Claude Code, driven by specs.
cbrake
·19 dni temu·discuss
https://docs.yoebuild.org/comparisons.html#vs-bazel

Note, this is generated by Claude as I've not used Bazel and may not be 100% accurate. PR's welcome.
cbrake
·20 dni temu·discuss
There are several ways to compile for the target:

1) Cross compile. Yoe build still does this where it makes sense. (Go apps, likely kernel builds in the future) 2) QEMU user mode - 5-20x slow, but fine for some things. 3) Run yoe-build on any ARM machine (AWS, rPI5, Jetson) 4) Farm unit builds out to runners on cloud ARM machines. (future)

The yoe-build architecture allows for this. Choose the container, host architecture, and location that makes the most sense on a unit-by-unit basis.

Caching is also part of the vision, so we never rebuild something twice, unless it changes.
cbrake
·26 dni temu·discuss
I’ve been experimenting with what a next-generation embedded Linux build system might look like: native builds on the target architecture, modern language package managers as first-class citizens, and AI as a primary interface to the system.

Instead of cross-compiling with a large meta-layer stack, the tool builds kernel, rootfs, and applications together using one engine, with a CLI, TUI, and AI assistant talking to the same core. All you need is the tool, Docker, and Git — no global SDKs or hidden state.

It’s pre-1.0 and rough around the edges; I’m sharing it early to get feedback from people who live in Yocto/OpenEmbedded, Buildroot, Nix, etc. I’d love to hear where this breaks on your boards, what workflows feel wrong, and whether the “native builds + AI-aware build graph” direction seems promising.
cbrake
·8 miesięcy temu·discuss
For me, it is a lot simpler to host at Linode (or simpler) than figure out the AWS/GCP crazy complex IAM stuff.

However, there are cases where being able to spin down the server, and not pay for downtime is useful - like 36-core Yocto build machines.
cbrake
·w zeszłym roku·discuss
I tried this yesterday and set it up for my wife. I was amazed at how many birds it picked up. There must be some amazing technology in the audio processing.
cbrake
·w zeszłym roku·discuss
When we want to advance something, we often need to simplify it first. Piling on layers of complexity will only get us so far — at times, we need to go back to ground zero and re-think things.

There are many ways to specify contracts between systems, such as APIs and schemas. A more fundamental contract focuses on a more granular unit of data. Points in an IoT system are like atoms in matter. A Node tree in an IoT system is like the DNA in a living organism. The composition of points and structure of nodes (like atoms and DNA) is infinitely flexible. It is this simplicity and flexibility that allows atoms and DNA to define so many different types of matter and species of organisms. It is time to throw out the custom struct as the defined unit of data between systems and focus on something more granular, flexible, and scalable.