diff options
-rwxr-xr-x | build32 | 40 | ||||
-rwxr-xr-x | build64 | 40 | ||||
-rwxr-xr-x | devmod | 14 | ||||
-rwxr-xr-x | iso32 | 78 | ||||
-rwxr-xr-x | iso64 | 86 | ||||
-rwxr-xr-x | libvasile | 329 | ||||
-rwxr-xr-x | usermod | 22 | ||||
-rwxr-xr-x | vasile | 138 |
8 files changed, 0 insertions, 747 deletions
diff --git a/build32 b/build32 deleted file mode 100755 index 56a391b..0000000 --- a/build32 +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -# Vasile needs root privileges and a proper kernel to run - -checkroot -kernelconfig - -chrootpreparex86 () { - # check our environment for sanity - # if safe, trigger start && break the loop to build packages - # else trigger stop && cleanup && check again - while : true ; do - if [[ ! -d "$rodir" && ! -d "$rwdir" && ! -d "$workdir" && ! -d "$overlaydir" ]] ; then - for i in "$rodir" "$rwdir" "$workdir" "$overlaydir" ; do - mkdir "$i" - done - chrootstartx86 - break - elif [[ -d "$rodir" && -d "$rwdir" && -d "$workdir" && -d "$overlaydir" ]] ; then - chrootstop - for i in "$rodir" "$rwdir" "$workdir" "$overlaydir" ; do - rm -rf "$i" - done - continue - fi - done -} - -main () { - chrootchecksumx86 - chrootpreparex86 - chrootoverlaysx86 - chrootbuildsystemx86 - chrootbuildx86 - chrootx86 - chrootstop -} - -main -exit 0 diff --git a/build64 b/build64 deleted file mode 100755 index c4c507f..0000000 --- a/build64 +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash - -# Vasile needs root privileges and a proper kernel to run - -kernelconfig -checkroot - -chrootpreparex64 () { - # check our environment for sanity - # if safe, trigger start && break the loop to build packages - # else trigger stop && cleanup && check again - while : true ; do - if [[ ! -d "$rodir" && ! -d "$rwdir" && ! -d "$workdir" && ! -d "$overlaydir" ]] ; then - for i in "$rodir" "$rwdir" "$workdir" "$overlaydir" ; do - mkdir "$i" - done - chrootstartx64 - break - elif [[ -d "$rodir" && -d "$rwdir" && -d "$workdir" && -d "$overlaydir" ]] ; then - chrootstop - for i in "$rodir" "$rwdir" "$workdir" "$overlaydir" ; do - rm -rf "$i" - done - continue - fi - done -} - -main () { - chrootchecksumx64 - chrootpreparex64 - chrootoverlaysx64 - chrootbuildsystemx64 - chrootbuildx64 - chrootx64 - chrootstop -} - -main -exit 0 @@ -1,14 +0,0 @@ -#!/usr/bin/env bash - -fetch_portage_tree() { - cd /usr/portage && git init - git remote add origin git://anongit.gentoo.org/repo/gentoo.git - git pull --depth=1 origin master - git branch -u origin/master master -} - -main() { - fetch_portage_tree -} - -main @@ -1,78 +0,0 @@ -#!/usr/bin/env bash - -# Vasile needs root privileges and a proper kernel to run - -kernelconfig -checkroot - -prepareisox86 () { - # we really need this folder as quick as possible - mkdir -p "$isosyncdirx86" - # create an empty 20GB ext4 fs were our rootfs will stay - dd if=/dev/zero of=""$isosyncdirx86".img" bs=50M count=400 - mkfs.ext4 ""$isosyncdirx86".img" - # create live iso layout - mkdir -p "$isostagingdirx86" - mkdir -p "$isobootdirx86" - mkdir -p "$isoliveosdirx86" - mkdir -p "$isosupersquashdirx86" - mkdir -p "$isolivesqfsdirx86" - # mount && copy core stage 4 image - mount -t squashfs "$chrootx86" "$isostagingdirx86" - mount -t ext4 ""$isosyncdirx86".img" "$isosyncdirx86" - rsync -aHAXr --progress "$isostagingdirx86/" "$isosyncdirx86/" - # copy kernel into cdroot - cp -avx ""$isosyncdirx86"/boot/"$isokernelnamex86"" ""$isorootdirx86"/boot/vmlinuz" - # generate live initramfs - isostartx86 - isoramfsx86 - isostopx86 - # generate system initramfs - isostartx86 - systemramfsx86 - isostopx86 - # copy live initramfs - mv ""$isosyncdirx86"/boot/"$isodracutrd"" ""$isorootdirx86"/boot/initrd" - # configure portage && give up control for package / desktop environment installation - isostartx86 - isooverlaysx86 - isobuildsystemx86 - isochrootx86 - isostopx86 - # umount rootfs before compression - umount -l "$isosyncdirx86" > /dev/null 2>&1 - # move rootfs in place - mv ""$isosyncdirx86".img" "$isolivesqfsdirx86" - # squash rootfs with best compression - mksquashfs "$isosupersquashdirx86" ""$isorootdirx86"/squashfs.img" -b 1048576 -comp xz -Xdict-size 100% - # move squashed rootfs in place - mv ""$isorootdirx86"/squashfs.img" "$isoliveosdirx86" -} - -bootcoreisox86 () { - # configure live bootloader - git clone https://gitlab.com/"$releasename"/boot-core.git "$bootcorepath" - cp -avx "$bootcorefiles" "$isorootdirx86" -} - -cleanupisox86 () { - umount "$isostagingdirx86" - rm -rf "$isosyncdirx86" - rm -rf "$isostagingdirx86" - rm -rf "$bootcorepath" - rm -rf "$isosupersquashdirx86" -} - -makeisox86 () { - grub2-mkrescue -o ""$releasename"-"$releasetarget"-"$releaseversion"-"$isomainarchx86".iso" "$isorootdirx86" -} - -main () { - chrootchecksumx86 - prepareisox86 - bootcoreisox86 - cleanupisox86 - makeisox86 -} - -main @@ -1,86 +0,0 @@ -#!/usr/bin/env bash - -# Vasile needs root privileges and a proper kernel to run - -kernelconfig -checkroot - -prepareisox64 () { - # we really need this folder as quick as possible - mkdir -p "$isosyncdirx64" - # create an empty 20GB ext4 fs were our rootfs will stay - dd if=/dev/zero of=""$isosyncdirx64".img" bs=50M count=400 - mkfs.ext4 ""$isosyncdirx64".img" - # create live iso layout - mkdir -p "$isostagingdirx64" - mkdir -p "$isobootdirx64" - mkdir -p "$isoefibootdirx64" - mkdir -p "$isoliveosdirx64" - mkdir -p "$isosupersquashdirx64" - mkdir -p "$isolivesqfsdirx64" - # mount && copy core stage 4 image - mount -t squashfs "$chrootx64" "$isostagingdirx64" - mount -t ext4 ""$isosyncdirx64".img" "$isosyncdirx64" - rsync -aHAXr --progress "$isostagingdirx64/" "$isosyncdirx64/" - # copy kernel into cdroot - cp -avx ""$isosyncdirx64"/boot/"$isokernelnamex64"" ""$isorootdirx64"/boot/vmlinuz" - # generate live initramfs - isostartx64 - isoramfsx64 - isostopx64 - # generate system initramfs - isostartx64 - systemramfsx64 - isostopx64 - # copy live initramfs into cdroot - mv ""$isosyncdirx64"/boot/"$isodracutrd"" ""$isorootdirx64"/boot/initrd" - # generate live efi image - isostartx64 - isoefiimgx64 - isostopx64 - # copy efi image into cdroot - mv ""$isosyncdirx64"/root/bootx64.efi" "$isoefibootdirx64" - chmod 755 ""$isoefibootdirx64"/bootx64.efi" - # configure portage && give up control for package / desktop environment installation - isostartx64 - isooverlaysx64 - isobuildsystemx64 - isochrootx64 - isostopx64 - # unmount rootfs before compression - umount -l "$isosyncdirx64" > /dev/null 2>&1 - # move rootfs in place - mv ""$isosyncdirx64".img" "$isolivesqfsdirx64" - # squash rootfs with best compression - mksquashfs "$isosupersquashdirx64" ""$isorootdirx64"/squashfs.img" -b 1048576 -comp xz -Xdict-size 100% - # move squashed rootfs in place - mv ""$isorootdirx64/"squashfs.img" "$isoliveosdirx64" -} - -bootcoreisox64 () { - # configure live bootloader - git clone https://gitlab.com/"$releasename"/boot-core.git "$bootcorepath" - cp -avx "$bootcorefiles" "$isorootdirx64" -} - -cleanupisox64 () { - umount "$isostagingdirx64" - rm -rf "$isosyncdirx64" - rm -rf "$isostagingdirx64" - rm -rf "$isosupersquashdirx64" - rm -rf "$bootcorepath" -} - -makeisox64 () { - grub2-mkrescue -o ""$releasename"-"$releasetarget"-"$releaseversion"-"$isomainarchx64".iso" "$isorootdirx64" -} - -main () { - chrootchecksumx64 - prepareisox64 - bootcoreisox64 - cleanupisox64 - makeisox64 -} - -main diff --git a/libvasile b/libvasile deleted file mode 100755 index 3259c2d..0000000 --- a/libvasile +++ /dev/null @@ -1,329 +0,0 @@ -# generic arch independent functions (used for both build && iso creation) - -kernelconfig () { - if [[ $(zgrep 'CONFIG_OVERLAYFS_FS=' /proc/config.gz) && $(zgrep "CONFIG_SQUASHFS=" /proc/config.gz) && $(zgrep "CONFIG_BLK_DEV_LOOP=" /proc/config.gz) ]] ; then - # if you use 3.18 LTS or newer kernels, change CONFIG_OVERLAYFS_FS to CONFIG_OVERLAY_FS - echo "" - echo "Kernel configuration seems OK, moving on" - echo "" - sleep 1 - else - echo "" - echo "Vasile needs OVERLAYFS && SQUASHFS && LOOP DEVICES to work" - echo "Please rebuild the kernel with those activated to use it" - echo "" - exit 1 - fi -} - -checkroot () { - if [[ "$(whoami)" != root ]] ; then - echo "" - echo "You're not root?...No cookies for you, go away !!!" - echo "" - exit 1 - fi -} - -# generic x64 functions (used for both build && iso creation) - -chrootchecksumx64 () { - while : true ; do - if [[ -f "$chrootx64" && -f "$chrootx64md5" ]] ; then - echo "good, x64 squashed chroot && checksum file found ... verifying integrity" - echo "" - if [[ "$(md5sum -c "$chrootx64md5")" ]] ; then - echo "good, x64 squashed chroot checksum passed ... starting engines" - echo "" - sleep 1 - break - else - echo "ooops, x64 squashed chroot checksum failed ... aborting" - exit 1 - fi - else - echo "ooops, x64 squashed chroot or checksum file not found ... aborting" - exit 1 - fi - done -} - -chrootchecksumx86 () { - while : true ; do - if [[ -f "$chrootx86" && -f "$chrootx86md5" ]] ; then - echo "good, x86 squashed chroot && checksum file found ... verifying integrity" - echo "" - if [[ "$(md5sum -c "$chrootx86md5")" ]] ; then - echo "good, x86 squashed chroot checksum found ... starting engines" - echo "" - sleep 1 - break - else - echo "ooops, x86 squashed chroot checksum failed ... aborting" - exit 1 - fi - else - echo "ooops, x86 squashed chroot or checksum file not found ... aborting" - exit 1 - fi - done -} - -# arch independent build functions - -chrootstop () { - umount -l "$overlaydir"/proc > /dev/null 2>&1 - umount -l "$overlaydir"/sys > /dev/null 2>&1 - umount -l "$overlaydir"/dev/pts > /dev/null 2>&1 - umount -l "$overlaydir"/dev/shm > /dev/null 2>&1 - umount -l "$overlaydir"/dev > /dev/null 2>&1 - umount -l "$overlaydir"/tmp > /dev/null 2>&1 - umount -l "$overlaydir"/usr/portage/packages > /dev/null 2>&1 - umount -l "$overlaydir"/usr/portage/distfiles > /dev/null 2>&1 - umount -l "$overlaydir" > /dev/null 2>&1 - umount -l "$rodir" > /dev/null 2>&1 -} - -# x64 specific build functions - -chrootstartx64 () { - mount -t squashfs "$chrootx64" "$rodir" - if [[ "$(uname -r | cut -d . -f1,2)" = "3.14" ]] ; then - mount -t overlayfs -o lowerdir="$rodir",upperdir="$rwdir" overlayfs "$overlaydir" - else # kernel version equal or above 3.18 - mount -t overlay -o lowerdir="$rodir",upperdir="$rwdir",workdir="$workdir" overlay "$overlaydir" - fi - mount -o bind packages "$overlaydir"/usr/portage/packages - mount -o bind distfiles "$overlaydir"/usr/portage/distfiles - mount -t proc proc "$overlaydir"/proc - mount -t sysfs sysfs "$overlaydir"/sys - mount -t devtmpfs -o relatime,size=3055348k,nr_inodes=763837,mode=755 none "$overlaydir"/dev - mount -t devpts -o nosuid,noexec,relatime,gid=5,mode=620 none "$overlaydir"/dev/pts - mount -t tmpfs -o nosuid,nodev none "$overlaydir"/dev/shm - mount -t tmpfs -o nosuid,nodev,noexec none "$overlaydir"/tmp -} - -chroottreex64 () { - echo "injecting full portage tree into x64 environment" - sleep 1 - chroot "$overlaydir" su - "$chrootuser" -c "$chroottree" -} - -chrootoverlaysx64 () { - echo "injecting "$releasename" "$releasetarget" overlay into x64 environment" - sleep 1 - chroot "$overlaydir" su - "$chrootuser" -c "$chrootmainoverlay" -} - -chrootbuildsystemx64 () { - echo "injecting "$releasename" x64 buildsystem && setting up portage" - echo "" - sleep 1 - for cmd in "$chrootbuildgit" "$chrootportageconfig" "$chrootmakeconfx64" "$chrootprofile" "$chrootenvupdate" ; do - chroot "$overlaydir" su - "$chrootuser" -c "$cmd" - done -} - -chrootbuildx64 () { - echo "" - echo "x64 Environment is up && running ... building targets" - sleep 1 - chroot "$overlaydir" su - "$chrootuser" -c "$chrootbuildtarget" -} - -chrootx64 () { - echo -e "" - echo -e "#################################################################" - echo -e "# ENTERING CHROOT ENV FOR YOU TO PUSH BUILT PACKAGES #" - echo -e "# OR TO FIX EVENTUAL BUILD ERRORS #" - echo -e "#################################################################" - echo -e "# !!! WARNING !!! WARNING !!! WARNING !!! #" - echo -e "#################################################################" - echo -e "# NEXT RUN OF THIS SCRIPT WILL DESTROY ALL YOUR WORK #" - echo -e "# DO NOT EXIT CHROOT UNTIL ALL PACKAGES ARE PUSHED TO REPOS #" - echo -e "# OR, IN CASE OF BUILD FAILURES, UNTIL ALL FIXES ARE COMMITED #" - echo -e "#################################################################" - echo -e "# !!! WARNING !!! WARNING !!! WARNING !!! #" - echo -e "#################################################################" - echo -e "" - echo -e "" - chroot "$overlaydir" su - "$chrootuser" -} - -# x86 specific build functions - -chrootstartx86 () { - mount -t squashfs "$chrootx86" "$rodir" - if [[ "$(uname -r | cut -d . -f1,2)" = "3.14" ]] ; then - mount -t overlayfs -o lowerdir="$rodir",upperdir="$rwdir" overlayfs "$overlaydir" - else # kernel version equal or above 3.18 - mount -t overlay -o lowerdir="$rodir",upperdir="$rwdir",workdir="$workdir" overlay "$overlaydir" - fi - mount -o bind packages "$overlaydir"/usr/portage/packages - mount -o bind distfiles "$overlaydir"/usr/portage/distfiles - mount -t proc proc "$overlaydir"/proc - mount -t sysfs sysfs "$overlaydir"/sys - mount -t devtmpfs -o relatime,size=3055348k,nr_inodes=763837,mode=755 none "$overlaydir"/dev - mount -t devpts -o nosuid,noexec,relatime,gid=5,mode=620 none "$overlaydir"/dev/pts - mount -t tmpfs -o nosuid,nodev none "$overlaydir"/dev/shm - mount -t tmpfs -o nosuid,nodev,noexec none "$overlaydir"/tmp -} - -chrottreex86 () { - echo "injecting full portage tree into x86 environment" - sleep 1 - linux32 chroot "$overlaydir" su - "$chrootuser" -c "$chroottree" -} - -chrootoverlaysx86 () { - echo "injecting "$releasename" "$releasetarget" overlay into x86 environment" - sleep 1 - linux32 chroot "$overlaydir" su - "$chrootuser" -c "$chrootmainoverlay" -} - -chrootbuildsystemx86 () { - echo "injecting "$releasename" x86 buildsystem && setting up portage" - echo "" - sleep 1 - for cmd in "$chrootbuildgit" "$chrootportageconfig" "$chrootmakeconfx86" "$chrootprofile" "$chrootenvupdate" ; do - linux32 chroot "$overlaydir" su - "$chrootuser" -c "$cmd" - done -} - -chrootbuildx86 () { - echo "" - echo "x86 environment is up && running ... building targets" - sleep 1 - chroot "$overlaydir" su - "$chrootuser" -c "$chrootbuildtarget" -} - -chrootx86 () { - echo -e "" - echo -e "#################################################################" - echo -e "# ENTERING CHROOT ENV FOR YOU TO PUSH BUILT PACKAGES #" - echo -e "# OR TO FIX EVENTUAL BUILD ERRORS #" - echo -e "#################################################################" - echo -e "# !!! WARNING !!! WARNING !!! WARNING !!! #" - echo -e "#################################################################" - echo -e "# NEXT RUN OF THIS SCRIPT WILL DESTROY ALL YOUR WORK #" - echo -e "# DO NOT EXIT CHROOT UNTIL ALL PACKAGES ARE PUSHED TO REPOS #" - echo -e "# OR, IN CASE OF BUILD FAILURES, UNTIL ALL FIXES ARE COMMITED #" - echo -e "#################################################################" - echo -e "# !!! WARNING !!! WARNING !!! WARNING !!! #" - echo -e "#################################################################" - echo -e "" - echo -e "" - linux32 chroot "$overlaydir" su - "$chrootuser" -} - -# x64 specific iso functions - -isostartx64 () { - mount -o bind packages "$isosyncdirx64"/usr/portage/packages - mount -t proc proc "$isosyncdirx64"/proc - mount -t sysfs sysfs "$isosyncdirx64"/sys - mount -t devtmpfs -o relatime,size=3055348k,nr_inodes=763837,mode=755 none "$isosyncdirx64"/dev - mount -t devpts -o nosuid,noexec,relatime,gid=5,mode=620 none "$isosyncdirx64"/dev/pts - mount -t tmpfs -o nosuid,nodev none "$isosyncdirx64"/dev/shm - mount -t tmpfs -o nosuid,nodev,noexec none "$isosyncdirx64"/tmp -} - -isostopx64 () { - umount -l "$isosyncdirx64"/proc > /dev/null 2>&1 - umount -l "$isosyncdirx64"/sys > /dev/null 2>&1 - umount -l "$isosyncdirx64"/dev/pts > /dev/null 2>&1 - umount -l "$isosyncdirx64"/dev/shm > /dev/null 2>&1 - umount -l "$isosyncdirx64"/dev > /dev/null 2>&1 - umount -l "$isosyncdirx64"/tmp > /dev/null 2>&1 - umount -l "$isosyncdirx64"/usr/portage/packages > /dev/null 2>&1 -} - -isooverlaysx64 () { - echo "injecting "$releasename" "$releasetarget" overlay into x64 environment" - sleep 1 - chroot "$isosyncdirx64" su - "$isouser" -c "$isomainoverlay" -} - -isobuildsystemx64 () { - echo "injecting "$releasename" x64 buildsystem && setting up portage" - echo "" - sleep 1 - for cmd in "$isobuildgit" "$isoportageconfig" "$isomakeconfx64" "$isoprofile" "$isoenvupdate" ; do - chroot "$isosyncdirx64" su - "$isouser" -c "$cmd" - done -} - -isoramfsx64 () { - chroot "$isosyncdirx64" su - "$isouser" -c "$isodracutcmd" -} - -systemramfsx64 () { - chroot "$isosyncdirx64" su - "$isouser" -c "$dracutcmdx64" -} - -isoefiimgx64 () { - chroot "$isosyncdirx64" su - "$isouser" -c "$isoeficmd" -} - -isochrootx64 () { - echo -e "" - echo -e "DROPPING YOU TO A ROOT SHELL INTO ISO ENVIRONMENT" - echo -e "INSTALL APPS & TARGETS & DES YOU WANT INSIDE ISO" - echo -e "EXIT WHEN YOU'RE DONE AND I'LL CREATE THE IMAGE" - echo -e "" - chroot "$isosyncdirx64" su - "$isouser" -} - -# x86 specific iso functions - -isostartx86 () { - mount -o bind packages "$isosyncdirx86"/usr/portage/packages - mount -t proc proc "$isosyncdirx86"/proc - mount -t sysfs sysfs "$isosyncdirx86"/sys - mount -t devtmpfs -o relatime,size=3055348k,nr_inodes=763837,mode=755 none "$isosyncdirx86"/dev - mount -t devpts -o nosuid,noexec,relatime,gid=5,mode=620 none "$isosyncdirx86"/dev/pts - mount -t tmpfs -o nosuid,nodev none "$isosyncdirx86"/dev/shm - mount -t tmpfs -o nosuid,nodev,noexec none "$isosyncdirx86"/tmp -} - -isostopx86 () { - umount -l "$isosyncdirx86"/proc > /dev/null 2>&1 - umount -l "$isosyncdirx86"/sys > /dev/null 2>&1 - umount -l "$isosyncdirx86"/dev/pts > /dev/null 2>&1 - umount -l "$isosyncdirx86"/dev/shm > /dev/null 2>&1 - umount -l "$isosyncdirx86"/dev > /dev/null 2>&1 - umount -l "$isosyncdirx86"/tmp > /dev/null 2>&1 - umount -l "$isosyncdirx86"/usr/portage/packages > /dev/null 2>&1 -} - -isooverlaysx86 () { - echo "injecting "$releasename" "$releasetarget" overlay into x86 environment" - sleep 1 - linux32 chroot "$isosyncdirx86" su - "$isouser" -c "$isomainoverlay" -} - -isobuildsystemx86 () { - echo "injecting "$releasename" x86 buildsystem && setting up portage" - echo "" - sleep 1 - for cmd in "$isobuildgit" "$isoportageconfig" "$isomakeconfx86" "$isoprofile" "$isoenvupdate" ; do - linux32 chroot "$isosyncdirx86" su - "$isouser" -c "$cmd" - done -} - -isoramfsx86 () { - linux32 chroot "$isosyncdirx86" su - "$isouser" -c "$isodracutcmd" -} - -systemramfsx86 () { - linux32 chroot "$isosyncdirx86" su - "$isouser" -c "dracutcmdx86" -} - -isochrootx86 () { - echo -e "" - echo -e "DROPPING YOU TO A ROOT SHELL INTO ISO ENVIRONMENT" - echo -e "INSTALL APPS & TARGETS & DES YOU WANT INSIDE ISO" - echo -e "EXIT WHEN YOU'RE DONE AND I'LL CREATE THE IMAGE" - echo -e "" - linux32 chroot "$isosyncdirx86" su - "$isouser" -} diff --git a/usermod b/usermod deleted file mode 100755 index a47193a..0000000 --- a/usermod +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env bash - -fetch_portage_tree() { - if [[ ! -d /usr/portage/.git ]] ; then - cd /usr/portage && git init > /dev/null 2>&1 - git remote add origin git://anongit.gentoo.org/repo/gentoo.git - git config core.sparsecheckout true - echo "profiles/*" >> .git/info/sparse-checkout - echo "metadata/*" >> .git/info/sparse-checkout - echo "eclass/*" >> .git/info/sparse-checkout - echo ".gitignore" >> .git/info/sparse-checkout - git pull --depth=1 origin master > /dev/null 2>&1 - git branch -u origin/master master > /dev/null 2>&1 - rm -rf /usr/portage/profiles/updates > /dev/null 2>&1 - fi -} - -main() { - fetch_portage_tree -} - -main @@ -1,138 +0,0 @@ -#!/usr/bin/env bash -# Say Hello to Vasile, a modular script to build Kogaion/Argent Linux packages && ISO images using a clean squashfs + overlayfs chroot -# Main author : Ghiunhan Mamut (aka V3n3RiX) @ RogentOS Development Group -# Dependencies : kernel built with squashfs + overlayfs + loopback support && sys-fs/grub:2 && sys-fs/squashfs-tools && dev-libs/libisoburn && sys-fs/mtools -# - -# generic variables - -echo -e "" -echo -e "Choose the system core you want me to use" -echo -e "" -OPTIONS="Kogaion Argent" -select systemcore in $OPTIONS; do - if [[ "$systemcore" = "Kogaion" ]] ; then - echo -e "" - echo -e "Adjusting variables for Kogaion Desktop 3" - export local releasename="kogaion" - export local releasetarget="desktop" - export local releaseversion="3" - export local kernelver="3.14.50-"$releasename"" - break - elif [[ "$systemcore" = "Argent" ]] ; then - echo -e "" - echo -e "Adjusting variables for Argent Server 2" - export local releasename="argent" - export local releasetarget="server" - export local releaseversion="2" - export local kernelver="3.14.51-"$releasename"" - break - else - echo -e "" - echo -e "Wrong choice, bye bye" - exit 1 - fi -done - -# arch independent build variables - -export local rodir="rodir" -export local rwdir="rwdir" -export local workdir="workdir" # only needed for overlayfs on kernel greather than 3.18 -export local overlaydir="overlaydir" -export local chrootuser="root" -export local chroottarget="${@:2}" -export local chrootbuildtarget="emerge -kav "$chroottarget"" -export local chroottree="/usr/share/vasile/devmod" -export local chrootmainoverlay="layman -f -a "$releasename"-"$releasetarget" -o https://gitlab.com/"$releasename"/"$releasename"-"$releasetarget"/raw/master/overlay.xml" -export local chrootbuildgit="cd /opt && git clone https://gitlab.com/"$releasename"/"$releasename"-build.git" -export local chrootportageconfig="ln -sf /opt/"$releasename"-build/conf/intel/portage /etc/portage" -export local chrootenvupdate="/usr/sbin/env-update && . /etc/profile" -export local chrootprofile="eselect profile set 1" - -# arch independent iso variables - -export local bootcorepath="/tmp/bootcore" -export local bootcorefiles="/tmp/bootcore/cdroot/boot" -export local isouser="root" -export local isotarget="${@:2}" -export local isoinstalltarget="emerge -Kav "$isotarget"" -export local isomainoverlay="layman -f -a "$releasename"-"$releasetarget" -o https://gitlab.com/"$releasename"/"$releasename"-"$releasetarget"/raw/master/overlay.xml" -export local isobuildgit="cd /opt && git clone https://gitlab.com/"$releasename"/"$releasename"-build.git" -export local isoportageconfig="ln -sf /opt/"$releasename"-build/conf/intel/portage /etc/portage" -export local isoenvupdate="/usr/sbin/env-update && . /etc/profile" -export local isoprofile="eselect profile set 1" -export local isodracutcmd="dracut -N -a dmsquash-live -a pollcdrom -o systemd -o systemd-initrd -o systemd-networkd -o dracut-systemd --force --kver "$kernelver"" -export local isodracutrd="initramfs-"$kernelver".img" -export local isoeficmd="grub2-mkimage -d /usr/lib64/grub/x86_64-efi -o bootx64.efi -O x86_64-efi ext2 fat udf btrfs ntfs reiserfs xfs hfsplus lvm ata part_msdos part_gpt part_apple bsd search_fs_uuid normal chain iso9660 configfile help loadenv reboot cat search memdisk tar boot linux chain" - -# x64 specific build variables - -export local chrootx64=""$releasename"_"$releaseversion"_core_x64.squashfs" -export local chrootx64md5=""$chrootx64".md5" -export local chrootmakeconfx64="ln -sf /opt/"$releasename"-build/conf/intel/portage/make.conf.amd64-devel /etc/portage/make.conf" - -# x86 specific build variables - -export local chrootx86=""$releasename"_"$releaseversion"_core_x86.squashfs" -export local chrootx86md5=""$chrootx86".md5" -export local chrootmakeconfx86="ln -sf /opt/"$releasename"-build/conf/intel/portage/make.conf.x86-devel /etc/portage/make.conf" - -# x64 specific iso variables - -export local isomainarchx64="x86_64" -export local isomakeconfx64="ln -sf /opt/"$releasename"-build/conf/intel/portage/make.conf.amd64-user /etc/portage/make.conf" -export local isorootdirx64=""$releasename"-"$releasetarget"-"$releaseversion"-"$isomainarchx64"" -export local isokernelnamex64="kernel-genkernel-"$isomainarchx64"-"$kernelver"" -export local isostagingdirx64="/tmp/"$isorootdirx64"" -export local isosupersquashdirx64=""$isorootdirx64"/CDroot" -export local isolivesqfsdirx64=""$isosupersquashdirx64"/LiveOS" -export local isoliveosdirx64=""$isorootdirx64"/LiveOS" -export local isosyncdirx64=""$isorootdirx64"/rootfs" -export local isobootdirx64=""$isorootdirx64"/boot/grub" -export local isoefibootdirx64=""$isorootdirx64"/efi/boot" -export local dracutrdx64="initramfs-genkernel-"$isomainarchx64"-"$kernelver"" -export local dracutcmdx64="dracut -N -o systemd -o systemd-initrd -o systemd-networkd -o dracut-systemd --force --kver "$kernelver" "/boot/"$dracutrdx64""" - -# x86 specific iso variables - -export local isomainarchx86="x86" -export local isomakeconfx86="ln -sf /opt/"$releasename"-build/conf/intel/portage/make.conf.x86-user /etc/portage/make.conf" -export local isorootdirx86=""$releasename"-"$releasetarget"-"$releaseversion"-"$isomainarchx86"" -export local isokernelnamex86="kernel-genkernel-"$isomainarchx86"-"$kernelver"" -export local isostagingdirx86="/tmp/"$isorootdirx86"" -export local isosupersquashdirx86=""$isorootdirx86"/CDroot" -export local isolivesqfsdirx86=""$isosupersquashdirx86"/LiveOS" -export local isoliveosdirx86=""$isorootdirx86"/LiveOS" -export local isosyncdirx86=""$isorootdirx86"/rootfs" -export local isobootdirx86=""$isorootdirx86"/boot/grub" -export local dracutrdx86="initramfs-genkernel-"$isomainarchx86"-"$kernelver"" -export local dracutcmdx86="dracut -N -o systemd -o systemd-initrd -o systemd-networkd -o dracut-systemd --force --kver "$kernelver" "/boot/"$dracutrdx86""" - -source /usr/lib/vasile/libvasile - -case $1 in - --build64) source /usr/share/vasile/build64 - ;; - --build32) source /usr/share/vasile/build32 - ;; - --iso64) source /usr/share/vasile/iso64 - ;; - --iso32) source /usr/share/vasile/iso32 - ;; - --help) echo -e "" - echo -e "Usage: vasile [options]" - echo -e "" - echo -e "Options:" - echo -e "--build64 : build package/target in a clean x64 squashed core" - echo -e "--build32 : build package/target in a clean x86 squashed core" - echo -e "--iso64 : build x64 iso based on clean squashed core + targets" - echo -e "--iso32 : build x86 iso based on clean squashed core + targets" - echo -e "--help : display this help and exit" - echo -e "" - ;; - *) echo -e "error: no operation specified, use --help for help" - ;; -esac - -exit 0 |