summaryrefslogtreecommitdiff
path: root/unmaintained/clusters
diff options
context:
space:
mode:
Diffstat (limited to 'unmaintained/clusters')
-rw-r--r--unmaintained/clusters/jetson-upgrade.morph17
-rw-r--r--unmaintained/clusters/moonshot-m2-armv8b64.morph56
-rw-r--r--unmaintained/clusters/moonshot-pxe-armv8b64.morph30
-rw-r--r--unmaintained/clusters/moonshot-pxe-armv8l64.morph22
-rw-r--r--unmaintained/clusters/sdk-example-cluster.morph46
-rw-r--r--unmaintained/clusters/upgrade-devel.morph39
6 files changed, 210 insertions, 0 deletions
diff --git a/unmaintained/clusters/jetson-upgrade.morph b/unmaintained/clusters/jetson-upgrade.morph
new file mode 100644
index 00000000..fb1fc1b4
--- /dev/null
+++ b/unmaintained/clusters/jetson-upgrade.morph
@@ -0,0 +1,17 @@
+name: jetson-upgrade
+kind: cluster
+systems:
+- morph: unmaintained/systems/devel-system-armv7lhf-jetson.morph
+ deploy-defaults:
+ BOOT_DEVICE: /dev/mmcblk0p1
+ ROOT_DEVICE: /dev/mmcblk0p2
+ DTB_PATH: boot/tegra124-jetson-tk1.dtb
+ BOOTLOADER_CONFIG_FORMAT: extlinux
+ BOOTLOADER_INSTALL: none
+ KERNEL_ARGS: cma=256M console=tty0 console=ttyS0,115200n8 no_console_suspend=1
+ nouveau.pstate=1
+ FSTAB_SRC: LABEL=src /src auto defaults,rw,noatime,nofail 0 2
+ deploy:
+ self:
+ upgrade-type: extensions/ssh-rsync
+ upgrade-location: root@127.0.0.1
diff --git a/unmaintained/clusters/moonshot-m2-armv8b64.morph b/unmaintained/clusters/moonshot-m2-armv8b64.morph
new file mode 100644
index 00000000..9c68248b
--- /dev/null
+++ b/unmaintained/clusters/moonshot-m2-armv8b64.morph
@@ -0,0 +1,56 @@
+name: moonshot-m2-armv8b64
+kind: cluster
+description: |
+ Install a build armv8b64 system into the M.2 SSD storage of an HP
+ Moonshot node, using a combination of the pxeboot.write extension and
+ the installer system.
+systems:
+- morph: systems/installer-system-armv8b64.morph
+ deploy:
+ installer:
+ type: extensions/pxeboot
+ location: 14:58:d0:57:7f:42
+ PXEBOOT_MODE: existing-server
+ PXEBOOT_CONFIG_TFTP_ADDRESS: sftp://192.168.0.1/srv/nfsboot/tftp/
+ PXEBOOT_ROOTFS_RSYNC_ADDRESS: rsync://192.168.0.1/srv/nfsboot/
+ PXEBOOT_PXE_REBOOT_COMMAND: |
+ ssh Administrator@10.0.1.10 set node power off force c31n1
+ ssh Administrator@10.0.1.10 set node boot pxe c31n1
+ # Nodes are powered on twice as sometimes powering them on
+ # once is not enough
+ ssh Administrator@10.0.1.10 set node power on c31n1
+ ssh Administrator@10.0.1.10 set node power on c31n1
+ PXEBOOT_REBOOT_COMMAND: |
+ ssh Administrator@10.0.1.10 set node power off force c31n1
+ ssh Administrator@10.0.1.10 set node boot m.2 c31n1
+ ssh Administrator@10.0.1.10 set node power on c31n1
+ ssh Administrator@10.0.1.10 set node power on c31n1
+
+ INSTALLER_TARGET_STORAGE_DEVICE: /dev/sda
+ INSTALLER_ROOTFS_TO_INSTALL: /rootfs
+ INSTALLER_POST_INSTALL_COMMAND: |
+ while : ; do
+ echo "enter 'installed' in your deployment machine to finish the installation"
+ sleep 2
+ done
+ INSTALLER_CREATE_BOOT_PARTITION: true
+
+ HOSTNAME: installer-system-c31n1
+ DTB_PATH: boot/m400-1003.dtb
+ KERNEL_ARGS: console=ttyS0,9600n8r init=/usr/lib/baserock-installer/installer
+ INSTALL_FILES: install-files/moonshot/manifest
+ MOONSHOT_KERNEL: true
+ subsystems:
+ - morph: unmaintained/systems/devel-system-armv8b64.morph
+ deploy:
+ to-install:
+ type: extensions/sysroot
+ location: /rootfs
+ HOSTNAME: baserock-c31n1
+ DTB_PATH: boot/m400-1003.dtb
+ INSTALL_FILES: install-files/moonshot/manifest
+ MOONSHOT_KERNEL: true
+ BOOT_DEVICE: /dev/sda1
+ ROOT_DEVICE: /dev/sda2
+ BOOTLOADER_CONFIG_FORMAT: extlinux
+ BOOTLOADER_INSTALL: none
diff --git a/unmaintained/clusters/moonshot-pxe-armv8b64.morph b/unmaintained/clusters/moonshot-pxe-armv8b64.morph
new file mode 100644
index 00000000..d97dcbef
--- /dev/null
+++ b/unmaintained/clusters/moonshot-pxe-armv8b64.morph
@@ -0,0 +1,30 @@
+name: moonshot-pxe-armv8b64
+kind: cluster
+description: |
+ Deploy a big-endian armv8b64 devel system onto an HP Moonshot node
+
+ The system will be configured to boot through PXE from existing DHCP,
+ TFTP and NFS servers.
+systems:
+- morph: unmaintained/systems/devel-system-armv8b64.morph
+ deploy:
+ netboot:
+ type: extensions/pxeboot
+ location: 14:58:d0:57:7f:42
+ PXEBOOT_MODE: existing-server
+ PXEBOOT_CONFIG_TFTP_ADDRESS: sftp://192.168.0.1/srv/nfsboot/tftp/
+ PXEBOOT_ROOTFS_RSYNC_ADDRESS: rsync://192.168.0.1/srv/nfsboot/
+ PXEBOOT_PXE_REBOOT_COMMAND: |
+ ssh Administrator@10.0.1.10 set node power off force c31n1
+ ssh Administrator@10.0.1.10 set node boot pxe c31n1
+ # Nodes are powered on twice as sometimes powering them on
+ # once is not enough
+ ssh Administrator@10.0.1.10 set node power on c31n1
+ ssh Administrator@10.0.1.10 set node power on c31n1
+ PXE_INSTALLER: false
+
+ HOSTNAME: baserock-c31n1
+ DTB_PATH: boot/m400-1003.dtb
+ KERNEL_ARGS: console=ttyS0,9600n8r rw
+ INSTALL_FILES: install-files/moonshot/manifest
+ MOONSHOT_KERNEL: true
diff --git a/unmaintained/clusters/moonshot-pxe-armv8l64.morph b/unmaintained/clusters/moonshot-pxe-armv8l64.morph
new file mode 100644
index 00000000..531c7428
--- /dev/null
+++ b/unmaintained/clusters/moonshot-pxe-armv8l64.morph
@@ -0,0 +1,22 @@
+name: moonshot-pxe-armv8l64
+kind: cluster
+description: |
+ Deploy an armv8l64 devel system into a HP Moonshot node
+
+ The system will be configured to boot through PXE from existing DHCP,
+ TFTP and NFS servers.
+systems:
+- morph: unmaintained/systems/devel-system-armv8l64.morph
+ deploy:
+ netboot:
+ type: extensions/pxeboot
+ location: 14:58:d0:57:7f:42
+ PXEBOOT_MODE: existing-server
+ PXEBOOT_CONFIG_TFTP_ADDRESS: sftp://192.168.0.1/srv/nfsboot/tftp/
+ PXEBOOT_ROOTFS_RSYNC_ADDRESS: rsync://192.168.0.1/srv/nfsboot/
+ KERNEL_ARGS: console=ttyS0,9600n8r rw
+ DTB_PATH: boot/m400-1003.dtb
+ HOSTNAME: baserock-m400-node31
+ MOONSHOT_KERNEL: true
+ INSTALL_FILES: install-files/moonshot/manifest
+ PXE_INSTALLER: false
diff --git a/unmaintained/clusters/sdk-example-cluster.morph b/unmaintained/clusters/sdk-example-cluster.morph
new file mode 100644
index 00000000..35d47508
--- /dev/null
+++ b/unmaintained/clusters/sdk-example-cluster.morph
@@ -0,0 +1,46 @@
+name: sdk-example-cluster
+kind: cluster
+description: |
+ An example of creating a cross-compile SDK for an embedded Baserock system.
+
+ This cluster demonstrates how you can use the 'sdk' write extension to
+ produce a cross-compile SDK tarball for an Baserock applicance. In this
+ example the system is assumed to run on ARMv7, and the SDK is built to
+ run on any x86_32 GNU/Linux system.
+
+ The SDK is a Baserock system itself, containing just 'build-essential' and a
+ 'cross-toolchain' stratum. The SDK system also includes the target
+ appliance's system, as a 'subsystem', so that the libraries and headers are
+ available when building.
+
+ This cluster deploys the SDK system using the 'sdk' write extension, which
+ produces a tarball with a small shell header. When the shell header is
+ executed, and passed a directory name on the commandline, it extracts the SDK
+ to that path and patches the binaries so that they execute correctly from
+ that directory.
+
+ Deploying the applicate system artifact to the target device should be
+ done with a separate cluster morphology, because you will often want to
+ do this without rebuilding the SDK.
+
+ You must build each system with `morph build` before deploying. We recommend
+ doing this all from your Baserock development machine, using a Baserock
+ ARM distributed build network to produce the system artifact. Once both
+ system artifacts are cached locally, the `morph deploy` command will produce
+ a self-extracting shell script/tarball following the 'location' field.
+
+ See the documentation of the sdk.write extension for more information.
+systems:
+- morph: systems/armv7lhf-cross-toolchain-system-x86_64.morph
+ deploy:
+ sdk:
+ type: extensions/sdk
+ location: armv7lhf-cross-toolchain-system-x86_64.sh
+ PREFIX: /usr
+ TARGET: armv7lhf-baserock-linux-gnueabi
+ subsystems:
+ - morph: unmaintained/systems/devel-system-armv7lhf-highbank.morph
+ deploy:
+ sysroot:
+ type: extensions/sysroot
+ location: usr/armv7lhf-baserock-linux-gnueabi/sys-root
diff --git a/unmaintained/clusters/upgrade-devel.morph b/unmaintained/clusters/upgrade-devel.morph
new file mode 100644
index 00000000..44759ac2
--- /dev/null
+++ b/unmaintained/clusters/upgrade-devel.morph
@@ -0,0 +1,39 @@
+name: upgrade-devel
+kind: cluster
+description: |
+ This is a cluster morphology that can be used to deploy systems to a
+ an existing Baserock devel system, as an upgrade of the running system.
+
+ This method is for users who deployed a system manually from one of the
+ images provided on http://download.baserock.org. IT IS ONLY POSSIBLE TO
+ UPGRADE BASEROCK 14 RELEASES OR NEWER.
+
+ If you deployed your system using `morph deploy` then you should reuse the
+ cluster morphology you did the initial deployment with, instead of this one,
+ so that the configuration is preserved in the new system.
+
+ Ensure that your root user has passwordless SSH access to localhost with
+ `ssh root@localhost whoami`. If not, run `ssh-copy-id root@localhost`.
+ Make sure the 'morph' field below matches the system you are upgrading.
+
+ To upgrade, select a sensible a value for VERSION_LABEL and run:
+
+ morph upgrade clusters/upgrade-devel.morph self.HOSTNAME=$(hostname) self.VERSION_LABEL=$VERSION_LABEL
+
+ Your configuration in /etc should be propagated to the new system, but there
+ may be merge conflicts. Check /etc for files named '.rej' and '.orig' in the
+ new system, which will indicate that there are changes from the old system
+ that must be merged manually. You can get a nice diff from the old /etc as
+ follows:
+
+ mount /dev/sda /mnt
+ git diff --no-index /mnt/systems/factory/run/etc /mnt/systems/$VERSION_LABEL/run/etc
+
+ On a base system, use 'diff -r' instead of 'git diff --no-index'. It will
+ not be as colourful.
+systems:
+- morph: unmaintained/systems/devel-system-x86_64-generic.morph
+ deploy:
+ self:
+ upgrade-type: extensions/ssh-rsync
+ upgrade-location: root@127.0.0.1