xentaur

diff files/xenomips-init @ 12:54c51dea92a2

rerunning dynamips and vtysh after exit
author igor
date Fri Sep 14 12:04:44 2007 +0300 (2007-09-14)
parents
children 61476759b5f1
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/files/xenomips-init	Fri Sep 14 12:04:44 2007 +0300
     1.3 @@ -0,0 +1,47 @@
     1.4 +#!/bin/sh
     1.5 +
     1.6 +bind_mounts () {
     1.7 +  # set defaults
     1.8 +  test -z "$tmpfs_dir" && tmpfs_dir=/var/lib/xenomips
     1.9 +  test -z "$rw_dirs" \
    1.10 +  && rw_dirs="/var/cache/man /var/lock /var/run /var/log /var/spool /var/tmp /tmp /var/lib/urandom /var/lib/dhcp3 /tmp"
    1.11 +  test -z "$copy_dirs" && copy_dirs=""
    1.12 +  test -z "$temp_copy_dirs" && temp_copy_dirs="/var/cache/debconf"
    1.13 +  test -z "$bindfiles" && bindfiles=""
    1.14 +  mount -t tmpfs -o mode=0755 tmpfs $tmpfs_dir
    1.15 +  # preserve directory structure
    1.16 +  for d in $rw_dirs ; do
    1.17 +    if [ -d "$d" ]; then
    1.18 +      cd $tmpfs_dir
    1.19 +      tar --no-recursion -cpf - $(find $d -type d 2> /dev/null) 2> /dev/null | tar xpf -
    1.20 +      mount --bind $tmpfs_dir/$d $d
    1.21 +    else
    1.22 +      echo "WARNING: $d does not exist"
    1.23 +    fi
    1.24 +  done  
    1.25 +  # copy contents into tmpfs
    1.26 +  for d in $copy_dirs $temp_copy_dirs; do
    1.27 +    if [ -d "$d" ]; then
    1.28 +      cd $tmpfs_dir
    1.29 +      tar -cpf - $d 2> /dev/null | tar xpf -
    1.30 +      mount --bind $tmpfs_dir/$d $d
    1.31 +    else
    1.32 +      echo "WARNING: $d does not exist"
    1.33 +    fi
    1.34 +  done
    1.35 +  # mount one file on top of another
    1.36 +  for f in $bindfiles ; do
    1.37 +    if [ -e "$f" ]; then
    1.38 +      mkdir -p "$(dirname $tmpfs_dir/$f)"
    1.39 +      cp $f $tmpfs_dir/$f
    1.40 +      mount --bind $tmpfs_dir/$f $f
    1.41 +    else
    1.42 +      echo "WARNING: $f does not exist"
    1.43 +    fi
    1.44 +  done
    1.45 +  touch /var/log/dmesg
    1.46 +}
    1.47 +
    1.48 +
    1.49 +bind_mounts
    1.50 +