Skip to content

Commit

Permalink
Merge pull request #57 from snstac/aryaos_1.0.0
Browse files Browse the repository at this point in the history
AryaOS v1.0.0
  • Loading branch information
ampledata authored Apr 3, 2024
2 parents 0607c44 + 6a9ac2b commit a0c7b08
Show file tree
Hide file tree
Showing 237 changed files with 7,527 additions and 10,125 deletions.
151 changes: 151 additions & 0 deletions .github/workflows/pi-gen-action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
name: pi-gen-action

on:
push:
branches: [ main, aryaos_1.0.0 ]
pull_request:
branches: [ main ]

env:
DUMP1090_RECEIVER_SERIAL: stx:1090:0
DUMP978_RECEIVER_SERIAL: stx:978:0
COMITUP_WEB_PORT: 9080
AOS_SERVICES: AISCOT ADSBCOT LINCOT DroneCOT nodered

jobs:
pi-gen-action:
runs-on: ubuntu-latest
steps:
- name: Delete huge unnecessary tools folder
run: rm -rf /opt/hostedtoolcache

- name: Check out repository
uses: actions/checkout@v4

- name: List working directory
run: ls -alR ../

- name: Run pi-gen build
uses: usimd/pi-gen-action@v1
id: build
with:
# Compression to apply on final image (either "none", "zip", "xz" or "gz").
compression: zip

# Compression level to be used. From 0 to 9 (refer to the tool man page for more
# information on this. Usually 0 is no compression but very fast, up to 9 with the
# best compression but very slow).
compression-level: 6

# Disable the renaming of the first user during the first boot. This make it so
# 'username' stays activated. 'username' must be set for this to work. Please be
# aware of the implied security risk of defining a default username and password
# for your devices.
disable-first-boot-user-rename: 1

# Additional options to include in PIGEN_DOCKER_OPTS
docker-opts: ''

# Set whether a NOOBS image should be built as well. If enabled, the output
# directory containing the NOOBS files will be saved as output variable
# 'image-noobs-path'.
enable-noobs: false

# Enable SSH access to Pi.
enable-ssh: 1

# If this feature is enabled, the action will configure pi-gen to not export any
# stage as image but the last one defined in property 'stage-list'. This is
# helpful when building a single image flavor (in contrast to building a
# lite/server and full-blown desktop image), since it speeds up the build process
# significantly.
export-last-stage-only: true

# Comma or whitespace separated list of additional packages to install on host
# before running pi-gen. Use this list to add any packages your custom stages may
# require. Note that this is not affecting the final image. In order to add
# additional packages, you need to add a respective 'XX-packages' file in your
# custom stage.
extra-host-dependencies: ''

# Comma or whitespace separated list of additional modules to load on host before
# running pi-gen. If your custom stage requires additional software or kernel
# modules to be loaded, add them here. Note that this is not meant to configure
# modules to be loaded in the target image.
extra-host-modules: ''

# Token to use for checking out pi-gen repo.
github-token: ${{ github.token }}

# Host name of the image.
hostname: aryaos

# Final image name.
image-name: aryaos

# Default keyboard keymap.
keyboard-keymap: us

# Default keyboard layout.
keyboard-layout: English (US)

# Default locale of the system image.
locale: en_US.UTF-8

# Password of the intial user account, locked if empty.
password: aryaos415

# Path where selected pi-gen ref will be checked out to. If the path does not yet
# exist, it will be created (including its parents).
pi-gen-dir: pi-gen

# The release name to use in `/etc/issue.txt`. The default should only be used for
# official Raspberry Pi builds.
pi-gen-release: 'AryaOS: An Operating System for Modern Situational Awareness'

# GitHub repository to fetch pi-gen from, must be a fork from RPi-Distro/pi-gen.
pi-gen-repository: RPi-Distro/pi-gen

# Release version of pi-gen to use. This can both be a branch or tag name known in
# the pi-gen repository.
pi-gen-version: arm64

# The release version to build images against. Valid values are jessie, stretch,
# buster, bullseye, bookworm, and testing.
release: bookworm

# Setting to `1` will prevent pi-gen from dropping the "capabilities" feature.
# Generating the root filesystem with capabilities enabled and running it from a
# filesystem that does not support capabilities (like NFS) can cause issues. Only
# enable this if you understand what it is.
setfcap: ''

# List of stage name to execute in given order. Relative and absolute paths to
# custom stage directories are allowed here. Note that by default pi-gen exports
# images in stage2 (lite), stage4 and stage5. You probably want to hook in custom
# stages before one of the exported stages. Otherwise, the action will make sure
# any custom stage will include an image export directive.
stage-list: stage0 stage1 stage2 ../aryaos/stage3-base ../aryaos/stage3-wifi ../aryaos/stage4-node-red ../aryaos/stage5-common ../aryaos/stage6-air ../aryaos/stage7-sea ../aryaos/stage8-uas ../aryaos/stage9-docker

# System timezone.
timezone: UTC

# Name of the initial user account.
username: pi

# Print all output from pi-gen.
verbose-output: true

# Wifi country code of default network to connect to.
wpa-country: US

# SSID of a default wifi network to connect to.
wpa-essid: AryaOS-WiFi

# Password of default wifi network to connect to.
wpa-password: aryaos415

