diff --git a/builder.sh b/builder.sh index f6183ed..ff1a81a 100755 --- a/builder.sh +++ b/builder.sh @@ -3,14 +3,14 @@ set -x set -e PASSWD_FILE=/home/narenas/passwd -DIR=/tmp/ubuntu_scratch +DIR=/ubuntu_scratch CHROOT_DIR=$DIR/chroot UBUNTU_CHROOT_DIR=$DIR/ubuntu_chroot DIST=noble VARIANT=minbase CLEAN=${CLEAN:-1} CLEAN_CHROOT=${CLEAN_CHROOT:-1} -OUTPUT_DIR=/media/sf_Downloads/ +OUTPUT_DIR=/root IMAGE_DIR=$DIR/image DEBOOT_STRAP_URL=http://mirror.raiolanetworks.com/ubuntu/ SUDO_PASSWD=${SUDO_PASSWD:-$(cat $PASSWD_FILE)} @@ -58,15 +58,15 @@ function deploy_script_in_chroot() { local CHROOT=$1 local SCRIPT=$2 local DESTDIR=$3 - exec_as_sudo mkdir -p $CHROOT/$DESTDIR - exec_as_sudo cp $SCRIPT $CHROOT/$DESTDIR - exec_as_sudo chmod +x $CHROOT/$DESTDIR/$SCRIPT + mkdir -p $CHROOT/$DESTDIR + cp $SCRIPT $CHROOT/$DESTDIR + chmod +x $CHROOT/$DESTDIR/$SCRIPT } function deploy_installer() { - exec_as_sudo mkdir -p $CHROOT_DIR/usr/local/bin - exec_as_sudo cp openGnsys-installer.sh $CHROOT_DIR/usr/local/bin - exec_as_sudo chmod +x $CHROOT_DIR/usr/local/bin/openGnsys-installer.sh + mkdir -p $CHROOT_DIR/usr/local/bin + cp openGnsys-installer.sh $CHROOT_DIR/usr/local/bin + chmod +x $CHROOT_DIR/usr/local/bin/openGnsys-installer.sh } if [ -d $CHROOT_DIR ] && [ $CLEAN -eq 1 ]; @@ -103,65 +103,66 @@ chmod +x $CHROOT_DIR/chroot_setup.sh # # Deploy boot strap if [ $CLEAN_CHROOT -eq 1 ]; then - exec_as_sudo debootstrap --arch=amd64 --variant=$VARIANT $DIST $CHROOT_DIR $DEBOOT_STRAP_URL + debootstrap --arch=amd64 --variant=$VARIANT $DIST $CHROOT_DIR $DEBOOT_STRAP_URL fi -exec_as_sudo mkdir -p $CHROOT_DIR/etc/calamares/modules/ -exec_as_sudo cp calamares/settings.conf $CHROOT_DIR/etc/calamares/ -exec_as_sudo cp calamares/modules/*.conf $CHROOT_DIR/etc/calamares/modules/ -exec_as_sudo mkdir -p $CHROOT_DIR/usr/share/opengnsys/images -exec_as_sudo cp art/* $CHROOT_DIR/usr/share/opengnsys/images/ + +mkdir -p $CHROOT_DIR/etc/calamares/modules/ +cp calamares/settings.conf $CHROOT_DIR/etc/calamares/ +cp calamares/modules/*.conf $CHROOT_DIR/etc/calamares/modules/ +mkdir -p $CHROOT_DIR/usr/share/opengnsys/images +cp art/* $CHROOT_DIR/usr/share/opengnsys/images/ deploy_script_in_chroot $CHROOT_DIR openGnsys-installer.sh /usr/local/bin/ # # Create mount points -exec_as_sudo mount --bind /dev/ $CHROOT_DIR/dev -exec_as_sudo mount --bind /run/ $CHROOT_DIR/run +mount --bind /dev/ $CHROOT_DIR/dev +mount --bind /run/ $CHROOT_DIR/run # Execute chroot_setup.sh -exec_as_sudo_in_chroot $CHROOT_DIR /chroot_setup.sh -exec_as_sudo cp conf/pcmanfm.conf $CHROOT_DIR/etc/xdg/pcmanfm/default/pcmanfm.conf +chroot $CHROOT_DIR /chroot_setup.sh +cp conf/pcmanfm.conf $CHROOT_DIR/etc/xdg/pcmanfm/default/pcmanfm.conf # Clean up the environment -umount_in_host $CHROOT_DIR/dev -umount_in_host $CHROOT_DIR/run +umount $CHROOT_DIR/dev +umount $CHROOT_DIR/run # Compress the chroot deploy mkdir -p $IMAGE_DIR -exec_as_sudo mv $CHROOT_DIR/image $DIR/ +mv $CHROOT_DIR/image $DIR/ # Create squashfs imagesudo -exec_as_sudo mksquashfs $CHROOT_DIR $IMAGE_DIR/casper/filesystem.squashfs \ +mksquashfs $CHROOT_DIR $IMAGE_DIR/casper/filesystem.squashfs \ -noappend -no-duplicates -no-recovery \ -wildcards \ -comp xz -b 1M -Xdict-size 100% \ -e "var/cache/apt/archives/*" -e "root/*" -e "root/.*" -e "tmp/*" -e "tmp/.*" -e "swapfile" -printf $(exec_as_sudo du -sx --block-size=1 $CHROOT_DIR | cut -f1) | sudo tee $IMAGE_DIR/casper/filesystem.size +printf $(du -sx --block-size=1 $CHROOT_DIR | cut -f1) | tee $IMAGE_DIR/casper/filesystem.size # Deboot strap real Ubuntu image -exec_as_sudo debootstrap --arch=amd64 --variant=minbase noble $UBUNTU_CHROOT_DIR $DEBOOT_STRAP_URL -exec_as_sudo cp setup_chroot_ubuntu.sh $UBUNTU_CHROOT_DIR -exec_as_sudo_in_chroot $UBUNTU_CHROOT_DIR chmod +x /setup_chroot_ubuntu.sh -exec_as_sudo cp buildlib.sh $UBUNTU_CHROOT_DIR +debootstrap --arch=amd64 --variant=minbase noble $UBUNTU_CHROOT_DIR $DEBOOT_STRAP_URL +cp setup_chroot_ubuntu.sh $UBUNTU_CHROOT_DIR +in_chroot $UBUNTU_CHROOT_DIR chmod +x /setup_chroot_ubuntu.sh +cp buildlib.sh $UBUNTU_CHROOT_DIR deploy_script_in_chroot $UBUNTU_CHROOT_DIR component-installer.sh /opengnsys-installer/ -exec_as_sudo cp pat.txt $UBUNTU_CHROOT_DIR/opengnsys-installer/ +cp pat.txt $UBUNTU_CHROOT_DIR/opengnsys-installer/ # Setup the chroot for ubuntu -exec_as_sudo mount --bind /dev/ $UBUNTU_CHROOT_DIR/dev -exec_as_sudo mount --bind /run/ $UBUNTU_CHROOT_DIR/run +mount --bind /dev/ $UBUNTU_CHROOT_DIR/dev +mount --bind /run/ $UBUNTU_CHROOT_DIR/run -exec_as_sudo_in_chroot $UBUNTU_CHROOT_DIR /setup_chroot_ubuntu.sh +chroot $UBUNTU_CHROOT_DIR /setup_chroot_ubuntu.sh # Clean up the environment -umount_in_host $UBUNTU_CHROOT_DIR/dev -umount_in_host $UBUNTU_CHROOT_DIR/run +umount $UBUNTU_CHROOT_DIR/dev +umount $UBUNTU_CHROOT_DIR/run # Compress the ububtu chroot -exec_as_sudo mksquashfs $UBUNTU_CHROOT_DIR $IMAGE_DIR/casper/filesystem.ubuntu.sqfs \ +mksquashfs $UBUNTU_CHROOT_DIR $IMAGE_DIR/casper/filesystem.ubuntu.sqfs \ -noappend -no-duplicates -no-recovery \ -wildcards \ -comp xz -b 1M -Xdict-size 100% \ @@ -169,7 +170,7 @@ exec_as_sudo mksquashfs $UBUNTU_CHROOT_DIR $IMAGE_DIR/casper/filesystem.ubuntu.s # Create ISO image cd $IMAGE_DIR && \ -exec_as_sudo xorriso \ +xorriso \ -as mkisofs \ -iso-level 3 \ -full-iso9660-filenames \