From 34b4ee0f3bdf46ef2d9a9151cf17add400a0a6c8 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 21 May 2016 11:44:13 +0100 Subject: small improvements --- makeiso | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100755 makeiso (limited to 'makeiso') diff --git a/makeiso b/makeiso new file mode 100755 index 0000000..fdf993b --- /dev/null +++ b/makeiso @@ -0,0 +1,94 @@ +#!/usr/bin/env bash + +# Vasile needs root privileges and a proper kernel to run + +kernelconfig +checkroot + +prepareiso () { + # we really need this folder as quick as possible + mkdir -p "$isosyncdir" + # create an empty 20GB ext4 fs were our rootfs will stay + dd if=/dev/zero of=""$isosyncdir".img" bs=50M count=400 + mkfs.ext4 ""$isosyncdir".img" + # create live iso layout + mkdir -p "$isostagingdir" + mkdir -p "$isobootdir" + mkdir -p "$isoefibootdir" + mkdir -p "$isoliveosdir" + mkdir -p "$isosupersquashdir" + mkdir -p "$isolivesqfsdir" + # mount && copy core stage 4 image + mount -t squashfs "$chrootx64" "$isostagingdir" + mount -t ext4 ""$isosyncdir".img" "$isosyncdir" + rsync -aHAXr --progress "$isostagingdir/" "$isosyncdir/" + # copy kernel into cdroot + cp -avx ""$isosyncdir"/boot/"$isokernelname"" ""$isorootdir"/boot/vmlinuz" + # generate live initramfs + isostart + isoramfs + isostop + # generate system initramfs + isostart + systemramfs + isostop + # copy live initramfs into cdroot + mv ""$isosyncdir"/boot/"$isodracutrd"" ""$isorootdir"/boot/initrd" + # generate live efi image + isostart + isoefiimg + isostop + # copy efi image into cdroot + mv ""$isosyncdir"/root/bootx64.efi" "$isoefibootdir" + chmod 755 ""$isoefibootdir"/bootx64.efi" + # generate grub chainloader for syslinux + isostart + isochainload + isostop + # copy chainloader parts into cdroot + mv ""$isosyncdir"/root/core.img" "$isobootdir" + cp -avx ""$isosyncdir"/usr/lib64/grub/i386-pc/lnxboot.img" "$isobootdir" + # configure portage && give up control for package / desktop environment installation + isostart + isooverlays + isobuildsystem + isousertree + isochroot + isostop + # unmount rootfs before compression + umount -l "$isosyncdir" > /dev/null 2>&1 + # move rootfs in place + mv ""$isosyncdir".img" "$isolivesqfsdir" + # squash rootfs with best compression + mksquashfs "$isosupersquashdir" ""$isorootdir"/squashfs.img" -b 1048576 -comp xz -Xdict-size 100% + # move squashed rootfs in place + mv ""$isorootdir/"squashfs.img" "$isoliveosdir" +} + +bootcoreiso () { + # configure live bootloader + git clone https://gitlab.com/"$releasename"/boot-core.git "$bootcorepath" + cp -avx "$bootcorefiles" "$isorootdir" +} + +cleanupiso () { + umount "$isostagingdir" + rm -rf "$isosyncdir" + rm -rf "$isostagingdir" + rm -rf "$isosupersquashdir" + rm -rf "$bootcorepath" +} + +makeiso () { + grub2-mkrescue -o ""$releasename"-"$releasetarget"-"$releaseversion"-"$isomainarch".iso" "$isorootdir" +} + +main () { + chrootchecksum + prepareiso + bootcoreiso + cleanupiso + makeiso +} + +main -- cgit v1.2.3 From 6b098dc017a69cac78a4f56c497c717cb72e4508 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 7 Aug 2016 16:12:42 +0100 Subject: enable systemservices at iso creation --- makeiso | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'makeiso') diff --git a/makeiso b/makeiso index fdf993b..0c7b8f9 100755 --- a/makeiso +++ b/makeiso @@ -55,6 +55,10 @@ prepareiso () { isousertree isochroot isostop + # enable system services + isostart + isoservices + isostop # unmount rootfs before compression umount -l "$isosyncdir" > /dev/null 2>&1 # move rootfs in place -- cgit v1.2.3 From 13b0fd28a276552f2a15439309f1e0b1d0cd13b5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 4 Sep 2016 14:27:36 +0100 Subject: avoid bouncing back and forward with variables and functions...check requirements only once...add reset option --- makeiso | 5 ----- 1 file changed, 5 deletions(-) (limited to 'makeiso') diff --git a/makeiso b/makeiso index 0c7b8f9..8c8cbe4 100755 --- a/makeiso +++ b/makeiso @@ -1,10 +1,5 @@ #!/usr/bin/env bash -# Vasile needs root privileges and a proper kernel to run - -kernelconfig -checkroot - prepareiso () { # we really need this folder as quick as possible mkdir -p "$isosyncdir" -- cgit v1.2.3 From 776c6d8125820d0c281a4dc1027b35bfe6f9af3d Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 18 Oct 2016 18:43:14 +0100 Subject: do not create a system initramfs anymore, we rely on kernel and dracut to handle it --- makeiso | 4 ---- 1 file changed, 4 deletions(-) (limited to 'makeiso') diff --git a/makeiso b/makeiso index 8c8cbe4..e6ef8dc 100755 --- a/makeiso +++ b/makeiso @@ -23,10 +23,6 @@ prepareiso () { isostart isoramfs isostop - # generate system initramfs - isostart - systemramfs - isostop # copy live initramfs into cdroot mv ""$isosyncdir"/boot/"$isodracutrd"" ""$isorootdir"/boot/initrd" # generate live efi image -- cgit v1.2.3