RPi
: Raspberry PiReRAM
: Resistive Random Access MemoryPCB
: Printed Circuit BoardTRNG
: True Random Number GeneratorSupervisor RPi
(optional): The Raspberry Pi which supervises the progress (the one with a1
in its ID)ReRAM RPi
: The RPi which is connected to the ReRAM PCB (the one with a2
in its ID)
The Supervisor RPi is not really necessary anymore since the ReRAM RPi is able to write any results directly to a file on the SD card (since commit 67cc0804c4a468e16ec96f596f74eb685c565452, the big circle
rewrite). However, it is still useful as one can watch the progress through debug statements scattered throughout the code.
- Just download the latest workflow build
- Go to the latest pipeline build
- Open its build log
- On the right sidebar, click on
Download
underJob artifacts
- The zip file contains all the relevant files. Be sure to rename the kernel that you want to deploy to just
kernel8.img
!
- Clone this Git repository (remember to also initialise the
circle
submodule!) - Install either a cross-compiling
gcc
instance (gcc-aarch64-linux-gnu
) or the nativegcc
if you are already on the ARMv8/AARCH64v8 platform - Install
make
andwget
- Run
./init.sh
- Run
./compile.sh
with your desired parameters - All the required files can be found in
boot
- Start Raspberry Pi Imager
- Select
Raspberry Pi OS Lite 64 bit
as image - Select the correct SD card
- Advanced settings: don't matter
- Select
Write
- Wait until done
- Briefly disconnect the SD card from the computer and insert it again
- You can remove all the files on the SD-card and copy the required files from the previous step onto its boot partition
- Put the SD card in RPi with the
2
in its ID - Do not turn it on yet
- Start Raspberry Pi Imager
- Select
Raspberry Pi OS Lite 32 bit
as image - Select correct SD card
- Advanced settings:
Hostname
: Self-selectable (preferably name corresponding to letters on RPi, e.g.A1 -> alice
,B1 -> bob
etc.).Enable SSH
: Check the box and selectUse password for authentication
Set up Wifi
: Check the box and insert the data from your hotspot; also select the correct wifi country (probably corresponding to the language of the mobile phone)- Remaining parameters do not matter
- Select
Write
- Wait until ready
- Put SD card in RPi with the
1
in its ID - Turn on your hotspot
- Turn on the RPi
- Connect laptop to hotspot
- Wait until RPi is logged into the hotspot (may take a while at the first start...)
- Connect to RPi via
ssh
(try the host name as the IP address, otherwise useip neigh
or brute-force via e.g. "Angry IP Scanner") - Execute command:
sudo apt update && sudo apt install minicom screen && sudo raspi-config
- Navigate to "Interface Options" and select "Serial Port".
- For
Would you like a login shell [...]
select:<No>
- For
Do you want to enable the serial port hardware [...]
select:<Yes>
- Confirm with
<Ok>
and change to<Finish>
with Tab and confirm with Enter - When asked for a reboot, confirm with
<Yes>
and wait
- Once the RPi is restarted, connect again via SSH
- Execute command:
ls /dev/ttyS0
and check that the file is displayed. If not, something went wrong during the setup - Execute command:
sudo minicom -s
- Navigate to
Serial port setup
in the menu and select it by pressing Enter - Type
A
; theSerial device
field should be selected now - Change to
/dev/ttyS0
and confirm with Enter - Check that
E
says115200 8N1
- Go to the main menu with Enter
- Under
Screen and keyboard
changeA
to Ctrl+X (it must then say^X
) - Go back to the main menu with Enter
- Select
Save setup as dfl
and wait until the small message disappears - Select
Exit
- The
minicom
console should now be opened
- Make sure that you are inside
minicom
in the Supervisor RPi - Make sure that everything is wired up correctly
- Turn on the ReRAM RPi
- You should see logs inside
minicom
. If not, something went wrong!