Skip to content

Instantly share code, notes, and snippets.

@achilleas-k
Created August 16, 2022 11:37
Show Gist options
  • Save achilleas-k/5feb43b39e3fc92eb89d55946e5632b2 to your computer and use it in GitHub Desktop.
Save achilleas-k/5feb43b39e3fc92eb89d55946e5632b2 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
img="$1"
tmpdir=$(mktemp -d)
mkdir "${tmpdir}/iso" "${tmpdir}/install" "${tmpdir}/root" "${tmpdir}/initrd"
sudo mount "${img}" "${tmpdir}/iso"
sudo mount "${tmpdir}/iso/images/install.img" "${tmpdir}/install"
sudo mount "${tmpdir}/install/LiveOS/rootfs.img" "${tmpdir}/root"
sudo find "${tmpdir}" -name "initrd.img" -print -exec file {} \;
sudo /usr/lib/dracut/skipcpio "${tmpdir}"/iso/isolinux/initrd.img | gunzip -c | cpio -idmv -D "${tmpdir}/initrd"
sudo find "${tmpdir}/initrd" -iname "*ko.xz" > "${img}.kmods"
cat "${tmpdir}/initrd/usr/lib/dracut/modules.txt" > "${img}.dracut"
tree "${tmpdir}/initrd/usr/lib/dracut/modules.d" >> "${img}.dracut"
sudo umount "${tmpdir}/root"
sleep 0.2
sudo umount "${tmpdir}/install"
sleep 0.2
sudo umount "${tmpdir}/iso"
sleep 0.2
sudo rm -r "${tmpdir}"
echo "Saved in" ${img}.*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment