USB Creation
This guide walks the user through setting up a bootable USB drive for bootstrapping the Fawkes cluster.
Users can also remotely mount the ISO using a BMC, but at this time a guide for doing so does not exist. |
Downloading
The Fawkes tarball needs to be downloaded.
For the time being, the artifacts are downloaded individually and from a private mirror. In the near future these will be available in a single artifact from a public mirror. |
Prerequisites
The following prerequisites are necessary for completing this guide.
-
curl
Windows users can download curl for Windows.
|
Downloading the Fawkes tarball
Fawkes is only available from a private mirror at this time.
Using the private mirror requires credentials to https://artifactory.algol60.net. For information on obtaining these, see this guide.
-
Set Credentials.
-
Username and token (see this guide for assistance).
ARTIFACTORY_USER=
read -s ARTIFACTORY_TOKEN
-
-
Set a desired release.
-
A specific release.
RELEASE=0.0.1-alpha.3
-
The latest release from stable or unstable.
At this time, Fawkes is still in a pre-release state and the stable stream is empty. STREAM=unstable RELEASE="$(curl -u "${ARTIFACTORY_USER}":"${ARTIFACTORY_TOKEN}" "https://artifactory.algol60.net/artifactory/api/search/latestVersion?g=${STREAM}&a=fawkes")"
-
-
Download the tarball.
To use a proxy, add --proxy http://example.com:443
to eachcurl
call.if [[ "$RELEASE" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then STREAM=stable else STREAM=unstable fi curl -C - -o "fawkes-${RELEASE}.tar.gz" \ "https://$ARTIFACTORY_USER:$ARTIFACTORY_TOKEN@artifactory.algol60.net/artifactory/fawkes-releases/${STREAM}/fawkes/${RELEASE}/fawkes-${RELEASE}.tar.gz"
Creating the bootable USB drive
This segment will walk the user through creating the USB drive with the downloaded tarball.
Linux
The Linux method will enable persistence as well as data storage for bringing artifacts into the booted LiveCD.
Prerequisites
Prerequisites for creating the USB drive from a Linux box.
-
blkid
-
dd
-
mktemp
-
parted
-
sgdisk
-
sha256sum
Steps
The following steps will create a USB drive from a Linux OS.
-
Extract all images and RPMs from the tarball.
tar --wildcards -xzvf ./fawkes-${RELEASE}.tar.gz \ "*/images/" \ "*/rpm/" \ "*/security/"
-
Validate the image’s SHA sums.
for image_dir in fawkes-${RELEASE}/images/*; do ( cd "$image_dir" sha256sum -c ./"$(basename "$image_dir")"*sha256.txt ) done
All the images should return with
OK
. If any fail, please stop and open a bug by using the bug opening tab on the bottom right of this screen. -
Install Crucible
crucible
is undergoing source code changes and will have packages foryum
anddebian
package managers in the near future.-
RPM method (SUSE/RedHat)
rpm --import "fawkes-${RELEASE}/security/hpe-signing-key.asc" crucible --version sudo mv /etc/zypp/repos.d{,.bak} sudo zypper --plus-repo "fawkes-${RELEASE}/rpm/sle-$(awk -F= '/VERSION=/{gsub(/["-]/, "") ; print tolower($NF)}' /etc/os-release)" in --details -n crucible sudo mv /etc/zypp/repos.d{.bak,} crucible --version
-
-
Find the desired USB drive.
The target device does not need to be wiped. -
The following command will help deduce which device mapper name to use.
lsblk -b -l -d -o SIZE,NAME,TYPE,SUBSYSTEMS | grep usb
Example output:
256641603584 sdd disk block:scsi:usb:pci
-
-
Set the USB device to a variable.
-
Device mapper path.
USB=/dev/sdd
-
FileSystem Label.
USB=/dev/disk/by-label/MYUSB
-
-
Export the
RELEASE
variable from earlier (optional). This will ensure that the latestcrucible
is installed into the USB if it wasn’t included in the fawkes-live image.export RELEASE
-
Invoke the script, optionally passing a different size (in megabytes) for the copy-on-write persistent partition.
crucible storage bootable "${USB}" "fawkes-${RELEASE}/images/fawkes-live/fawkes-live-*.iso"
-
Mount the USB drive and copy over our downloaded artifacts.
sudo mkdir -p /mnt sudo mount "${USB}4" /mnt sudo cp -p "fawkes-${RELEASE}.tar.gz" /mnt/ sudo umount /mnt
-
Eject the USB drive and plug it into the server for deployment.
MacOS and Windows
Creating a bootable USB drive from MacOS and Windows is feasible using the help of a few third-party tools.
The MacOS and Windows method will not enable persistence on the drive. |
Prerequisites
This guide suggests the following third-party tools for USB creation.
-
belanaEtcher (
x86_64
only, noarm64
support)