Advanced SEAPATH image installation

Advanced SEAPATH image installation

This page explains how to customize the SEAPATH image installation.

It describes how to embed custom images and SSH keys into the installer. Custom images can be built by following Build and configure a custom image

A section is also dedicated to the manual installation of images Flash the machines manually. This method allows, among other things, a non-interactive installation.
It is however harder to use than the installer. Unless there is a blocking issue, the seapath-installer should be preferred.

Customize the installer

You can get an empty version of the SEAPATH installer on the installer release page. This file contains only the installer and no images or SSH keys.

Flash this file to a USB stick, either with a graphical tool like Balena Etcher or with a standard dd command.

The installer can now be customized to add custom artifacts to be installed on the target machine. To do so, mount the USB stick on your computer. The directory DATA should contain the installer artifacts.

SEAPATH images

The installer already include the latest public release of SEAPATH:

  • SEAPATH Yocto cluster/standalone/observer

  • SEAPATH Debian all machines

If you wish to add your own SEAPATH image, you can build them following Build and configure a custom image

The installer currently only support the following images format:

  • .raw.gz for SEAPATH Debian. No .bmap file is needed.

  • .wic.gz for SEAPATH Yocto. A .bmap file, generated during build, is needed.

SSH keys

The installer already include the SEAPATH public SSH key. If you wish to add your own public SSH keys, copy them in the directory DATA/ssh.

NOTE: The SSH keys must be in .pub format.

The generic SSH key embedded by default in the SEAPATH installer is meant to be used for testing and POC.

For production, you must use your own SSH key

Others

You can add other types of artifacts in the DATA/others directory. This directory is only for passing data to the installer, and there will be not installed on the target machine.

Continue with the flashing process

Once you have loaded your image and SSH keys inside the installer, you can continue with the flashing process Install SEAPATH

Rebuild the installer

The SEAPATH installer is composed of two projects:

seapath-installer

seapath-installer is based on the Calamares project, aim to provide a distribution independent installer framework. Additionally to what Calamares already provide, we:

  • Added a custom SEAPATH branding

  • Created custom modules to fit the SEAPATH installation process

  • Modified existing Calamares modules to fit the SEAPATH installation process

Build seapath-installer

First, get the sources:

git clone https://github.com/seapath/seapath-installer.git

Then you can follow the steps described in the README file.

Tweaking seapath-installer custom modules

To fit the SEAPATH installation process we developed the following modules:

  • rawimage: A module used to copy a raw SEAPATH image on a target disk

  • imageselection: A module used to show the available SEAPATH images to install

  • sshkeyselection: A module used to show the available SSH public keys to install

  • uefiboot: A module used to configure the UEFI boot entries once the SEAPATH image is installed

seapath-live-installer

seapath-live-installer is based on the debian-live-config project, aim to provide a configurable Debian live OS generator. Additionally to what the project already provide, we:

  • Added a custom SEAPATH branding (splash screen, desktop wallpaper)

  • Removed most of the default packages

  • Customize the pre and post build steps to fetch and install the latest SEAPATH images and seapath-installer release in the generated ISO image file

Build seapath-live-installer

First, get the sources:

git clone https://github.com/seapath/seapath-live-installer.git

Then, follow the steps described in the README file.

Use your custom version of seapath-installer

If you wish to use your own version of seapath-installer, simply drop the seapath-installer .deb package in the root directory of the project config/packages/.