Home

Awesome

ArozOS Launcher

The ArozOS default launcher for over the air (OTA) updates

The ArozOS Launcher is the default launcher that ship with the ArozOS Raspberry Pi image since v1.119. The launcher is a very basic program that start arozos and update the arozos if an update folder exists.

Supported Platforms

The launcher only support a limited number of platforms including

Build

Require Go 1.17 or above

git clone https://github.com/aroz-online/launcher
cd ./launcher
go mod tidy
go build

For building for cross platforms, see build.bat

Usage

Automatic Net Install (for fresh installation)

(This feature is only added since Launcher v1.3 (for ArozOS v2.011))

If you have a clean Linux installation and want to install ArozOS from Github Release, you can use the following command to download and start the launcher. The launcher will download the release of ArozOS from Github and start it for you.

Here is an example for using the Launcher net install function

wget https://github.com/aroz-online/launcher/releases/download/v2.010/launcher_linux_arm64
mv launcher_linux_arm64 launcher
sudo chmod 775 ./launcher
./launcher

Depending on your network speed, the web.tar.gz download might take some time, sometime up to 8+ minutes on low end SBCs.

Folder Structure (for adding OTA Update to existing ArozOS systems)

Put the launcher binary inside the arozos source root (the src folder if you are cloning from Github repo) with a executable binary next to it in the same directory, and start the launcher with the start command.

Here is an example folder structure that will launch correctly

Start Command

All parameter passed to the launcher will be passed to the arozos binary which the launcher will pick from wildcard arozos_* or ./arozos (or arozos.exe if you are running it on windows). Example:

./launcher -port 80 -hostname "MyServer"

If you are already having a startup script that calls to arozos binary, you can simply switch out the ./arozos to ./launcher. Here is an example of such switch

# Original
./arozos -port 80 -tls=true -tls_port 433 -hostname "MyServer"

# Using launcher
./launcher -port 80 -tls=true -tls_port 433 -hostname "MyServer"

Port Occupy

This launcher will listen to 127.0.0.1:25576 for arozos launcher check. If you have another application that is using this port, you might not be able to use arozos with this launcher.

Auto Configuration Backup

This launcher will backup the following files and migrate them to the newer version of arozos.

system/bridge.json
system/dev.uuid
system/cron.json
system/storage.json
web/SystemAO/vendor/*

By design the database files will not be overwritten by updates. However, we still do recommend users to backup their important data and database before applying an OTA update from their vendor.

Changing Update Download Source

The update download was not done by the launcher. The launcher only launch arozos, backup old arozos folder structure and apply updates (overwrite the current arozos with contents inside the updates/ folder) if required folder structure exists. See arozos/src/system/update.json for more details.

License

MIT