summaryrefslogtreecommitdiff
path: root/iso64
blob: 668640a1d33826a3fa3cc874544bdaf681226af3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/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"-"$releasetarget"-"$releaseversion"-"$mainarch""
export local coremnt="/tmp/"$isoname""
export local livedir=""$isoname"/livecd"
export local isoboot=""$isoname"/boot/grub"
export local isoefiboot=""$isoname"/efi/boot"
export local kernelname="kernel-genkernel-"$mainarch"-"$kernelver""
export local ramfsname="initramfs-genkernel-"$mainarch"-"$kernelver""

makeisox64 () {
	# ISO layout
	mkdir -p "$coremnt"
	mkdir -p "$isoboot"
	mkdir -p "$isoefiboot"
	# Mount && Sync squashed core (Kogaion stage4) into live environment
	mount -t squashfs "$chrootx64" "$coremnt"
	rsync -aHAXr --progress "$coremnt/" "$livedir/"
	# Put our kernel and initramfs in place
	cp -avx ""$livedir"/boot/"$kernelname"" ""$isoname"/boot/"$releasename""
	cp -avx ""$livedir"/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 "$livedir" ""$livedir".squashfs" -b 1048576 -comp xz -Xdict-size 100%
	# Checksum the live environment
	sha256sum ""$livedir".squashfs" | tee ""$livedir".squashfs.sha256"
	# Remove live environment directory (we have it squashed now, no longer needed)
	rm -rf "$livedir"
	# Enable liveboot
	touch "$livedir"
	# Umount squashed core (Kogaion stage4)
	umount "$coremnt"
}

main () {
	chrootchecksumx64
	makeisox64
}

main