summaryrefslogtreecommitdiff
path: root/iso64
blob: e5a0aa90c1a24193aa3dc2bd329265f4d3080f43 (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
49
#!/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