From 8e809ab6f4f64cbc77ad230ae0d62d2f5102004c Mon Sep 17 00:00:00 2001 From: Bala Raman Date: Mon, 21 Jun 2021 06:56:42 -0400 Subject: [PATCH] Adding ks2rootfs script, more changes to come Signed-off-by: Bala Raman --- scripts/ks2rootfs | 77 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100755 scripts/ks2rootfs diff --git a/scripts/ks2rootfs b/scripts/ks2rootfs new file mode 100755 index 0000000..b33a0cc --- /dev/null +++ b/scripts/ks2rootfs @@ -0,0 +1,77 @@ +#!/bin/bash -e +# description: build rootfs +# param: 1. kickstart file and 2. rootfs file name to be generated + + +usage() { + cat 1>&2 < /etc/anaconda/product.d/ks2rootfs.conf +# Anaconda configuration file for Kickstart to Rootfs. + +[Product] +product_name = Kickstart to Rootfs + +[Base Product] +product_name = AlmaLinux + +[Storage] +file_system_type = + +[License] +eula = +_EOF + +# create rootfs +livemedia-creator --logfile="/tmp/rootfs-creator.log" \ + --make-tar --ks="${BUILD_WORK_DIR}/${BUILD_KICKSTART}" --no-virt \ + --image-only --image-name="${BUILD_ROOTFS}" \ + --anaconda-arg "--product Kickstart to Rootfs" + +# move rootfs to working dir +cp -rp /var/tmp/${BUILD_ROOTFS} ${BUILD_WORK_DIR}/${BUILD_ROOTFS} + +# extract os-release info +tar -xvf /var/tmp/${BUILD_ROOTFS} -C /tmp/ --strip-components=3 ./usr/lib/os-release +os_release_id=$(awk -F= '$1=="ID" { print $2 ;}' /tmp/os-release | tr -d '"') +distro_release=$(grep "${os_release_id}.*-release-" /tmp/anaconda/packaging.log | grep -o "Verifying:.*" | sed -n 's/Verifying: //p') + +if [ -z ${distro_release+x} ]; then + exit 1 +else + # save distro release info + echo "$distro_release" > ${BUILD_WORK_DIR}/distro-release +fi + +# save list of packages installed +jq .[] -r /tmp/dnf.cache/tempfiles.json | awk -F '/' '{print $5}' | sort > ${BUILD_WORK_DIR}/pkgs-list