summaryrefslogtreecommitdiff
path: root/old/clusters
diff options
context:
space:
mode:
Diffstat (limited to 'old/clusters')
-rw-r--r--old/clusters/altera-socfpga-devkit-sd-image.morph14
-rw-r--r--old/clusters/build-system-x86_64-chroot-deploy.morph9
-rw-r--r--old/clusters/ci.morph93
-rw-r--r--old/clusters/example-distbuild-cluster.morph37
-rw-r--r--old/clusters/hardware-deployment.morph35
-rw-r--r--old/clusters/image-package-example.morph12
-rw-r--r--old/clusters/initramfs-test.morph22
-rw-r--r--old/clusters/installer-build-system-x86_64.morph52
-rw-r--r--old/clusters/jetson-upgrade.morph17
-rw-r--r--old/clusters/minimal-system-armv5l-openbmc-aspeed-deploy.morph13
-rw-r--r--old/clusters/minimal-system-deploy.morph14
-rw-r--r--old/clusters/minimal-system-x86_64-chroot-deploy.morph9
-rw-r--r--old/clusters/minimal-system-x86_64-deploy.morph12
-rw-r--r--old/clusters/moonshot-m2-armv8b64.morph56
-rw-r--r--old/clusters/moonshot-pxe-armv8b64.morph30
-rw-r--r--old/clusters/moonshot-pxe-armv8l64.morph22
-rw-r--r--old/clusters/release.morph62
-rw-r--r--old/clusters/sdk-example-cluster.morph46
-rw-r--r--old/clusters/upgrade-devel.morph39
19 files changed, 594 insertions, 0 deletions
diff --git a/old/clusters/altera-socfpga-devkit-sd-image.morph b/old/clusters/altera-socfpga-devkit-sd-image.morph
new file mode 100644
index 00000000..71d3da2d
--- /dev/null
+++ b/old/clusters/altera-socfpga-devkit-sd-image.morph
@@ -0,0 +1,14 @@
+name: altera-socfpga-devkit-sd-image
+kind: cluster
+description: |
+ This cluster morph deploys a little endian Baserock system to
+ an SD image for the Altera Cyclone V development kit
+systems:
+- morph: systems/build-system-armv7l-altera-socfpga-devkit.morph
+ deploy:
+ self:
+ type: extensions/rawdisk
+ location: build-system-armv7l-altera-socfpga-devkit.img
+ DISK_SIZE: 7G
+ USE_PARTITIONING: yes
+ PARTITION_FILE: partitioning/socfpga-devkit
diff --git a/old/clusters/build-system-x86_64-chroot-deploy.morph b/old/clusters/build-system-x86_64-chroot-deploy.morph
new file mode 100644
index 00000000..ce0b26bc
--- /dev/null
+++ b/old/clusters/build-system-x86_64-chroot-deploy.morph
@@ -0,0 +1,9 @@
+name: build-system-x86_64-chroot-deploy
+kind: cluster
+systems:
+- morph: systems/build-system-x86_64-chroot.morph
+ deploy:
+ build-system-x86_64-chroot:
+ type: extensions/tar
+ location: build-system-x86_64-chroot.tar
+ HOSTNAME: build-system-x86-64-chroot
diff --git a/old/clusters/ci.morph b/old/clusters/ci.morph
new file mode 100644
index 00000000..a56e34ea
--- /dev/null
+++ b/old/clusters/ci.morph
@@ -0,0 +1,93 @@
+name: ci
+kind: cluster
+description: |
+ Deploy all the systems for CD.
+
+ This cluster morph is for use by the Mason Continuous Delivery pipeline
+ during development.
+systems:
+- morph: systems/minimal-system-x86_64-generic.morph
+ deploy:
+ minimal-system-x86_64-generic:
+ type: extensions/rawdisk
+ location: minimal-system-x86_64-generic.img
+ DISK_SIZE: 512M
+ INIT_SYSTEM: busybox
+- morph: systems/devel-system-x86_64-generic.morph
+ deploy:
+ devel-system-x86_64-generic:
+ type: extensions/rawdisk
+ location: devel-system-x86_64-generic.img
+ DISK_SIZE: 4G
+- morph: systems/devel-system-x86_32-generic.morph
+ deploy:
+ devel-system-x86_32-generic:
+ type: extensions/rawdisk
+ location: devel-system-x86_32-generic.img
+ DISK_SIZE: 4G
+- morph: systems/build-system-armv7lhf-jetson.morph
+ deploy:
+ build-system-armv7lhf-jetson:
+ type: extensions/rawdisk
+ location: build-system-armv7lhf-jetson.img
+ DISK_SIZE: 3G
+ 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
+- morph: gnome/systems/gnome-system-x86_64.morph
+ deploy:
+ gnome-system-x86_64:
+ type: extensions/rawdisk
+ location: gnome-system-x86_64.img
+ DISK_SIZE: 7G
+ KERNEL_ARGS: vga=788
+- morph: weston/systems/weston-system-armv7lhf-jetson.morph
+ deploy:
+ weston-system-armv7lhf-jetson:
+ type: extensions/rawdisk
+ location: weston-system-armv7lhf-jetson.img
+ DISK_SIZE: 4G
+ 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
+- morph: genivi/systems/genivi-baseline-system-x86_64-generic.morph
+ deploy:
+ genivi-baseline-system-x86_64-generic:
+ type: extensions/rawdisk
+ location: genivi-baseline-system-x86_64-generic.img
+ DISK_SIZE: 4G
+ KERNEL_ARGS: vga=788
+ GENIVI_WESTON_BACKEND: fbdev
+ GENIVI_WESTON_CONFIG: baseline
+ GENIVI_WESTON_AUTOSTART: False
+- morph: genivi/systems/genivi-baseline-system-armv7lhf-jetson.morph
+ deploy:
+ genivi-baseline-system-armv7lhf-jetson:
+ type: extensions/rawdisk
+ location: genivi-baseline-system-armv7lhf-jetson.img
+ DISK_SIZE: 4G
+ 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
+ GENIVI_WESTON_BACKEND: drm
+ GENIVI_WESTON_CONFIG: baseline
+ GENIVI_WESTON_AUTOSTART: True
+- morph: weston/systems/weston-qt5-system-x86_64.morph
+ deploy:
+ weston-qt5-system-x86_64.morph:
+ type: extensions/rawdisk
+ location: weston-qt5-system-x86_64.morph.img
+ DISK_SIZE: 4G
+ KERNEL_ARGS: vga=788
diff --git a/old/clusters/example-distbuild-cluster.morph b/old/clusters/example-distbuild-cluster.morph
new file mode 100644
index 00000000..5208a5ca
--- /dev/null
+++ b/old/clusters/example-distbuild-cluster.morph
@@ -0,0 +1,37 @@
+name: example-distbuild-cluster
+kind: cluster
+description: |
+ This is an example cluster morph that can be adapted to set up a
+ Baserock distributed build network.
+
+ You will need to deploy a Trove for the distributed build network
+ to use before deploying this cluster. The worker SSH key file should
+ be generated as part of the Trove deployment. It is the key used by
+ workers to authenticate with the Trove to give them read access to
+ all source repositories.
+systems:
+- morph: systems/build-system-x86_64.morph
+ deploy-defaults:
+ CONTROLLERHOST: build-controller
+ DISTBUILD_CONTROLLER: false
+ DISTBUILD_WORKER: true
+ FSTAB_SRC: LABEL=src /srv/distbuild auto defaults,rw,noatime 0 2
+ INSTALL_FILES: install-files/distbuild/manifest
+ NFSBOOT_CONFIGURE: true
+ TROVE_ID: $MY_TROVE
+ WORKER_SSH_KEY: ssh-keys/worker.key
+ deploy:
+ build-controller:
+ type: extensions/nfsboot
+ location: $MY_TROVE
+ DISTBUILD_CONTROLLER: true
+ HOSTNAME: build-controller
+ WORKERS: build-node-1, build-node-2
+ build-node-1:
+ type: extensions/nfsboot
+ location: $MY_TROVE
+ HOSTNAME: build-node-1
+ build-node-2:
+ type: extensions/nfsboot
+ location: $MY_TROVE
+ HOSTNAME: build-node-2
diff --git a/old/clusters/hardware-deployment.morph b/old/clusters/hardware-deployment.morph
new file mode 100644
index 00000000..674d6587
--- /dev/null
+++ b/old/clusters/hardware-deployment.morph
@@ -0,0 +1,35 @@
+name: hardware-deployment
+kind: cluster
+description: |
+ Deploy a build-system into hardware using the combination
+ of the pxeboot.write extension and the installer system.
+ This examples uses the spawn-novlan mode of pxeboot.write.
+systems:
+- morph: systems/installer-system-x86_64.morph
+ deploy:
+ installer:
+ type: extensions/pxeboot
+ location: AB:CD:EF:12:34:56:78 #MAC address.
+ PXEBOOT_MODE: spawn-novlan
+ PXEBOOT_DEPLOYER_INTERFACE: ens6
+ KERNEL_ARGS: console=ttyS1,9600 console=tty0 init=/usr/lib/baserock-installer/installer
+ HOSTNAME: installer-system
+ IPMI_USER: myipmiuser
+ IPMI_PASSWORD: myipmipassword
+ IPMI_HOST: 123.34.45.120 #IPMI ip address
+ INSTALLER_TARGET_STORAGE_DEVICE: /dev/sda
+ INSTALLER_ROOTFS_TO_INSTALL: /rootfs
+ subsystems:
+ - morph: systems/build-system-x86_64.morph
+ deploy:
+ to-install:
+ type: extensions/sysroot
+ location: /rootfs
+ INITRAMFS_PATH: boot/initramfs.gz
+ KERNEL_ARGS: console=ttyS1,9600 console=tty0
+ subsystems:
+ - morph: systems/initramfs-x86_64.morph
+ deploy:
+ initramfs:
+ type: extensions/initramfs
+ location: boot/initramfs.gz
diff --git a/old/clusters/image-package-example.morph b/old/clusters/image-package-example.morph
new file mode 100644
index 00000000..ca79ec97
--- /dev/null
+++ b/old/clusters/image-package-example.morph
@@ -0,0 +1,12 @@
+name: image-package-example
+kind: cluster
+description: |
+ Packaged system and script for installing it, for deferred instantiation.
+systems:
+- morph: systems/base-system-x86_32-generic.morph
+ deploy:
+ imgpkg:
+ type: extensions/image-package
+ location: image-package-example.tar
+ BOOTLOADER_BLOBS: /usr/share/syslinux/mbr.bin
+ INCLUDE_SCRIPTS: extensions/image-package-example/make-disk-image.sh.in:extensions/image-package-example/disk-install.sh.in:extensions/image-package-example/common.sh.in
diff --git a/old/clusters/initramfs-test.morph b/old/clusters/initramfs-test.morph
new file mode 100644
index 00000000..a4ce7f32
--- /dev/null
+++ b/old/clusters/initramfs-test.morph
@@ -0,0 +1,22 @@
+name: initramfs-test
+kind: cluster
+systems:
+- morph: systems/base-system-x86_64-generic.morph
+ deploy:
+ system:
+ type: extensions/rawdisk
+ location: initramfs-system-x86_64.img
+ DISK_SIZE: 1G
+ HOSTNAME: initramfs-system
+ INITRAMFS_PATH: boot/initramfs.gz
+ subsystems:
+ - morph: systems/initramfs-x86_64.morph
+ deploy:
+ initramfs:
+ type: extensions/initramfs
+ location: boot/initramfs.gz
+ - morph: systems/initramfs-x86_64.morph
+ deploy:
+ shutdownramfs:
+ type: sysroot
+ location: usr/lib/shutdownramfs
diff --git a/old/clusters/installer-build-system-x86_64.morph b/old/clusters/installer-build-system-x86_64.morph
new file mode 100644
index 00000000..d9a2a28b
--- /dev/null
+++ b/old/clusters/installer-build-system-x86_64.morph
@@ -0,0 +1,52 @@
+name: installer-build-system-x86_64
+kind: cluster
+description: |
+ This is a cluster morphology that can be used to deploy
+ installer systems. This is done by adding the files needed
+ using a manifest file (installer/manifest) with the INSTALL_FILES
+ extension, and using the installer.configure extension to generate
+ the configuration needed in the system.
+
+ This manifest, which is installing the installer script in
+ /usr/lib/installer/installer.py, in combination of adding
+ "init=/usr/lib/installer/installer.py" as KERNEL_ARGS in the system
+ makes the system run the installer.py script as init script.
+
+ The installer.py script will read the information needed to
+ install the system (where is the root filesystem to install and
+ where to install it) from /etc/install.conf.
+
+ This cluster also deploys a subsystem (a build-system in this case)
+ which is going to be the system that the installer system/script is
+ going to install.
+
+systems:
+- morph: systems/installer-system-x86_64.morph
+ deploy:
+ installer:
+ type: extensions/rawdisk
+ location: installer-build-system-x86_64.img
+ KERNEL_ARGS: init=/usr/lib/baserock-installer/installer
+ DISK_SIZE: 6G
+ HOSTNAME: installer-x86_64
+ INSTALLER_TARGET_STORAGE_DEVICE: /dev/sda
+ INSTALLER_ROOTFS_TO_INSTALL: /rootfs
+ INITRAMFS_PATH: boot/initramfs.gz
+ subsystems:
+ - morph: systems/initramfs-x86_64.morph
+ deploy:
+ installer-initramfs:
+ type: extensions/initramfs
+ location: boot/initramfs.gz
+ - morph: systems/build-system-x86_64.morph
+ deploy:
+ to-install:
+ type: extensions/sysroot
+ location: /rootfs
+ INITRAMFS_PATH: boot/initramfs.gz
+ subsystems:
+ - morph: systems/initramfs-x86_64.morph
+ deploy:
+ to-install-initramfs:
+ type: extensions/initramfs
+ location: boot/initramfs.gz
diff --git a/old/clusters/jetson-upgrade.morph b/old/clusters/jetson-upgrade.morph
new file mode 100644
index 00000000..c8ac0681
--- /dev/null
+++ b/old/clusters/jetson-upgrade.morph
@@ -0,0 +1,17 @@
+name: jetson-upgrade
+kind: cluster
+systems:
+- morph: 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/old/clusters/minimal-system-armv5l-openbmc-aspeed-deploy.morph b/old/clusters/minimal-system-armv5l-openbmc-aspeed-deploy.morph
new file mode 100644
index 00000000..3154fa26
--- /dev/null
+++ b/old/clusters/minimal-system-armv5l-openbmc-aspeed-deploy.morph
@@ -0,0 +1,13 @@
+name: minimal-system-armv5l-openbmc-aspeed-deploy
+kind: cluster
+systems:
+- morph: systems/minimal-system-armv5l-openbmc-aspeed.morph
+ deploy:
+ minimal-system-armv5l-openbmc-aspeed:
+ type: extensions/jffs2
+ location: minimal-system-armv5l-openbmc-aspeed.img
+ ROOT_DEVICE: /dev/mtdblock
+ BOOTLOADER_CONFIG_FORMAT: extlinux
+ BOOTLOADER_INSTALL: none
+ ERASE_BLOCK: 64
+ INIT_SYSTEM: busybox
diff --git a/old/clusters/minimal-system-deploy.morph b/old/clusters/minimal-system-deploy.morph
new file mode 100644
index 00000000..cf8de54f
--- /dev/null
+++ b/old/clusters/minimal-system-deploy.morph
@@ -0,0 +1,14 @@
+name: minimal-system-deploy
+kind: cluster
+description: |
+ Deploy a minimal system to a system running KVM
+systems:
+- morph: systems/minimal-system-x86_32-generic.morph
+ deploy:
+ vm:
+ type: extensions/kvm
+ location: kvm+ssh://192.168.122.1/tiny-x86_32/srv/VMs/tiny-x86_32.img
+ DISK_SIZE: 512M
+ HOSTNAME: tiny-x86_32
+ INIT_SYSTEM: busybox
+ RAM_SIZE: 512M
diff --git a/old/clusters/minimal-system-x86_64-chroot-deploy.morph b/old/clusters/minimal-system-x86_64-chroot-deploy.morph
new file mode 100644
index 00000000..d25fdcc8
--- /dev/null
+++ b/old/clusters/minimal-system-x86_64-chroot-deploy.morph
@@ -0,0 +1,9 @@
+name: minimal-system-x86_64-chroot-deploy
+kind: cluster
+systems:
+- morph: systems/minimal-system-x86_64-chroot.morph
+ deploy:
+ minimal-system-x86_64-chroot:
+ type: extensions/tar
+ location: minimal-system-x86_64-chroot.tar
+ HOSTNAME: minimal-system-x86-64-chroot
diff --git a/old/clusters/minimal-system-x86_64-deploy.morph b/old/clusters/minimal-system-x86_64-deploy.morph
new file mode 100644
index 00000000..be193b8b
--- /dev/null
+++ b/old/clusters/minimal-system-x86_64-deploy.morph
@@ -0,0 +1,12 @@
+name: minimal-system-x86_64-deploy
+kind: cluster
+description: |
+ Deploy a minimal system
+systems:
+- morph: systems/minimal-system-x86_64-generic.morph
+ deploy:
+ minimal-system-x86_64-generic:
+ type: extensions/rawdisk
+ location: minimal-system-x86_64.img
+ DISK_SIZE: 1G
+ HOSTNAME: minimal-system-x86-64
diff --git a/old/clusters/moonshot-m2-armv8b64.morph b/old/clusters/moonshot-m2-armv8b64.morph
new file mode 100644
index 00000000..a1057fbd
--- /dev/null
+++ b/old/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: 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/old/clusters/moonshot-pxe-armv8b64.morph b/old/clusters/moonshot-pxe-armv8b64.morph
new file mode 100644
index 00000000..b1734084
--- /dev/null
+++ b/old/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: 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/old/clusters/moonshot-pxe-armv8l64.morph b/old/clusters/moonshot-pxe-armv8l64.morph
new file mode 100644
index 00000000..1bce7791
--- /dev/null
+++ b/old/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: 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/old/clusters/release.morph b/old/clusters/release.morph
new file mode 100644
index 00000000..fe07665f
--- /dev/null
+++ b/old/clusters/release.morph
@@ -0,0 +1,62 @@
+name: release
+kind: cluster
+description: |
+ Deploy all the systems for we support in a release.
+
+ This cluster morph is used by the tool 'scripts/do-release'. While
+ you can deploy the systems yourself, if you are making a Baserock release
+ then the script should be used.
+systems:
+- morph: systems/build-system-x86_32-chroot.morph
+ deploy:
+ build-system-x86_32-chroot:
+ type: extensions/tar
+ location: build-system-x86_32-chroot.tar
+ HOSTNAME: build-system-x86-32-chroot
+- morph: systems/build-system-x86_32.morph
+ deploy:
+ build-system-x86_32:
+ type: extensions/rawdisk
+ location: build-system-x86_32.img
+ DISK_SIZE: 6G
+ HOSTNAME: build-system-x86-32
+- morph: systems/build-system-x86_64-chroot.morph
+ deploy:
+ build-system-x86_64-chroot:
+ type: extensions/tar
+ location: build-system-x86_64-chroot.tar
+ HOSTNAME: build-system-x86-64-chroot
+- morph: systems/build-system-x86_64.morph
+ deploy:
+ build-system-x86_64:
+ type: extensions/rawdisk
+ location: build-system-x86_64.img
+ DISK_SIZE: 6G
+ INITRAMFS_PATH: boot/initramfs.gz
+ HOSTNAME: build-system-x86-64
+ subsystems:
+ - morph: systems/initramfs-x86_64.morph
+ deploy:
+ initramfs-build-system-x86_64:
+ type: extensions/initramfs
+ location: boot/initramfs.gz
+- morph: systems/build-system-armv7lhf-rootfs.morph
+ deploy:
+ build-system-armv7lhf-rootfs:
+ type: extensions/tar
+ location: build-system-armv7lhf-rootfs.tar
+ HOSTNAME: build-system-armv7lhf-rootfs
+- morph: systems/build-system-armv7lhf-jetson.morph
+ deploy:
+ build-system-armv7lhf-jetson:
+ type: extensions/rawdisk
+ location: build-system-armv7lhf-jetson.img
+ DISK_SIZE: 3G
+ 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
+ HOSTNAME: build-system-armv7lhf-jetson
diff --git a/old/clusters/sdk-example-cluster.morph b/old/clusters/sdk-example-cluster.morph
new file mode 100644
index 00000000..961afdcb
--- /dev/null
+++ b/old/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: systems/devel-system-armv7lhf-highbank.morph
+ deploy:
+ sysroot:
+ type: extensions/sysroot
+ location: usr/armv7lhf-baserock-linux-gnueabi/sys-root
diff --git a/old/clusters/upgrade-devel.morph b/old/clusters/upgrade-devel.morph
new file mode 100644
index 00000000..dcf1cd8d
--- /dev/null
+++ b/old/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: systems/devel-system-x86_64-generic.morph
+ deploy:
+ self:
+ upgrade-type: extensions/ssh-rsync
+ upgrade-location: root@127.0.0.1