Add changes to create image in chroot
parent
59577c48af
commit
606d8b2eb3
71
builder.sh
71
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 \
|
||||
|
|
Loading…
Reference in New Issue