#!/sbin/sh exec > /tmp/postmarketos/pmos.log 2>&1 set -ex export CHROOT='/tmp/postmarketos/chroot' # Extract chroot unzip -o "$ZIP" chroot/* -d /tmp/postmarketos # shellcheck source=/dev/null . "$CHROOT"/install_options if [ "$FDE" = 'true' ] then # Install password setting script { echo '#!/sbin/sh' echo "chroot $CHROOT /bin/pmos_setpw" } > /sbin/pmos_setpw chmod 755 /sbin/pmos_setpw fi # Mount the logfile and pmos.zip so we can access it inside the chroot for file in "pmos.log" "pmos.zip" do { umount "$CHROOT"/"$file" ; rm "$CHROOT"/"$file" ; } || : touch "$CHROOT"/"$file" done mount --bind /tmp/postmarketos/pmos.log "$CHROOT"/pmos.log mount --bind "$ZIP" "$CHROOT"/pmos.zip # Create copy of fstab file provided by the recovery cp /etc/recovery.fstab "$CHROOT"/recovery.fstab || { [ "$?" = '255' ] && echo 'recovery.fstab not found, continuing...' || exit "$?" ; } # Mount necessary filesystems for the chroot for mountpoint in "/dev" "/proc" "/sys" do mkdir -p "$CHROOT""$mountpoint" mount --bind "$mountpoint" "$CHROOT""$mountpoint" done # Set permissions and start the installation script chmod 755 "$CHROOT"/bin/* chmod 755 "$CHROOT"/lib/* chroot "$CHROOT" /bin/pmos_install