56 lines
2.8 KiB
Bash
Executable file
56 lines
2.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
run_latehook() {
|
|
echo
|
|
|
|
if [[ "$abort_staging" == true ]]; then
|
|
echo '[ BLEND ] Not applying system changes made in previous boot.'
|
|
rm -rf '/new_root/.upperdir' '/new_root/.workdir'; mkdir -p '/new_root/.upperdir' '/new_root/.workdir'
|
|
fi
|
|
|
|
if [[ -d "/new_root/blend/overlay/current" ]]; then
|
|
echo '[ BLEND ] Detected old version of overlay implementation, switching.'
|
|
rm -rf /new_root/.upperdir /new_root/.workdir
|
|
mv /new_root/blend/overlay/current/usr /new_root/.upperdir
|
|
rm -rf /new_root/blend
|
|
fi
|
|
|
|
# Broken attempt at getting rollback and snapshots working.
|
|
#
|
|
# if [[ -L "/new_root/.states/rollback.squashfs" ]] && [[ -e "/new_root/.states/rollback.squashfs" ]]; then
|
|
# echo -n '[ BLEND ] Rolling back to selected state. Do __not__ power off or reboot.'
|
|
# echo
|
|
# cd /new_root
|
|
# unsquashfs /new_root/.states/rollback.squashfs && (
|
|
# for i in bin include lib lib32 share src; do
|
|
# rm -rf rm -rf /new_root/.workdir/"$i" rm -rf /new_root/.upperdir/"$i" /new_root/usr/"$i"
|
|
# mv squashfs-root/"$i" /new_root/usr
|
|
# done
|
|
# rm -rf /new_root/.workdir/varlib /new_root/.upperdir/varlib /new_root/var/lib
|
|
# mkdir -p /new_root/var/lib
|
|
# mv squashfs-root/varlib /new_root/var/varlib
|
|
# echo ' - SUCCESS '
|
|
# echo
|
|
# ); cd ..
|
|
# fi
|
|
|
|
for i in bin include lib lib32 share src; do
|
|
echo -n "[ BLEND ] Setting up /usr/${i} overlay (applying changes)."
|
|
rm -rf /new_root/.workdir/"$i"
|
|
mkdir -p /new_root/.upperdir/"$i" /new_root/.workdir/"$i" /new_root/usr/"$i" /new_root/tmp
|
|
cd /new_root/tmp; overlayfs-tools merge -l /new_root/usr/$i -u /new_root/.upperdir/$i &>/dev/null; chmod 755 ./overlay-tools-*; ./overlay-tools-* &>/dev/null; rm -f ./overlay-tools-*; cd /
|
|
mkdir -p /new_root/.upperdir/"$i"
|
|
mount -t overlay overlay -o 'lowerdir=/new_root/usr/'$i',upperdir=/new_root/.upperdir/'$i',workdir=/new_root/.workdir/'$i /new_root/usr/"$i" -o index=off
|
|
echo " - SUCCESS"
|
|
done
|
|
|
|
echo
|
|
echo -n "[ BLEND ] Setting up /var/lib overlay (applying changes)."
|
|
rm -rf /new_root/.workdir/varlib
|
|
mkdir -p /new_root/.upperdir/varlib /new_root/.workdir/varlib /new_root/var/lib /new_root/tmp
|
|
cd /new_root/tmp; overlayfs-tools merge -l /new_root/var/lib -u /new_root/.upperdir/varlib &>/dev/null; chmod 755 ./overlay-tools-*; ./overlay-tools-* &>/dev/null; rm -f ./overlay-tools-*; cd /
|
|
mkdir -p /new_root/.upperdir/varlib
|
|
mount -t overlay overlay -o 'lowerdir=/new_root/var/lib,upperdir=/new_root/.upperdir/varlib,workdir=/new_root/.workdir/varlib' /new_root/var/lib -o index=off
|
|
echo ' - SUCCESS'
|
|
echo
|
|
}
|