Skip to content

This repository describes the use case of compiling a .ASM source file into a .PRG file while using GitHub Workflow. The GitHub Workflow Runner is running on a `Pi Zero 2 W` which is internally mounted on the Ultimate64. The CI workflow also runs, after compiling the .PRG on the Ultimate64.

Notifications You must be signed in to change notification settings

6510nl/DevOps64

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevOps64

Turning an Ultimate64 into a multi-platform DevOps machine.


Hardware

Example setup using Ultimate 64


Software


Installing Raspberry Pi OS using the Raspberry PI Imager

You need to use the 64-bit version of the Raspberry PI OS Lite on the ARMv7 Rpi otherwise the .NET the GitHub Action Runner won't install.

Also the single-core Raspberry Pi Zero renders a 6312 Segmentation fault error while running config.sh as the ARMv6 CPU isn't supported for the .NET components.

The most convenient way of writing the RPi OS to a SD card is by using the Raspberry Pi Imager.

While pressing Ctrl+Shift+X the Advanced options-menu appears. This allows you to configure the settings before writing the image to a SD card.


Configure manually

Alternatively, you can also write some files to the OS manually after you have written the stock image to the SD card.


Configuring WiFi

Add your wpa_supplicant.conf file to the boot partition of the already written

Open a plaintext editor such as Notepad (Windows) or TextEdit (Mac) and create a new file. Add the following to the file for Raspberry Pi OS, Raspbian Stretch, or Raspbian Buster:

country=US # Your 2-digit country code
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
    ssid="YOUR_NETWORK_NAME"
    psk="YOUR_PASSWORD"
    key_mgmt=WPA-PSK
}

If you're using Raspbian Jessie or older, use this instead:

network={
    ssid="YOUR_NETWORK_NAME"
    psk="YOUR_PASSWORD"
    key_mgmt=WPA-PSK
}

Finally, save the file. If you're using TextEdit on Mac, you'll need to go to Format > Make Plain Text in the menu bar before saving. Make sure the filename is exactly wpa_supplicant.conf.


Enabling SSH

Place an empty file named ssh in the boot partition of the SD card.


Configuring the self-hosted runner on Raspberry Pi Zero 2 W

Insert the SD card into the Raspberry Pi and power the Pi up.

Log on using a SSH client and execute the following commands to upgrade the freshly installed image

sudo apt update && sudo apt --yes full-upgrade

Install the GitHub Runner

To install a GitHub self-hosted runner you need to follow the docs on Github. As wyou are running a 64-bit OS, make sure that you choose the ARM64 runner.

The default values can be set by pressing enter a few times.


Install the runner as a service

To install the runner as a service you need to give the install parameter to the svc.sh command

sudo ./svc.sh install 

Starting the service is easy

sudo ./svc.sh start

For more information on the service, see; Configuring the self-hosted runner application as a service


Start the CI workflow

When starting the CI workflow for the first time the workflow installs the software prerequisites. These files are installed and cached on the SD card for future usage.


Mounting inside the Commodore 64 casing

Combining and mounting the Raspberry Pi Zero W next to the Ultimate 64 into the Commodore 64 casing has a few benefits;

  • The RPi is only powered on when the Ultimate64 is powered on.
  • Everything inside the Commodore 64 case.

Configuring your environment

The source/variables.env file contains all the variables you need to have a successful workflow run and targetting your Ultimate device.

About

This repository describes the use case of compiling a .ASM source file into a .PRG file while using GitHub Workflow. The GitHub Workflow Runner is running on a `Pi Zero 2 W` which is internally mounted on the Ultimate64. The CI workflow also runs, after compiling the .PRG on the Ultimate64.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published