#!/bin/sh
#181212 sfs
ROOT_MNT="/new_root"
OFS_DIRS="/run/archroot"
OFS_HOME="${OFS_DIRS}/root_ro"
OFS_COWSPACE="${OFS_DIRS}/cowspace"
run_hook() {
    [ "${ofs}" ] || return
    if [ ! "${rootdir}" ]; then
        err " rootdir= not defined"
        launch_interactive_shell
    fi
    export aufs="${ofs}"
    mount_handler="ofs_mount_handler"
    export mount_handler
}

ofs_mount_handler(){
    mkdir -p "${OFS_HOME}"
    default_mount_handler "${OFS_HOME}" && 
    	OFS_LOWER="${OFS_HOME}/${rootdir}"

	if [ "${aufs}" != "y" ]; then 
	    OFS_COWSPACE="${OFS_LOWER}-${aufs}"
	    mkdir -p ${OFS_COWSPACE}
	else
	    mkdir -p ${OFS_COWSPACE}
	    mount -t tmpfs cowspace ${OFS_COWSPACE}
	fi

XX1(){
#	OFS_UPPER="${OFS_COWSPACE}/upper"
	OFS_UPPER="${OFS_COWSPACE}"
	[ -d ${OFS_UPPER} ] || mkdir -p ${OFS_UPPER}
	OFS_WORK="${OFS_DIRS}/work"
	[ -d ${OFS_WORK} ] || mkdir -p ${OFS_WORK}
}
	OFS_UPPER="${OFS_COWSPACE}/upper"
	[ -d ${OFS_UPPER} ] || mkdir -p ${OFS_UPPER}
	OFS_WORK="${OFS_COWSPACE}/work"
	[ -d ${OFS_WORK} ] || mkdir -p ${OFS_WORK}


	mount -t overlay -o lowerdir=${OFS_LOWER},upperdir=${OFS_UPPER},workdir=${OFS_WORK} rootfs ${ROOT_MNT}

     if [ $? != 0 ]; then
	err "$aufs : mount -t overlay -o lowerdir=${OFS_LOWER},upperdir=${OFS_UPPER},workdir=${OFS_WORK} rootfs ${ROOT_MNT} "
        launch_interactive_shell
#        return
     fi
#porteus initrd like
LNK(){
	    rmdir "${2}" 2>/dev/null
	    [ -L "${2}" ] && rm "${2}"
	    mkdir -p "`dirname "$2"`"
	    [ -d "$1" ] && ln -sf "${1}" "${2}"
}
newroot="/new_root"
LNK "${OFS_HOME}" "${newroot}/mnt/home"
LNK "${OFS_COWSPACE}/upper" "${newroot}/mnt/live/memory/changes"

}