|author||Pedro Alvarez <email@example.com>||2014-12-04 15:55:56 +0000|
|committer||Pedro Alvarez <firstname.lastname@example.org>||2014-12-10 10:48:24 +0000|
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/installer.py 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
@@ -0,0 +1,46 @@
+ 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.
+- morph: systems/installer-system-x86_64.morph
+ type: 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
+ - morph: systems/build-system-x86_64.morph
+ type: sysroot
+ location: /rootfs
+ INITRAMFS_PATH: boot/initramfs.gz
+ - morph: systems/initramfs-x86_64.morph
+ type: initramfs
+ location: boot/initramfs.gz