diff options
Diffstat (limited to 'unmaintained/clusters')
-rw-r--r-- | unmaintained/clusters/jetson-upgrade.morph | 17 | ||||
-rw-r--r-- | unmaintained/clusters/moonshot-m2-armv8b64.morph | 56 | ||||
-rw-r--r-- | unmaintained/clusters/moonshot-pxe-armv8b64.morph | 30 | ||||
-rw-r--r-- | unmaintained/clusters/moonshot-pxe-armv8l64.morph | 22 | ||||
-rw-r--r-- | unmaintained/clusters/sdk-example-cluster.morph | 46 | ||||
-rw-r--r-- | unmaintained/clusters/upgrade-devel.morph | 39 |
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 |