hachyderm.io is one of the many independent Mastodon servers you can use to participate in the fediverse.
Hachyderm is a safe space, LGBTQIA+ and BLM, primarily comprised of tech industry professionals world wide. Note that many non-user account types have restrictions - please see our About page.

Administered by:

Server stats:

10K
active users

cliffle

Building a Hubris application image is somewhat involved, mostly because it combines a bunch of separately compiled programs.

I recently took a deep dive into the process, and came out the other end with a new implementation of it. I took notes along the way, which I've organized into a blog post.

Read on to find out more about our "build system" (really: linker) requirements!

cliffle.com/blog/from-hubris-t

Photo of me, a white man with blue eyes and neat floral eyeglasses, in a BART station.
cliffle.comFrom Hubris To Bits
More from cliffle

@cliffle It's crazy to me how the seemingly least complex use case in programming - producing a relocatable standalone binary that runs on hardware - is such a PITA to set up.

Thanks for writing down all these pain points. Contains lots of valuable signal for people looking to improve things on the osdev front.

@dist1ll my main piece of advice for osdev folks is to give up on "just use the linker" very early. It doesn't do what you want.

Working in a language like Rust where running host-compiled code during a cross-compile build is normal, and where things like "load and parse the ELF files" is easy, makes a huge difference. I've done similar stuff in C+Makefiles in the past and uuuuuughhhh do not recommend