DEV Community

Cover image for Running Kiro CLI from a Raspberry Pi 400
Alvaro Llamojha for kirodotdev

Posted on

Running Kiro CLI from a Raspberry Pi 400

A few years ago, I got a Raspberry Pi 400 as a birthday present. I looked up projects, ideas, cool builds, but nothing really grabbed me. So it went back in the box.

Recently, I’ve been building with Kiro for a couple of months now, and one day I found the Raspberry Pi and the idea came to me.

What if I could run Kiro CLI from the Raspberry Pi?


Raspberry Pi setup

I had to buy a microSD and a power cord first before I could get hands on. For the OS on the Micro SD, I used Raspberry Pi Imager selected the default Raspberry Pi OS (Debian-based), went through the configuration, plugged in the Micro SD and connected the Pi. After a couple of minutes, I was able to SSH in.

SSH in (if it's in your local network):

ssh user@<your-pi-hostname-or-ip>
Enter fullscreen mode Exit fullscreen mode

Then the usual housekeeping + tools I knew I’d need for the Kiro install:

# update the Pi
sudo apt update && sudo apt upgrade -y

# dev box basics (I wanted git, and I installed Node because I plan to build a small wrapper later)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
sudo apt install -y git
Enter fullscreen mode Exit fullscreen mode

One thing that becomes important later is that this machine is ARM64:

uname -m
# aarch64 - you can also see this when doing SSH 
ldd --version
# ldd (Debian GLIBC 2.41-12+rpt1) 2.41
Enter fullscreen mode Exit fullscreen mode

Installing Kiro CLI and hitting SIGILL

Once everything was ready, I went straight to the official Kiro CLI install docs and followed the Linux ARM (aarch64) instructions:

Kiro CLI — Linux ARM (aarch64)

I downloaded it and ran the installer:

curl --proto '=https' --tlsv1.2 -sSf 'https://desktop-release.q.us-east-1.amazonaws.com/latest/kirocli-aarch64-linux.zip' -o 'kirocli.zip'
unzip kirocli.zip
bash ./kirocli/install.sh
Enter fullscreen mode Exit fullscreen mode

The install itself looked fine. The binary was in place. Edit the Path in the .bashrc to include the path for the kiro-cli bin:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Enter fullscreen mode Exit fullscreen mode

And then I ran:

kiro-cli
Enter fullscreen mode Exit fullscreen mode

…and got:

Illegal instruction (SIGILL)
Enter fullscreen mode Exit fullscreen mode

I knew then that this may not be straightforward, and I may had to refresh my processor architecture knowledge. Just in case, I've tried re-installing, rebooting, trying multiple times but still was the same issue.

The fix: use the ARM64 musl build

After going back to the docs (again), I noticed the musl option:

Kiro CLI — Linux ARM (aarch64) with musl

The docs frame it mostly around glibc version. My glibc was new enough (2.41), so I assumed the standard build was the right one.

But at that point, I’d already tried the standard route and it was consistently crashing with SIGILL, so I figured: let’s just try the musl build.

I installed the aarch64 musl version… and that was it. kiro-cli ran successfully.

curl --proto '=https' --tlsv1.2 -sSf 'https://desktop-release.q.us-east-1.amazonaws.com/latest/kirocli-aarch64-linux-musl.zip' -o 'kirocli.zip'
unzip kirocli.zip 
./kirocli/install.sh
kiro-cli
Enter fullscreen mode Exit fullscreen mode

Kiro CLI


Login (headless, over SSH)

Once the CLI actually ran, the login flow was straightforward.
It printed a login URL in the terminal. I copied it, pasted it into my laptop browser, logged in (I used GitHub), went back to the SSH session, and Kiro CLI was authenticated on the Pi.


Wrap-up

So yes: you can run Kiro CLI on a Raspberry Pi 400. I've tried running simple and complex tasks, and both worked fine.

It took me about an hour end-to-end, including the time lost to the SIGILL crash. The key detail was simply using the ARM64 musl build from the docs instead of the standard one.


What I’m doing next

Now that it’s running, I want to push this a bit further.

I want that PM approach for working with Kiro. A workflows that looks like: I create and curate tickets like a PM, and Kiro acts as the dev taking care of the code implementation (running from the Raspberry Pi).


Do you have a Raspberry Pi and want to try this? What has been your experience with Kiro-CLI? Share it with us in the comments.

Top comments (1)

Collapse
 
jasonrandrews profile image
Jason Andrews

Great job, thanks for sharing. I shared by kiro-cli guide for Arm Linux systems at learn.arm.com/install-guides/kiro-...