#!/usr/bin/env bash # Vasile needs root privileges and a proper kernel to run kernelconfig checkroot export local mainarch="x86_64" export local isoname=""$releasename"-"$releaseversion"-"$mainarch"" export local coremnt="/tmp/"$isoname"" export local kernelver="3.14.0-"$releasename"" export local kernelname="kernel-genkernel-"$mainarch"-"$kernelver"" export local ramfsname="initramfs-genkernel-"$mainarch"-"$kernelver"" makeisox64 () { # ISO layout mkdir -p "$coremnt" mkdir -p ""$isoname"/livecd" mkdir -p ""$isoname"/boot" mkdir -p ""$isoname"/boot/grub" mkdir -p ""$isoname"/efi" mkdir -p ""$isoname"/efi/boot" # Mount && Sync squashed core (Kogaion stage4) into live environment mount -t squashfs "$chrootx64" "$coremnt" rsync -aHAXr --progress "$coremnt/" ""$isoname"/livecd/" # Put our kernel and initramfs in place cp -avx ""$isoname"/livecd/boot/"$kernelname"" ""$isoname"/boot/"$releasename"" cp -avx ""$isoname"/livecd/boot/"$ramfsname"" ""$isoname"/boot/"$releasename".igz" # Checksum the kernel && initramfs sha256sum ""$isoname"/boot/"$releasename"" | tee ""$isoname"/boot/"$releasename".sha256" sha256sum ""$isoname"/boot/"$releasename.igz"" | tee ""$isoname"/boot/"$releasename".igz.sha256" # Squash live environment mksquashfs ""$isoname"/livecd" ""$isoname"/livecd.squashfs" -b 1048576 -comp xz -Xdict-size 100% # Checksum the live environment sha256sum ""$isoname"/livecd.squashfs" | tee ""$isoname"/livecd.squashfs.sha256" # Remove live environment directory (we have it squashed now, no longer needed) rm -rf ""$isoname"/livecd" # Enable liveboot touch ""$isoname"/livecd" # Umount squashed core (Kogaion stage4) umount "$coremnt" } main () { chrootchecksumx64 makeisox64 } main