Skip to content

Commit 4f2a657

Browse files
committed
Book experiment
1 parent 9669a4a commit 4f2a657

File tree

7 files changed

+57
-0
lines changed

7 files changed

+57
-0
lines changed

book/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
book

book/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
PORT := $(shell printf "%d" 0xbeee)
2+
serve:
3+
mdbook serve -p $(PORT)

book/book.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[book]
2+
authors = ["Nicolas Stalder"]
3+
language = "en"
4+
multilingual = false
5+
src = "src"
6+
title = "Solo 🐝"

book/src/SUMMARY.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Summary
2+
3+
- [Chapter 1](./chapter_1.md)
4+
5+
- [Getting Started](getting-started/README.md)
6+
- [Raspberry Pi 4B](getting-started/rpi.md)

book/src/chapter_1.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Chapter 1

book/src/getting-started/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Getting Started
2+
3+
Development mainly happens on Arch Linux and macOS, besides that GitHub Actions runs on Ubuntu,
4+
and we do CI builds for Windows (which is Windows Server 2019).

book/src/getting-started/rpi.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Raspberry Pi 4B
2+
3+
The intent of this platform is to be a driver for CI, that is, run a self-hosted GitHub Actions runner.
4+
5+
The firmware would then be compiled on GitHub's usual Ubuntu CI servers, and just the built artifact
6+
transfered for functional HIL testing.
7+
8+
We use Arch Linux for its wide collection of up-to-date packages, and the ease of building one's one
9+
(e.g., we'll want to package up our own `lpc55-host`).
10+
11+
- [Install Arch on a MicroSD card](https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-4)
12+
(AArch64 works fine, don't forget the last `sed` step, make sure you're not in the RPi3 section).
13+
- If network doesn't come up reliably (`networkctl` shows `eth0` as `Configuring`), you can fix manually
14+
with `networkctl down eth0`, `networkctl up eth0`, but
15+
[this change to mkinitcpio.conf](https://github.com/raspberrypi/linux/issues/3108#issuecomment-723580334)
16+
also seems to work (early `systemd-networkd` journal entries indicate `eth0` can't be found).
17+
- No need to try to compile `ncurses5` to `arm-none-eabi-gdb` from <https://developer.arm.com/> to work: just use `gdb`!
18+
- For `jlink-software-and-documentation`, if it's not merged yet, apply a patch like
19+
<https://aur.archlinux.org/packages/jlink-software-and-documentation#comment-786082>. It seems like not
20+
having a GUI suppresses `JLinkGDBServer`'s pop-up and confirmation attempts.
21+
22+
## The Runner
23+
Install it as described in the Settings > Actions tab, then keep it running with:
24+
25+
```
26+
[Unit]
27+
Description=GitHub Actions runner
28+
29+
[Service]
30+
Type=simple
31+
ExecStart=/home/alarm/actions-runner/run.sh
32+
WorkingDirectory=/home/alarm/actions-runner
33+
34+
[Install]
35+
WantedBy=default.target
36+
```

0 commit comments

Comments
 (0)