path: root/clusters
diff options
authorPedro Alvarez <>2014-12-04 15:55:56 +0000
committerPedro Alvarez <>2014-12-10 10:48:24 +0000
commit56200c41fbd573e0905d51217f45246d356e00a0 (patch)
tree362263dbdd5751878733b1df600da93317f5e185 /clusters
parent02456901e3e0a0ed30760c986d1e265259f8da99 (diff)
Add the ability to deploy installer systems and add examples.
The installer-x86_64 system is a system that can be used to install other systems in an storage device. This system is intended to be booted by usb, pxeboot... to install a Baserock system in your local disk. The installer system requires the installer.configure extension to generate a configuration file located in /etc/install.conf. With this extension you can specify the following variables in a cluster morphology: - INSTALLER_TARGET_STORAGE_DEVICE: Target storage device to install the Baserock system. - INSTALLER_ROOTFS_TO_INSTALL: The location of the root filesystem that is going to be installed. - INSTALLER_POST_INSTALL_COMMAND: Commands that will be run after the installation finishes. It defaults to `reboot -f`. The installer-utils stratum is required to contain the installer-scripts chunk. This chunk contains the installer script that is going to be installed in /usr/lib/installer/ The clusters/installer-build-system-x86_64.morph file defines the deployment of a installer system as a rawdisk image. This installer system will install a build-system-x86_64 located in /rootfs into the /dev/sda device. Also this cluster defines a subsystem which is the build-system that is going to end up in /rootfs on the installer system.
Diffstat (limited to 'clusters')
1 files changed, 46 insertions, 0 deletions
diff --git a/clusters/installer-build-system-x86_64.morph b/clusters/installer-build-system-x86_64.morph
new file mode 100644
index 00000000..b31caced
--- /dev/null
+++ b/clusters/installer-build-system-x86_64.morph
@@ -0,0 +1,46 @@
+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/, in combination of adding
+ "init=/usr/lib/installer/" as KERNEL_ARGS in the system
+ makes the system run the script as init script.
+ The 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.
+- morph: systems/installer-system-x86_64.morph
+ deploy:
+ installer:
+ type: rawdisk
+ location: installer-build-system-x86_64.img
+ KERNEL_ARGS: init=/usr/lib/baserock-installer/installer
+ HOSTNAME: installer-x86_64
+ subsystems:
+ - morph: systems/build-system-x86_64.morph
+ deploy:
+ to-install:
+ type: sysroot
+ location: /rootfs
+ INITRAMFS_PATH: boot/initramfs.gz
+ subsystems:
+ - morph: systems/initramfs-x86_64.morph
+ deploy:
+ initramfs:
+ type: initramfs
+ location: boot/initramfs.gz