diff options
-rw-r--r-- | README.md | 40 |
1 files changed, 19 insertions, 21 deletions
@@ -1,30 +1,28 @@ # Ansible roles for OpenSLX -Small collection of ansible roles to build a dracut-based initramfs for network boot. -The roles currently support both Ubuntu 16.04.2 and CentOS 7.3. -Currently, it only matches these distribution families but does not check for these exact versions! +Small collection of ansible roles to build a dracut-based initramfs for network boot via dnbd3. +Currently up-to-date versions of Ubuntu and CentOS are supported (version 18.04.1 and 7.5.1804, respectively). -### setup-dev-tools -Installs basic development packages for the detected distribution: - - Ubuntu: build-essential, cmake, git - CentOS: "@development tools", cmake, git +The provided 'slx-builder.yml' playbook can be used, e.g. as an ansible provisioner in a packer template. +## Included roles -### dracut-initramfs-builder +### slx-builder Builds the dracut-based initramfs using the dnbd3-rootfs module (see [systemd-init](http://git.openslx.org/openslx-ng/systemd-init.git/)): -* Install needed dependencies to build dracut for the detected distribution +* Install needed build dependencies for the detected distribution * Checkout git repository for systemd-init -* Build the initramfs for the running kernel -* Extract both initramfs and kernel out of the virtual machine +* Build the initramfs using the 'build-initramfs.sh' script +* Extracts both initramfs and kernel to the subdirectory 'boot_files' +* Cleans up the systemd-init repository + +This role is tagged to separate between the initialization of the required dependencies ('install' tag) and the build of the initramfs ('build' tag). -Depends on *setup-dev-tools* role (see dracut-initramfs-builder/meta/main.yml). +Depends on *setup-dev-tools* role (specified in slx-builder/meta/main.yml). -## Usage -Use the provided 'build-dracut-initramfs.yml' playbook for the ansible provisioner in your packer template. -You can use an already created qcow2 image, instead of always generating new packer images. See *run-playbook-only.json* -for a sample packer template to use an existing qcow2 image and provision them with our playbook. -The template requires the variable 'image_path' to be set, which needs to be the path of the qcow2 image. +### setup-dev-tools +Installs basic development packages for the detected distribution: + + Ubuntu: build-essential, cmake, git + CentOS: "@development tools", cmake, git -If it was generated by packer and the manifest was created, you can simply extract the image path from that: - # Be in same directory as where you built the image with packer with an ansible-roles in that directory, then: - packer build -var-file=base.json -only=qemu -var='image_path='"$(jq -r '.builds[0].files[0].name' < manifest.json)"'' ansible-roles/run-playbook-only.json +### disable-selinux +Disables SELinux. This is included on CentOS systems to be able to boot from the generated initramfs. |