- uses: actions/upload-artifact@v3
with:
name: pi-gen-image
path: ${{ steps.build.outputs.image-path }}
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ pi-gen:

copy:
rsync -va ../aryaos kelp.local:~/src/SNS/
# rsync -va ../aryaos titan2.local:~/src/SNS/

sync: copy

Expand All @@ -49,4 +50,4 @@ skip5:

mkdocs:
pip install -r docs/requirements.txt
mkdocs serve
mkdocs serve
13 changes: 8 additions & 5 deletions config
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,27 @@
# limitations under the License.
#

AOS_FLAVOR="aryaos"
AOS_FLAVOR_ST="AryaOS"
AOS_FLAVOR="AryaOS"

IMG_NAME="aryaos-1.0.0-beta1"
IMG_NAME="aryaos-1.0.0"

PI_GEN_RELEASE="AryaOS: An Operating System for Modern Situational Awareness."
TARGET_HOSTNAME="aryaos"
FIRST_USER_NAME="pi"
FIRST_USER_PASS="aryaos415"
STAGE_LIST="stage0 stage1 stage2 ../stage3-wifi ../stage4-node-red ../stage5-common ../stage6-dump1090 ../stage7-adsbcot"
STAGE_LIST="stage0 stage1 stage2 ../stage3-base ../stage3-wifi ../stage4-node-red ../stage5-common ../stage6-air ../stage7-sea ../stage8-uas ../stage9-docker"
DISABLE_FIRST_BOOT_USER_RENAME=1
RELEASE="bookworm"
WPA_ESSID="AryaOS-WiFi"
WPA_PASSWORD="aryaos415"
WPA_COUNTRY="US"
LOCALE_DEFAULT="en_US.UTF-8"
KEYBOARD_LAYOUT="English (US)"
KEYBOARD_KEYMAP="us"
ENABLE_SSH=1
APT_PROXY="http://172.17.2.88:3142"

DUMP1090_RECEIVER_SERIAL="stx:1090:0"
DUMP978_RECEIVER_SERIAL="stx:978:0"

COMITUP_WEB_PORT="9080"
AOS_SERVICES="AISCOT ADSBCOT LINCOT DroneCOT nodered"
14 changes: 7 additions & 7 deletions docs/build.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# Download or Build

## Download AirTAK Open Source
## Download AyraOS

* Latest: [R02](https://drive.google.com/file/d/1ZaAzdc1E-pdhytGDDaUfkhIVFpyTmuGk/view?usp=sharing).
* FIXME TK

## Build AirTAK Open Source
## Build AryaOS

The build environment for AirTAK is based on [pi-gen](https://github.com/RPi-Distro/pi-gen).
The build will create a Raspberry Pi OS image, compatible with [Raspberry Pi Imager](https://www.raspberrypi.com/software/) or [Balena Etcher](https://etcher.balena.io/).
The build environment for AryaOS is based on [pi-gen](https://github.com/RPi-Distro/pi-gen).
The build will create a Raspberry Pi OS image, compatible with [Raspberry Pi Imager](https://www.raspberrypi.com/software/).

Any SD card larger than 16 GB should suffice to get started, 32 GB recommended.

The AirTAK build procedure is inspired by @deltazero's [kiosk.pi](https://medium.com/@deltazero/making-kioskpi-custom-raspberry-pi-os-image-using-pi-gen-99aac2cd8cb6).
The AryaOS build procedure is inspired by @deltazero's [kiosk.pi](https://medium.com/@deltazero/making-kioskpi-custom-raspberry-pi-os-image-using-pi-gen-99aac2cd8cb6).

### Build Steps

Expand All @@ -27,4 +27,4 @@ To Update a build:
2. `make skip` to skip base-os build steps.
3. `make buld` to create an image.

N.B.: THe `make build` step will attempt to sudo, and may prompt for a password.
N.B.: The `make build` step will attempt to sudo, and may prompt for a password.
Binary file removed docs/build/doctrees/api.doctree
Binary file not shown.
Binary file removed docs/build/doctrees/clients.doctree
Binary file not shown.
Binary file removed docs/build/doctrees/compat.doctree
Binary file not shown.
Binary file removed docs/build/doctrees/config.doctree
Binary file not shown.
Binary file removed docs/build/doctrees/environment.pickle
Binary file not shown.
Binary file removed docs/build/doctrees/examples.doctree
Binary file not shown.
Binary file removed docs/build/doctrees/generated/pytak.CLITool.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed docs/build/doctrees/generated/pytak.Worker.doctree
Binary file not shown.
Binary file removed docs/build/doctrees/generated/pytak.cli.doctree
Binary file not shown.
Binary file not shown.
Binary file removed docs/build/doctrees/generated/pytak.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed docs/build/doctrees/index.doctree
Binary file not shown.
Binary file removed docs/build/doctrees/install.doctree
Binary file not shown.
4 changes: 0 additions & 4 deletions docs/build/html/.buildinfo

This file was deleted.

Binary file not shown.
18 changes: 0 additions & 18 deletions docs/build/html/_sources/api.rst.txt

This file was deleted.

28 changes: 0 additions & 28 deletions docs/build/html/_sources/clients.rst.txt

This file was deleted.

Loading

0 comments on commit a0c7b08

Please sign in to comment.