Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- #
- # Launcher for 'portable' Iron browser
- #
- HERE="$(dirname "$(readlink -f "$0")")"
- IRON_DIR="${HERE}/iron32"
- SFS_Target=/initrd/mnt/tmpfs/Iron-portable32.sfs
- if [ ls -A iron32 ]; then
- echo "Directory iron32 already mounted" >&2
- else
- if [ ! -d /initrd/mnt/tmpfs/iron32-profile/PROFILE ]; then
- mkdir -p /initrd/mnt/tmpfs/iron32-profile/PROFILE/
- cp -rf iron32-dir/PROFILE/ /initrd/mnt/tmpfs/iron32-profile/
- fi
- if [ ! -e /initrd/mnt/tmpfs/Iron-portable32.sfs ]; then
- cp Iron-portable32.sfs "$SFS_Target"
- fi
- append_mnt_id_awk='
- function get_mnt_id(mnt_pt,loop){
- if (length(mnt_pt) > 0 && length(loop)>0){
- cmd="cat /proc/self/mountinfo | sort | grep '" loop "' | grep " mnt_pt " | head -n 1"
- } else if (length(mnt_pt) > 0){
- cmd="cat /proc/self/mountinfo | sort | grep '" mnt_pt "' | head -n 1"
- } else if (length(loop)>0){
- cmd="cat /proc/self/mountinfo | sort | grep '" loop "' | head -n 1"
- }
- while ((cmd | getline )){
- mnt_id=$1
- break
- }
- close(cmd)
- return mnt_id
- }
- {
- mnt_pt=$1
- loop=$2
- mnt_id=get_mnt_id(mnt_pt,loop)
- print mnt_id "|" mnt_pt "|" loop
- }'
- loop=$(losetup -a | grep /initrd/mnt/tmpfs/Iron-portable32.sfs | sed "s/:.*$//" )
- if [ ! -z "$loop" ]; then #
- sfs_MP="$(findmnt -o TARGET,SOURCE -D -n | grep $loop\$ | awk "$append_mnt_id_awk" | sort -t '|' -k1 | cut -d'|' -f2 | head -n 1)"
- fi
- if [ -z "$sfs_MP" ]; then
- mkdir -p /initrd/mnt/tmpfs/Iron-portable32
- sfs_MP=/initrd/mnt/tmpfs/Iron-portable32
- fi
- mkdir -p "$sfs_MP"
- if [ ! "`ls -A "$sfs_MP"`" ]; then
- mount -r -t squashfs "$SFS_Target" "$sfs_MP"
- fi
- BRANCHES=/initrd/mnt/tmpfs/iron32-profile:"$sfs_MP"
- mkdir -p "$IRON_DIR"
- mount -t aufs -o br="$BRANCHES" aufs "$IRON_DIR"
- fi
- #
- "$IRON_DIR/iron-pup" "$@"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement