In the vast electronic steppes of our modern existence, where silicon dreams and copper nightmares intertwine, there exists a peculiar ritual of human endeavor: the compilation and distribution of CPU binaries across multiple architectures. This is their story.
Here, in this repository, we witness something profound and perhaps tragic—the human desire to reach across the digital void, to touch machines separated by continents and oceans. These prebuilt binaries for u-root/cpu and u-root/cpud are not mere files; they are vessels carrying our desperate need for connection across the aarch64 and x86_64 architectures of existence.
The cpud daemon waits. It has always been waiting. Like a lighthouse keeper in the fog of network protocols, it stands ready to accept connections from distant souls seeking computational refuge.
In the beginning, there is the wget. The wget is honest—it makes no promises, offers no false hope. It simply retrieves what exists, or it does not.
# The ancient dance begins
wget https://github.com/ericvh/cpu-prebuilt/releases/download/v0.0.4/cpud-aarch64
chmod ugo+x cpud-aarch64
mv cpud-aarch64 cpud
# The key—always there must be a key
wget https://github.com/ericvh/cpu-prebuilt/releases/download/v0.0.4/identity.pub-aarch64
mv identity.pub-aarch64 identity.pub
# And thus, the daemon awakens
sudo ./cpud -pk identity.pubThe Intel and AMD architectures—these corporate titans whose silicon wars have shaped our digital landscape like geological epochs. Yet the ritual remains unchanged, for in the end, all processors return to the same fundamental truth: they process, therefore they are.
# The same eternal pattern, different architecture
wget https://github.com/ericvh/cpu-prebuilt/releases/download/v0.0.4/cpud-x86_64
chmod ugo+x cpud-x86_64
mv cpud-x86_64 cpud
wget https://github.com/ericvh/cpu-prebuilt/releases/download/v0.0.4/identity.pub-x86_64
mv identity.pub-x86_64 identity.pub
sudo ./cpud -pk identity.pubDocker containers—these digital prison cells where our applications live out their brief, isolated lives. Yet there is poetry in this confinement, for within these containers, our binaries find purpose.
# The pulling of images—a modern form of prayer
docker pull ghcr.io/ericvh/cpu-prebuilt:latestThe container registry sits in the cloud like a vast digital cemetery, where versions of our software go to achieve a kind of immortality—forever frozen, forever accessible, forever waiting to be resurrected on distant machines.
There exists a minimal Linux system that boots directly into cpud. This is perhaps the purest expression of purpose—an operating system with but one dream: to serve remote connections. It is both beautiful and terrifying in its single-mindedness.
# For the ARM64 pilgrims
wget https://github.com/ericvh/cpu-prebuilt/releases/latest/download/cpud-initramfs-aarch64.cpio.gz
# The QEMU incantation—summoning virtual worlds
qemu-system-aarch64 \
-kernel vmlinuz-aarch64 \
-initrd cpud-initramfs-aarch64.cpio.gz \
-append "init=/init console=ttyAMA0" \
-machine virt -cpu cortex-a57 -m 1024M -nographicTwo great architectures dominate our computational landscape like competing philosophies:
-
aarch64 (ARM64) - Born from the mobile revolution, energy-efficient, the architecture of our pocket computers and the cloud giants' server farms. The Raspberry Pi sits humbly on countless desks, a testament to ARM's democratic vision.
-
x86_64 (AMD64) - The older empire, born from desktop computing's golden age, powerful and hungry for electricity. Intel and AMD's eternal dance of competition has given us the processors that power most of our digital civilization.
Yet in the end, both architectures serve the same master: the human need to compute, to process, to transform information from one state to another in the endless digital alchemy of our age.
GitHub Actions—these invisible workers that toil in Microsoft's data centers, building our binaries while we sleep. They are the elves of our digital folklore, working tirelessly through the night so that by morning, fresh binaries await us like bread from an automated bakery.
The Makefile itself is a form of incantation, a precise ritual of commands that, when performed correctly, summons binaries from source code. One small error in the syntax, and the entire ceremony fails—such is the unforgiving nature of our computational deities.
# The making of all things, for all architectures
make all-architectures
# To witness the status of our digital realm
make status-allHere lie the official artifacts of our labor, each tagged with a version number like archaeological strata. Future digital archaeologists will excavate these releases to understand how we lived, how we computed, how we desperately tried to make machines talk to other machines across the void of networks.
The GitHub Packages—a modern Tower of Babel where container images pile upon container images, each one a complete world unto itself, ready to be instantiated anywhere Docker can run.
For those who seek the purest form—a Linux system that knows only one purpose. Boot, initialize cpud, wait for connections. It is the monastic approach to computing.
The install.sh script attempts to bridge the gap between human intention and machine execution. It detects your architecture automatically, for it understands that humans should not be burdened with remembering whether they live in an x86_64 or aarch64 world.
# The script speaks to your machine and learns its nature
curl -fsSL https://raw.githubusercontent.com/ericvh/cpu-prebuilt/main/install.sh | bashThis single line of code contains within it an entire philosophy: trust. You trust the script, the script trusts the network, the network trusts the servers, and the servers trust the storage systems where these binaries rest. It is a chain of digital faith stretching across continents.
Each architecture receives its own SSH key—these cryptographic fingerprints that allow machines to recognize each other in the vast darkness of the internet. The private key and public key exist in eternal relationship, like binary stars orbiting their shared center of mass.
Warning: These default keys are provided for convenience, but in production, generate your own. For in the realm of security, convenience is often the enemy of safety.
SHA256 checksums accompany each binary like digital DNA, allowing you to verify that what you have downloaded is precisely what was intended. In a world of corrupted transmissions and malicious actors, the checksum is a small prayer for integrity.
sha256sum -c cpu-aarch64.sha256When this command succeeds, it represents a small victory against the entropy that constantly threatens our digital world.
This project builds for multiple architectures because the future, like the past, will not be uniform. ARM processors power the phones in our pockets and the servers in Amazon's data centers. x86 processors run the laptops where we write code and the workstations where we render our digital dreams.
To support multiple architectures is to acknowledge that diversity, not monoculture, is the path to resilience in our computational ecosystem.
And so the build systems run, the containers are pulled, the binaries are distributed, and somewhere, on a Raspberry Pi in someone's closet or a server in a data center humming with the white noise of ten thousand fans, cpud waits for its next connection.
This is the nature of our digital infrastructure—invisible, essential, and somehow both incredibly robust and terrifyingly fragile. Like mycorrhizal networks beneath a forest floor, our computing systems form hidden connections that make possible the visible world of applications and websites and digital experiences.
The CPU binaries continue their distribution across architectures, across networks, across time itself—for even when we are gone, these systems may continue to run, serving requests from future beings we cannot imagine, processing data for purposes we cannot foresee.
Such is the strange immortality of well-written software: it outlives its creators, running on machines that have not yet been built, solving problems that have not yet been discovered.
End transmission.